fclose: preserve fflush errors
[gnulib.git] / ChangeLog
1 2011-05-11  Eric Blake  <eblake@redhat.com>
2
3         fclose: preserve fflush errors
4         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
5         Reported by Jim Meyering.
6
7         bootstrap: support a prereq of 'rpcgen -' on RHEL5
8         * build-aux/bootstrap (check_versions): When no specific version
9         is required, merely check that the app produces an exit status
10         that indicates its existence.
11
12         maint.mk: drop redundant check
13         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
14         the same but better.
15
16 2011-05-11  Bruno Haible  <bruno@clisp.org>
17
18         fclose: Fix possible link error.
19         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
20         unregister_shadow_fd. Improve comments.
21         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
22         Eric Blake.
23
24 2011-05-11  Jim Meyering  <meyering@redhat.com>
25
26         maint.mk: improve "can not" detection and generalize rule name
27         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
28         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
29         Use the same technique as in sc_prohibit_doubled_word, so that
30         we recognize "can not" also when the words are separated by a newline.
31         Suggested by Eric Blake.
32         (perl_filename_lineno_text_): Define.  Factored out of...
33         (prohibit_doubled_word_): ...here.  Use the new definition.
34         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
35         (prohibit_undesirable_word_seq_RE_): New overridable variable.
36         (ignore_undesirable_word_sequence_RE_): New overridable variable.
37
38 2011-05-10  Eric Blake  <eblake@redhat.com>
39
40         fclose: avoid double close race when possible
41         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
42         all but WINDOWS_SOCKETS.
43
44 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
45
46         openat: correct new comment
47         * lib/openat-proc.c (openat_proc_name): Correct the comment.
48
49 2011-05-10  Jim Meyering  <meyering@redhat.com>
50
51         openat: add comments
52         * lib/openat-proc.c (openat_proc_name): Add comments,
53         mostly from Eric Blake.
54
55 2011-05-09  Eric Blake  <eblake@redhat.com>
56
57         openat: reduce syscalls in first probe of /proc
58         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
59         be a directory.  Simplify the probe for .. bugs.
60         * modules/openat (Depends-on): Drop same-inode.
61         Reported by Bastien ROUCARIES.
62
63 2011-05-09  Jim Meyering  <meyering@redhat.com>
64
65         maint.mk: change semantics/name of tight_scope variables
66         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
67         Rename variables to align with semantics that make them more useful.
68
69         maint.mk: tweak new rule's name not to impinge
70         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
71         (sc_tight_scope): Use new rule name rather than $@-0.
72
73         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
74         * top/maint.mk (sc_tight_scope): New rule.
75         (sc_tight_scope-0): New rule, ifdef'd out.
76         (_gl_TS_dir): Default.
77         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
78         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
79
80 2011-05-09  Simon Josefsson  <simon@josefsson.org>
81
82         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
83         Haible <bruno@clisp.org>.
84
85 2011-05-08  Bruno Haible  <bruno@clisp.org>
86
87         Comments.
88         * m4/isnanf.m4: Add comment.
89         * m4/isnanl.m4: Likewise.
90
91 2011-05-08  Bruno Haible  <bruno@clisp.org>
92
93         glob: Remove obsolete macro.
94         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
95
96 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
97
98         intprops: Sun C 5.11 supports __typeof__
99         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
100         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
101         which is new.
102         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
103
104         intprops: switch to usual gnulib indenting and naming
105         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
106         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
107
108         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
109
110 2011-05-08  Jim Meyering  <meyering@redhat.com>
111
112         maint.mk: suppress "Entering/Leaving directory" diag in announcement
113         * top/maint.mk (release-prep): Use make's --no-print-directory
114         option when generating the announcement.  This eliminates the
115         pesky "make[2]: Entering/Leaving directory" diagnostics in the
116         generated announcement template.
117
118 2011-05-08  Bruno Haible  <bruno@clisp.org>
119
120         tzset: Fix gettimeofday wrapper on Solaris 2.6.
121         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
122         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
123
124 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
125
126         ignore-value, verify: Omit include files from lib_SOURCES.
127         * modules/ignore-value, modules/verify (Makefile.am):
128         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
129         that leads Automake to duplicate use of am__objects_... variables
130         in Makefile.in.  See
131         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
132
133 2011-05-07  Bruno Haible  <bruno@clisp.org>
134
135         fclose: Simplify autoconf macro.
136         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
137         defined.
138
139 2011-05-07  Bruno Haible  <bruno@clisp.org>
140
141         canonicalize-lgpl: Fix autoconf macro ordering bug.
142         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
143         gl_STDLIB_H_DEFAULTS.
144
145 2011-05-06  Eric Blake  <eblake@redhat.com>
146
147         maintainer-makefile: make sc_po_check easier to tune
148         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
149         to probe for strings, such as an alternate location for gnulib.
150
151         fclose: guarantee behavior on seekable stdin
152         * modules/fclose (Depends-on): Add fflush.
153         * doc/posix-functions/fclose.texi (fclose): Document this.
154         * tests/test-fclose.c (main): Make test for this unconditional.
155
156 2011-05-06  Bruno Haible  <bruno@clisp.org>
157
158         fflush, fpurge: Relicense under LGPLv2+.
159         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
160         * modules/fpurge (License): Likewise.
161         With permission from Eric Blake and Jim Meyering.
162         Suggested by Eric Blake.
163
164 2011-05-06  Karl Berry  <karl@gnu.org>
165
166         * MODULES.html.sh (func_all_modules): remove exit.
167
168 2011-05-06  Jim Meyering  <meyering@redhat.com>
169
170         maint.mk: use info-gnu@ as the default only for a stable release
171         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
172         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
173         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
174         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
175
176 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
177
178         assert-h: new module, which supports C1X-style static_assert
179         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
180         * lib/verify.h: Revamp so that this can be copied into assert.h,
181         while retaining the ability to use it standalone as before.
182         Rename private identifiers so as not to encroach on the
183         standard C namespace, since this is now used by assert.h.
184         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
185         the old verify_true.
186         (_GL_VERIFY_TRUE): New macro, with much of the contents of
187         the old verify_true.  Use _GL_VERIFY_TYPE.
188         (_GL_VERIFY): New macro, with much of the contents of the old verify.
189         (static_assert): New macro, if _GL_STATIC_ASSERT_H
190         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
191         defined when this file is copied into the replacement assert.h.
192         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
193         and _Static_assert is not built in.
194         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
195         defined, and use the new macros mentioned above.
196         * doc/posix-headers/assert.texi: Document this.
197
198 2011-05-05  Bruno Haible  <bruno@clisp.org>
199
200         fclose, fflush: Respect rules for use of AC_LIBOBJ.
201         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
202         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
203         gl_REPLACE_FCLOSE here.
204         * modules/fflush (Depends-on): Remove fclose.
205         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
206         combination with module 'fclose'.
207
208 2011-05-05  Bruno Haible  <bruno@clisp.org>
209
210         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
211         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
212         gl_FUNC_FFLUSH.
213         (gl_FUNC_FFLUSH): Use it.
214         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
215         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
216         gl_REPLACE_FSEEKO here.
217
218 2011-05-05  Bruno Haible  <bruno@clisp.org>
219
220         tzset: Relicense under LGPL.
221         * modules/tzset (License): Change to LGPL.
222         No agreement needed; it's a no-op.
223
224         strtoimax, strtoumax: Relicense under LGPL.
225         * modules/strtoimax (License): Change to LGPL.
226         * modules/strtoumax (License): Likewise.
227         With permission from Jim Meyering, Paul Eggert:
228         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
229         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
230
231         getgroups: Relicense under LGPL.
232         * modules/getgroups (License): Change to LGPL.
233         With permission from Jim Meyering, Paul Eggert, Eric Blake:
234         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
235         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
236         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
237
238         nanosleep: Relicense under LGPL.
239         * modules/nanosleep (License): Change to LGPL.
240         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
241         Haible:
242         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
243         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
244         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
245         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
246
247         futimens: Relicense under LGPL.
248         * modules/futimens (License): Change to LGPL.
249         With permission from Eric Blake:
250         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
251
252         fflush: Relicense under LGPL.
253         * modules/fflush (License): Change to LGPL.
254         With permission from Eric Blake, Bruno Haible, Jim Meyering:
255         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
256         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
257         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
258
259         tmpfile: Relicense under LGPL.
260         * modules/tmpfile (License): Change to LGPL.
261         With permission from Ben Pfaff:
262         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
263
264         isfinite: Relicense under LGPL.
265         * modules/isfinite (License): Change to LGPL.
266         With permission from Ben Pfaff, Bruno Haible:
267         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
268         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
269
270         acosl..tanl: Relicense under LGPL.
271         * modules/acosl (License): Change to LGPL.
272         * modules/asinl (License): Likewise.
273         * modules/atanl (License): Likewise.
274         * modules/cosl (License): Likewise.
275         * modules/expl (License): Likewise.
276         * modules/logl (License): Likewise.
277         * modules/sinl (License): Likewise.
278         * modules/sqrtl (License): Likewise.
279         * modules/tanl (License): Likewise.
280         Source code originally from glibc and Paolo Bonzini. Agreements:
281         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
282         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
283
284 2011-05-05  Bruno Haible  <bruno@clisp.org>
285
286         signal: Define sighandler_t.
287         * lib/signal.in.h (sighandler_t): New type.
288         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
289         whether sighandler_t is defined.
290         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
291         * modules/signal (Depends-on): Add extensions.
292         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
293         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
294         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
295
296 2011-05-05  Eric Blake  <eblake@redhat.com>
297
298         maint: remove useless REPLACE_*_H macros
299         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
300         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
301         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
302         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
303         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
304         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
305         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
306         * m4/btowc.m4: Update callers.
307         * m4/dirfd.m4: Likewise.
308         * m4/duplocale.m4: Likewise.
309         * m4/fchdir.m4: Likewise.
310         * m4/fdopendir.m4: Likewise.
311         * m4/inet_ntop.m4: Likewise.
312         * m4/inet_pton.m4: Likewise.
313         * m4/ioctl.m4: Likewise.
314         * m4/mbrlen.m4: Likewise.
315         * m4/mbrtowc.m4: Likewise.
316         * m4/mbsinit.m4: Likewise.
317         * m4/mbsnrtowcs.m4: Likewise.
318         * m4/mbsrtowcs.m4: Likewise.
319         * m4/poll.m4: Likewise.
320         * m4/setlocale.m4: Likewise.
321         * m4/wcrtomb.m4: Likewise.
322         * m4/wcsnrtombs.m4: Likewise.
323         * m4/wcsrtombs.m4: Likewise.
324         * m4/wctob.m4: Likewise.
325         * m4/wcwidth.m4: Likewise.
326         * modules/posix_spawn: Likewise.
327         * modules/posix_spawn_file_actions_addclose: Likewise.
328         * modules/posix_spawn_file_actions_adddup2: Likewise.
329         * modules/posix_spawn_file_actions_addopen: Likewise.
330         * modules/posix_spawn_file_actions_destroy: Likewise.
331         * modules/posix_spawn_file_actions_init: Likewise.
332         * modules/posix_spawnattr_destroy: Likewise.
333         * modules/posix_spawnattr_getflags: Likewise.
334         * modules/posix_spawnattr_getpgroup: Likewise.
335         * modules/posix_spawnattr_getschedparam: Likewise.
336         * modules/posix_spawnattr_getschedpolicy: Likewise.
337         * modules/posix_spawnattr_getsigdefault: Likewise.
338         * modules/posix_spawnattr_getsigmask: Likewise.
339         * modules/posix_spawnattr_init: Likewise.
340         * modules/posix_spawnattr_setflags: Likewise.
341         * modules/posix_spawnattr_setpgroup: Likewise.
342         * modules/posix_spawnattr_setschedparam: Likewise.
343         * modules/posix_spawnattr_setschedpolicy: Likewise.
344         * modules/posix_spawnattr_setsigdefault: Likewise.
345         * modules/posix_spawnattr_setsigmask: Likewise.
346         * modules/posix_spawnp: Likewise.
347
348 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
349
350         Add option to do-release-commit-and-tag to specify branch.
351         * build-aux/do-release-commit-and-tag: Add --branch.
352
353 2011-05-03  Bruno Haible  <bruno@clisp.org>
354
355         Avoid unnecessary compilation units, through conditional dependencies.
356         * modules/accept (Depends-on): Add conditions to the dependencies.
357         * modules/acosl (Depends-on): Likewise.
358         * modules/argz (Depends-on): Likewise.
359         * modules/asinl (Depends-on): Likewise.
360         * modules/atanl (Depends-on): Likewise.
361         * modules/atoll (Depends-on): Likewise.
362         * modules/bind (Depends-on): Likewise.
363         * modules/btowc (Depends-on): Likewise.
364         * modules/canonicalize-lgpl (Depends-on): Likewise.
365         * modules/ceil (Depends-on): Likewise.
366         * modules/ceilf (Depends-on): Likewise.
367         * modules/ceill (Depends-on): Likewise.
368         * modules/chdir-long (Depends-on): Likewise.
369         * modules/chown (Depends-on): Likewise.
370         * modules/close (Depends-on): Likewise.
371         * modules/connect (Depends-on): Likewise.
372         * modules/cosl (Depends-on): Likewise.
373         * modules/dirfd (Depends-on): Likewise.
374         * modules/dprintf (Depends-on): Likewise.
375         * modules/dprintf-posix (Depends-on): Likewise.
376         * modules/error (Depends-on): Likewise.
377         * modules/euidaccess (Depends-on): Likewise.
378         * modules/expl (Depends-on): Likewise.
379         * modules/faccessat (Depends-on): Likewise.
380         * modules/fchdir (Depends-on): Likewise.
381         * modules/fclose (Depends-on): Likewise.
382         * modules/fcntl (Depends-on): Likewise.
383         * modules/fdopendir (Depends-on): Likewise.
384         * modules/fflush (Depends-on): Likewise.
385         * modules/floor (Depends-on): Likewise.
386         * modules/floorf (Depends-on): Likewise.
387         * modules/floorl (Depends-on): Likewise.
388         * modules/fnmatch (Depends-on): Likewise.
389         * modules/fopen (Depends-on): Likewise.
390         * modules/fprintf-posix (Depends-on): Likewise.
391         * modules/frexp (Depends-on): Likewise.
392         * modules/frexp-nolibm (Depends-on): Likewise.
393         * modules/frexpl (Depends-on): Likewise.
394         * modules/frexpl-nolibm (Depends-on): Likewise.
395         * modules/fseek (Depends-on): Likewise.
396         * modules/fsusage (Depends-on): Likewise.
397         * modules/ftell (Depends-on): Likewise.
398         * modules/ftello (Depends-on): Likewise.
399         * modules/futimens (Depends-on): Likewise.
400         * modules/getcwd (Depends-on): Likewise.
401         * modules/getcwd-lgpl (Depends-on): Likewise.
402         * modules/getdelim (Depends-on): Likewise.
403         * modules/getdomainname (Depends-on): Likewise.
404         * modules/getgroups (Depends-on): Likewise.
405         * modules/gethostname (Depends-on): Likewise.
406         * modules/getline (Depends-on): Likewise.
407         * modules/getlogin_r (Depends-on): Likewise.
408         * modules/getopt-posix (Depends-on): Likewise.
409         * modules/getpeername (Depends-on): Likewise.
410         * modules/getsockname (Depends-on): Likewise.
411         * modules/getsockopt (Depends-on): Likewise.
412         * modules/getsubopt (Depends-on): Likewise.
413         * modules/getusershell (Depends-on): Likewise.
414         * modules/glob (Depends-on): Likewise.
415         * modules/grantpt (Depends-on): Likewise.
416         * modules/iconv_open (Depends-on): Likewise.
417         * modules/iconv_open-utf (Depends-on): Likewise.
418         * modules/inet_ntop (Depends-on): Likewise.
419         * modules/inet_pton (Depends-on): Likewise.
420         * modules/ioctl (Depends-on): Likewise.
421         * modules/isapipe (Depends-on): Likewise.
422         * modules/isfinite (Depends-on): Likewise.
423         * modules/isinf (Depends-on): Likewise.
424         * modules/lchown (Depends-on): Likewise.
425         * modules/ldexpl (Depends-on): Likewise.
426         * modules/link (Depends-on): Likewise.
427         * modules/linkat (Depends-on): Likewise.
428         * modules/listen (Depends-on): Likewise.
429         * modules/logl (Depends-on): Likewise.
430         * modules/lstat (Depends-on): Likewise.
431         * modules/mbrlen (Depends-on): Likewise.
432         * modules/mbrtowc (Depends-on): Likewise.
433         * modules/mbsinit (Depends-on): Likewise.
434         * modules/mbsnrtowcs (Depends-on): Likewise.
435         * modules/mbsrtowcs (Depends-on): Likewise.
436         * modules/mbtowc (Depends-on): Likewise.
437         * modules/memcmp (Depends-on): Likewise.
438         * modules/mkdir (Depends-on): Likewise.
439         * modules/mkdtemp (Depends-on): Likewise.
440         * modules/mkfifo (Depends-on): Likewise.
441         * modules/mkfifoat (Depends-on): Likewise.
442         * modules/mknod (Depends-on): Likewise.
443         * modules/mkostemp (Depends-on): Likewise.
444         * modules/mkostemps (Depends-on): Likewise.
445         * modules/mkstemp (Depends-on): Likewise.
446         * modules/mkstemps (Depends-on): Likewise.
447         * modules/mktime (Depends-on): Likewise.
448         * modules/nanosleep (Depends-on): Likewise.
449         * modules/open (Depends-on): Likewise.
450         * modules/openat (Depends-on): Likewise.
451         * modules/perror (Depends-on): Likewise.
452         * modules/poll (Depends-on): Likewise.
453         * modules/popen (Depends-on): Likewise.
454         * modules/posix_spawn (Depends-on): Likewise.
455         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
456         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
457         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
458         * modules/posix_spawnp (Depends-on): Likewise.
459         * modules/pread (Depends-on): Likewise.
460         * modules/printf-posix (Depends-on): Likewise.
461         * modules/ptsname (Depends-on): Likewise.
462         * modules/putenv (Depends-on): Likewise.
463         * modules/pwrite (Depends-on): Likewise.
464         * modules/readline (Depends-on): Likewise.
465         * modules/readlink (Depends-on): Likewise.
466         * modules/readlinkat (Depends-on): Likewise.
467         * modules/recv (Depends-on): Likewise.
468         * modules/recvfrom (Depends-on): Likewise.
469         * modules/regex (Depends-on): Likewise.
470         * modules/remove (Depends-on): Likewise.
471         * modules/rename (Depends-on): Likewise.
472         * modules/renameat (Depends-on): Likewise.
473         * modules/rmdir (Depends-on): Likewise.
474         * modules/round (Depends-on): Likewise.
475         * modules/roundf (Depends-on): Likewise.
476         * modules/roundl (Depends-on): Likewise.
477         * modules/rpmatch (Depends-on): Likewise.
478         * modules/select (Depends-on): Likewise.
479         * modules/send (Depends-on): Likewise.
480         * modules/sendto (Depends-on): Likewise.
481         * modules/setenv (Depends-on): Likewise.
482         * modules/setlocale (Depends-on): Likewise.
483         * modules/setsockopt (Depends-on): Likewise.
484         * modules/shutdown (Depends-on): Likewise.
485         * modules/sigaction (Depends-on): Likewise.
486         * modules/signbit (Depends-on): Likewise.
487         * modules/sigprocmask (Depends-on): Likewise.
488         * modules/sinl (Depends-on): Likewise.
489         * modules/sleep (Depends-on): Likewise.
490         * modules/snprintf (Depends-on): Likewise.
491         * modules/snprintf-posix (Depends-on): Likewise.
492         * modules/socket (Depends-on): Likewise.
493         * modules/sprintf-posix (Depends-on): Likewise.
494         * modules/sqrtl (Depends-on): Likewise.
495         * modules/stat (Depends-on): Likewise.
496         * modules/strchrnul (Depends-on): Likewise.
497         * modules/strdup-posix (Depends-on): Likewise.
498         * modules/strerror (Depends-on): Likewise.
499         * modules/strerror_r-posix (Depends-on): Likewise.
500         * modules/strndup (Depends-on): Likewise.
501         * modules/strnlen (Depends-on): Likewise.
502         * modules/strptime (Depends-on): Likewise.
503         * modules/strsep (Depends-on): Likewise.
504         * modules/strsignal (Depends-on): Likewise.
505         * modules/strstr-simple (Depends-on): Likewise.
506         * modules/strtod (Depends-on): Likewise.
507         * modules/strtoimax (Depends-on): Likewise.
508         * modules/strtok_r (Depends-on): Likewise.
509         * modules/strtoumax (Depends-on): Likewise.
510         * modules/symlink (Depends-on): Likewise.
511         * modules/symlinkat (Depends-on): Likewise.
512         * modules/tanl (Depends-on): Likewise.
513         * modules/tcgetsid (Depends-on): Likewise.
514         * modules/tmpfile (Depends-on): Likewise.
515         * modules/trunc (Depends-on): Likewise.
516         * modules/truncf (Depends-on): Likewise.
517         * modules/truncl (Depends-on): Likewise.
518         * modules/uname (Depends-on): Likewise.
519         * modules/unlink (Depends-on): Likewise.
520         * modules/unlockpt (Depends-on): Likewise.
521         * modules/unsetenv (Depends-on): Likewise.
522         * modules/usleep (Depends-on): Likewise.
523         * modules/utimensat (Depends-on): Likewise.
524         * modules/vasprintf (Depends-on): Likewise.
525         * modules/vdprintf (Depends-on): Likewise.
526         * modules/vdprintf-posix (Depends-on): Likewise.
527         * modules/vfprintf-posix (Depends-on): Likewise.
528         * modules/vprintf-posix (Depends-on): Likewise.
529         * modules/vsnprintf (Depends-on): Likewise.
530         * modules/vsnprintf-posix (Depends-on): Likewise.
531         * modules/vsprintf-posix (Depends-on): Likewise.
532         * modules/wcrtomb (Depends-on): Likewise.
533         * modules/wcscasecmp (Depends-on): Likewise.
534         * modules/wcscspn (Depends-on): Likewise.
535         * modules/wcsdup (Depends-on): Likewise.
536         * modules/wcsncasecmp (Depends-on): Likewise.
537         * modules/wcsnrtombs (Depends-on): Likewise.
538         * modules/wcspbrk (Depends-on): Likewise.
539         * modules/wcsrtombs (Depends-on): Likewise.
540         * modules/wcsspn (Depends-on): Likewise.
541         * modules/wcsstr (Depends-on): Likewise.
542         * modules/wcstok (Depends-on): Likewise.
543         * modules/wcswidth (Depends-on): Likewise.
544         * modules/wctob (Depends-on): Likewise.
545         * modules/wctomb (Depends-on): Likewise.
546         * modules/wctype (Depends-on): Likewise.
547         * modules/wcwidth (Depends-on): Likewise.
548         * modules/write (Depends-on): Likewise.
549
550 2011-05-03  Bruno Haible  <bruno@clisp.org>
551
552         Support for conditional dependencies.
553         * doc/gnulib.texi (Module description): Document the syntax of
554         conditional dependencies.
555         * gnulib-tool: New option --conditional-dependencies.
556         (func_usage): Document it.
557         (cond_dependencies): New variable.
558         (func_get_automake_snippet_conditional,
559         func_get_automake_snippet_unconditional): New functions, extracted from
560         func_get_automake_snippet.
561         (func_get_automake_snippet): Use them.
562         (sed_first_32_chars): New variable.
563         (func_module_shellfunc_name): New function.
564         (func_module_shellvar_name): New function.
565         (func_module_conditional_name): New function.
566         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
567         func_cond_module_condition): New functions.
568         (func_modules_transitive_closure): Add support for conditional
569         dependencies.
570         (func_emit_lib_Makefile_am): For a conditional module, enclose the
571         conditional automake snippet in an automake conditional.
572         (func_emit_autoconf_snippets): Emit shell functions that contain the
573         code for conditional modules.
574         (func_import, func_create_testdir): Update specification.
575
576 2011-05-03  Eric Blake  <eblake@redhat.com>
577
578         test-getaddrinfo: report error information
579         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
580
581 2011-05-03  Jim Meyering  <meyering@redhat.com>
582
583         bootstrap: avoid build failure when $GZIP is set
584         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
585         program name.  If defined at all, it is supposed to list gzip options.
586         Reported by Alan Curry in http://debbugs.gnu.org/8609
587
588 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
589
590         readme-release: new module with release instructions
591         * modules/readme-release: New module.
592         * top/README-release: New file, from coreutils, grep, diffutils.
593         * MODULES.html.sh (Support for maintaining and releasing): Add it.
594
595 2011-05-02  Eric Blake  <eblake@redhat.com>
596
597         fflush: also replace fclose when fixing fflush
598         * modules/fflush (Depends-on): Add fclose.
599         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
600         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
601         memstreams with no backing fd.
602         * doc/posix-functions/fclose.texi (fclose): Document the use of
603         fflush module to fix the bug.
604         * tests/test-fclose.c (main): Relax test when fclose is used in
605         isolation.
606
607         fclose: add some tests
608         * modules/fclose-tests: New test module.
609         * tests/test-fclose.c: New file.
610         * doc/posix-functions/fclose.texi (fclose): Document the bug.
611
612         fclose: reduced dependencies
613         * modules/fclose (Depends-on): Switch from fflush/fseeko to
614         simpler lseek.
615         * lib/fclose.c (rpl_fclose): Likewise.
616         Reported by Simon Josefsson.
617
618         exit: drop remaining clients
619         * modules/argmatch (Depends-on): Replace exit with stdlib.
620         * modules/copy-file (Depends-on): Likewise.
621         * modules/execute (Depends-on): Likewise.
622         * modules/exitfail (Depends-on): Likewise.
623         * modules/obstack (Depends-on): Likewise.
624         * modules/pagealign_alloc (Depends-on): Likewise.
625         * modules/pipe-filter-gi (Depends-on): Likewise.
626         * modules/pipe-filter-ii (Depends-on): Likewise.
627         * modules/savewd (Depends-on): Likewise.
628         * modules/spawn-pipe (Depends-on): Likewise.
629         * modules/wait-process (Depends-on): Likewise.
630         * modules/xsetenv (Depends-on): Likewise.
631         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
632         * modules/git-merge-changelog (Depends-on): Likewise.
633         * modules/long-options (Depends-on): Likewise.
634         * modules/pt_chown (Depends-on): Likewise.
635         * modules/sysexits (Depends-on): Likewise.
636
637         freading: relax license from LGPLv3+ to LGPLv2+
638         * modules/freading (License): Relax LGPL version.
639
640 2011-05-02  Bruno Haible  <bruno@clisp.org>
641
642         fchdir: Remove unused dependencies.
643         * modules/fchdir (Depends-on): Remove include_next.
644
645 2011-05-02  Bruno Haible  <bruno@clisp.org>
646
647         gnulib-tool: Refactor.
648         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
649         from func_emit_autoconf_snippets.
650         (func_emit_autoconf_snippets): Use it.
651
652 2011-05-02  Simon Josefsson  <simon@josefsson.org>
653
654         * NEWS: Document removal of 'exit'.
655         * modules/exit: Remove file.
656
657 2011-05-01  Bruno Haible  <bruno@clisp.org>
658
659         Update DEPENDENCIES.
660         * DEPENDENCIES (gettext): Recommend the newest release.
661         Reported by Simon Josefsson.
662
663 2011-05-01  Bruno Haible  <bruno@clisp.org>
664
665         gnulib-tool: Reduce code duplication.
666         * gnulib-tool (func_emit_autoconf_snippets): New function.
667         (func_import, func_create_testdir): Use it.
668
669 2011-04-30  Eric Blake  <eblake@redhat.com>
670
671         fclose: don't fail on non-seekable input stream
672         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
673         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
674         since fflush is allowed to fail in that case.
675
676 2011-04-30  Bruno Haible  <bruno@clisp.org>
677
678         dup3: cleanup
679         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
680
681 2011-04-30  Bruno Haible  <bruno@clisp.org>
682
683         netdb: Make it work in C++ mode.
684         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
685         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
686         module.
687         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
688         gl_MODULE_INDICATOR_FOR_TESTS.
689         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
690         * modules/netdb-c++-tests: New file.
691         * tests/test-netdb-c++.cc: New file.
692
693 2011-04-30  Bruno Haible  <bruno@clisp.org>
694
695         New modules 'vfscanf', 'vscanf'.
696         * modules/vfscanf: New file.
697         * modules/vscanf: New file.
698         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
699         here.
700         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
701         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
702
703 2011-04-30  Bruno Haible  <bruno@clisp.org>
704
705         passfd: Add comments.
706         * lib/passfd.c: Add comments about platforms.
707
708 2011-04-30  Bruno Haible  <bruno@clisp.org>
709
710         sys_uio: Make <sys/uio.h> self-contained.
711         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
712         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
713
714 2011-04-30  Bruno Haible  <bruno@clisp.org>
715
716         sys_socket: Ensure 'struct iovec' definition.
717         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
718         <sys/socket.h>.
719         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
720
721 2011-04-30  Bruno Haible  <bruno@clisp.org>
722
723         sys_uio: Protect definition of 'struct iovec'.
724         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
725         it as a C struct.
726
727 2011-04-30  Bruno Haible  <bruno@clisp.org>
728
729         manywarnings: fix indentation
730         * m4/manywarnings.m4: Indent by 2 spaces consistently.
731
732 2011-04-30  Pádraig Brady <P@draigBrady.com>
733
734         manywarnings: add -Wno-missing-field-initializers if needed.
735         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
736         option if it's needed to allow initialization with { 0, }
737
738 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
739
740         announce-gen: cosmetic improvement
741         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
742
743 2011-04-29  Jim Meyering  <meyering@redhat.com>
744
745         vc-list-files: indent with spaces, not TABs
746         * build-aux/vc-list-files: Convert leading TABs to spaces,
747         to match the style of most other files in gnulib.
748
749         announce-gen: indent with spaces, not TABs
750         * build-aux/announce-gen: Convert all TABs to spaces, to match
751         the style of most other files in gnulib.
752
753 2011-04-29  Eric Blake  <eblake@redhat.com>
754
755         quotearg: avoid uninitialized variable use
756         * lib/quotearg.c (quoting_options_from_style): Initialize
757         remaining fields, and ensure that custom styles are only used via
758         quoting_options rather than quoting_style.
759
760 2011-04-29  Jim Meyering  <meyering@redhat.com>
761
762         maint.mk: remove unused VC-tag variable
763         * top/maint.mk (VC-tag): Remove unused variable.
764
765 2011-04-29  Bruno Haible  <bruno@clisp.org>
766
767         netdb: fix gai_strerror replacements
768         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
769         * modules/netdb: Substitute it.
770
771 2011-04-29  Jim Meyering  <meyering@redhat.com>
772
773         test-getcwd.c: avoid new set-but-not-used warning
774         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
775         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
776         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
777         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
778
779         test-hash.c: avoid a new shadowing warning
780         * tests/test-hash.c (main): Don't shadow "dup".
781
782 2011-04-28  Eric Blake  <eblake@redhat.com>
783
784         getaddrinfo: fix gai_strerror signature
785         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
786         and work around mingw with UNICODE defined.
787         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
788         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
789         * modules/netdb (Makefile.am): Substitute it.
790         * lib/netdb.in.h (gai_strerror): Declare replacement.
791         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
792         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
793         the fix.
794
795         getsockopt: avoid compiler warning
796         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
797         Reported by Matthias Bolte.
798
799         tests: drop unused link dependency
800         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
801         * modules/dirent-safer-tests (Makefile.am): Likewise.
802         * modules/fdopendir-tests (Makefile.am): Likewise.
803         * modules/mkfifoat-tests (Makefile.am): Likewise.
804         * modules/openat-safer-tests (Makefile.am): Likewise.
805         * modules/openat-tests (Makefile.am): Likewise.
806         * modules/readlinkat-tests (Makefile.am): Likewise.
807         * modules/symlinkat-tests (Makefile.am): Likewise.
808         * modules/linkat-tests (Makefile.am): Likewise.
809         (Depends-on): Switch to filenamecat-lgpl.
810         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
811         LIBINTL.
812         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
813         * tests/test-linkat.c (main): Don't require xalloc.
814
815         hash, mgetgroups: drop xalloc dependency
816         * lib/hash.c (includes): Adjust includes.
817         * lib/mgetgroups.c (includes): Likewise.
818         (xgetgroups): Move...
819         * lib/xgetgroups.c: ...to new file.
820         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
821         * modules/xgetgroups: New file, split from...
822         * modules/mgetgroups: ...here.
823         (Depends-on): Add xalloc-oversized.
824         * modules/hash (Depends-on): Likewise.
825         * modules/hash-tests (Depends-on): Drop xalloc.
826         (test_hash_LDADD): Drop unused library.
827         * tests/test-hash.c (main): Break xalloc dependency.
828         (includes): Drop unused include.
829
830         xalloc-oversized: new module
831         * modules/xalloc-oversized: New module.
832         * modules/xalloc (Depends-on): Add it.
833         * lib/xalloc.h (xalloc_oversized): Move...
834         * lib/xalloc-oversized.h: ...into new file.
835
836         utimecmp: drop dependency on xmalloc
837         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
838         due to memory pressure.
839         * modules/utimecmp (Depends-on): Drop xalloc.
840
841 2011-04-27  Eric Blake  <eblake@redhat.com>
842
843         getcwd: fix mingw bugs
844         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
845         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
846         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
847
848 2011-04-27  Bruno Haible  <bruno@clisp.org>
849
850         mkstemps: Ensure declaration on MacOS X 10.5.
851         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
852         * doc/glibc-functions/mkstemps.texi: Document header file problem on
853         MacOS X.
854
855 2011-04-27  Bruno Haible  <bruno@clisp.org>
856
857         mkstemp: More documentation.
858         * doc/posix-functions/mkstemp.texi: Document header file problem on
859         MacOS X.
860
861 2011-04-27  Bruno Haible  <bruno@clisp.org>
862
863         mkstemp: Tweak configure message when cross-compiling.
864         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
865         result as a guess.
866
867 2011-04-27  Bruno Haible  <bruno@clisp.org>
868
869         clean-temp: Clarify what it does.
870         * lib/clean-temp.h: Add more comments.
871         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
872         module.
873         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
874         * doc/glibc-functions/mkstemps.texi: Likewise.
875         * doc/glibc-functions/mkostemps.texi: Likewise.
876
877 2011-04-27  Eric Blake  <eblake@redhat.com>
878
879         fchdir: avoid extra chdir and fix test
880         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
881         getcwd-lgpl.
882         * lib/fchdir.c (get_name): Any absolute name will do; it does not
883         have to be canonical.
884         (canonicalize_file_name): Drop unused macro.
885         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
886
887         filenamecat-lgpl: fix licence
888         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
889         when it was first created.
890
891         linkat, renameat: add missing dependency
892         * modules/linkat (Depends-on): Require getcwd-lgpl.
893         * modules/renameat (Depends-on): Likewise.
894
895         tests: reduce dependencies
896         * tests/test-linkat.c (main): Use lighter-weight getcwd.
897         * tests/test-renameat.c (main): Likewise.
898         * modules/linkat-tests (Depends-on): Relax dependency.
899         * modules/renameat-tests (Depends-on): Likewise.
900         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
901         dependency explicit.
902
903         save-cwd: reduce default dependency
904         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
905         * lib/save-cwd.c: Update comments.
906         * NEWS: Document the semantic change.
907
908         getcwd: enhance tests
909         * tests/test-getcwd-lgpl.c: New file, taken from...
910         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
911         repeat long path stress tests from m4 probe.
912         * modules/getcwd-lgpl-tests: New module.
913         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
914         * m4/getcwd-abort-bug.m4: Update comment.
915         * m4/getcwd-path-max.m4: Likewise.
916
917         getcwd-lgpl: new module
918         * modules/getcwd-lgpl: New module.
919         * lib/getcwd-lgpl.c: New file.
920         * doc/posix-functions/getcwd.texi (getcwd): Document it.
921         * MODULES.html.sh (lacking POSIX:2008): Likewise.
922         * modules/getcwd (configure.ac): Set C witness.
923         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
924
925         getcwd: tweak comments
926         * m4/getcwd-abort-bug.m4: Fix comments.
927         * m4/getcwd-path-max.m4: Likewise.
928         * m4/getcwd.m4: Likewise.
929
930 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
931         and Eric Blake  <eblake@redhat.com>
932
933         mkstemp: replace if system version uses wrong permissions
934         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
935         read/write mode bits set in file created by mkstemp.
936         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
937
938 2011-04-27  Eric Blake  <eblake@redhat.com>
939
940         passfd: avoid compiler warning
941         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
942         Reported by Laine Stump.
943
944 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
945
946         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
947         required by the NetBSD (and perhaps other 4.4BSD derived) join.
948
949 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
950         and Eric Blake  <eblake@redhat.com>
951
952         mkstemp: mention clean-temp module
953         * lib/mkstemp.c: Add comment.
954         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
955
956 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
957
958         inttypes: also provide default values for 32-bit tests
959         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
960         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
961
962 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
963
964         strtoumax: remove dependency on strtoimax
965         This is like the strtoull change of yesterday.
966         * modules/strtoumax (Files): Add lib/strtoimax.c.
967         (Depends-on): Remove strtoimax and add verify.
968
969         inttypes-incomplete: new module
970         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
971         all but the PRI* and SCN* parts of gl_INTTYPES_H.
972         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
973         of gl_INTTYPES_H.
974         (gl_INTTYPES_H): Rewrite in terms of these new macros.
975         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
976         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
977         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
978         * modules/strtoumax, modules/xstrtol (Depends-on):
979         Depend on inttypes-incomplete, not inttypes.
980         * modules/inttypes-incomplete: New module, containing the contents
981         of the old modules/inttypes module, except that the Files: section
982         omits m4/inttypes-pri.m4, and the configure.ac section invokes
983         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
984         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
985         (Depends-on): Depend only on inttypes-incomplete.
986         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
987
988         inttypes: omit now-redundant strtoimax and strtoumax work
989         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
990         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
991
992         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
993         This supports apps that need pointers to strtoimax and strtoumax,
994         and ports to HP-UX 11.00 64.bit, which has macros that expand to
995         nonexistent functions.  See
996         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
997         et seq.
998         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
999         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
1000         a macro.
1001         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
1002
1003 2011-04-25  Simon Josefsson  <simon@josefsson.org>
1004
1005         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
1006
1007 2011-04-25  Bruno Haible  <bruno@clisp.org>
1008
1009         strtol, strtoul: Mark modules as obsolete.
1010         * modules/strtol (Status, Notice): New sections.
1011         * modules/strtoul (Status, Notice): New sections.
1012
1013 2011-04-25  Bruno Haible  <bruno@clisp.org>
1014
1015         strtod: Remove check for strtod, unless supporting old platforms.
1016         * modules/strtod-obsolete: New file.
1017         * m4/strtod-obsolete.m4: New file.
1018         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
1019         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
1020         * modules/strtod (Depends-on): Add strtod-obsolete.
1021         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
1022
1023 2011-04-25  Bruno Haible  <bruno@clisp.org>
1024
1025         strcase: Make module obsolete.
1026         * modules/strcase (Status, Notice): New sections.
1027
1028 2011-04-25  Bruno Haible  <bruno@clisp.org>
1029
1030         dup2: Remove check for dup2, unless supporting old obsolete platforms.
1031         * modules/dup2-obsolete: New file.
1032         * m4/dup2-obsolete.m4: New file.
1033         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
1034         gl_FUNC_DUP2_OBSOLETE is not also defined.
1035         * modules/dup2 (Depends-on): Add dup2-obsolete.
1036         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
1037
1038 2011-04-25  Bruno Haible  <bruno@clisp.org>
1039
1040         strnlen: Avoid memchr related link error on old obsolete platforms.
1041         * modules/memchr-obsolete: New file.
1042         * m4/memchr-obsolete.m4: New file.
1043         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
1044         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
1045         * modules/memchr (Depends-on): Add memchr-obsolete.
1046         * modules/strnlen (Depends-on): Likewise.
1047         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
1048
1049 2011-04-25  Jim Meyering  <meyering@redhat.com>
1050
1051         maint.mk: makefile_at_at_check extend and clean up
1052         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
1053         in addition to */Makefile.am.
1054         Exempt legitimate uses of @VAR@ notation, e.g.,
1055         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
1056         Remove obsolete coreutils-specific comment.
1057         Prompted by discussion here:
1058         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
1059
1060 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
1061
1062         strtoul: remove dependency on strtol
1063         This is so that 'configure' need not check for strtol merely because
1064         the application needs strtoul.
1065         * modules/strtoul (Files): Add lib/strtol.c.
1066         (Depends-on): Remove strtol.
1067
1068         strtoull: remove dependency on strtoul
1069         This is like the strtoll change.
1070         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
1071         (Depends-on): Remove strtoul.
1072
1073         strtoll: remove dependency on strtol
1074         This is so that 'configure' need not check for strtol merely because
1075         the application needs strtoll.
1076         * modules/strtoll (Files): Add lib/strtol.c.
1077         (Depends-on): Remove strtol.
1078
1079 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
1080
1081         inttypes: Move some configure check to module 'imaxdiv'.
1082         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
1083         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
1084         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
1085
1086 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
1087
1088         inttypes: Move some configure check to module 'imaxabs'.
1089         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
1090         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
1091         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
1092
1093 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
1094
1095         inttypes: Remove configure tests that are not needed since 2009-12-31.
1096         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
1097         gl_cv_header_working_inttypes_h.
1098
1099 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
1100
1101         * modules/strnlen (Depends-on): Remove memchr.
1102         The strnlen implementation doesn't need the memchr module's fixes; see
1103         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
1104
1105         strtol: remove dependency on wchar
1106         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
1107         * modules/strtol (Depends-on): Remove wchar.
1108
1109 2011-04-21  Eric Blake  <eblake@redhat.com>
1110
1111         passfd: fix test regression on Linux
1112         * modules/passfd-tests (configure.ac): Correct socketpair check.
1113
1114         passfd: speed up configure and drop unused code
1115         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
1116         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
1117         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
1118         Instead of probing at configure for unix_scm_rights_bsd44_way,
1119         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
1120         check to a struct member probe.
1121         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
1122         (sendfd, recvfd): Update preprocessor checks.
1123         * modules/passfd (Files): Reflect rename, and drop unused file.
1124         (Depends-on): Drop unused dependency.
1125
1126         passfd: allow compilation on mingw
1127         * modules/sys_socket (Depends-on): Add sys_uio.
1128         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
1129         iovec and a minimal struct msghdr.
1130         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
1131         * tests/test-sys_socket.c (main): Enhance test.
1132         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
1133         guaranteed to provide what we need.
1134         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
1135         * modules/passfd-tests (Depends-on): Add sys_wait.
1136         * tests/test-passfd.c (main): Skip test on mingw, for now.
1137         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
1138         partial 'struct msghdr' implementation.
1139
1140         sys_uio: new module
1141         * modules/sys_uio: New module.
1142         * modules/sys_uio-tests: Likewise.
1143         * lib/sys_uio.in.h: New file.
1144         * m4/sys_uio_h.m4: Likewise.
1145         * tests/test-sys_uio.c: Likewise.
1146         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
1147         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
1148
1149 2011-04-20  Jim Meyering  <meyering@redhat.com>
1150
1151         useless-if-before-free: avoid false-positive
1152         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
1153         disjunct so that it too requires a terminating ";".  Without that,
1154         this script would identify as useless one statement from gcc that
1155         was not:
1156           if (aligned_ptr)
1157             free (((void **) aligned_ptr) [-1]);
1158
1159 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
1160
1161         doc: update users.txt.
1162         * users.txt: Add barcode.
1163
1164 2011-04-19  Bruno Haible  <bruno@clisp.org>
1165
1166         ioctl: Remove link dependency on native Windows.
1167         * lib/fd-hook.h: Renamed from lib/close-hook.h.
1168         (gl_close_fn, gl_ioctl_fn): New types.
1169         (struct fd_hook): Renamed from struct close_hook. Change type of
1170         private_close_fn field. Add private_ioctl_fn field.
1171         (close_hook_fn): Add parameter for primary close method.
1172         (execute_close_hooks, execute_all_close_hooks): Likewise.
1173         (ioctl_hook_fn): New type.
1174         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
1175         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
1176         argument.
1177         (unregister_fd_hook): Renamed from unregister_close_hook.
1178         * lib/fd-hook.c: Renamed from lib/close-hook.c.
1179         Don't include <unistd.h>.
1180         (close): Remove undef.
1181         (anchor): Update.
1182         (execute_close_hooks): Add argument for primary close method.
1183         (execute_all_close_hooks): Likewise.
1184         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
1185         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
1186         argument. Allow each argument to be NULL.
1187         (unregister_fd_hook): Renamed from unregister_close_hook.
1188         * lib/close.c (rpl_close): Pass 'close' function pointer to
1189         execute_all_close_hooks.
1190         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
1191         (primary_ioctl): New function.
1192         (ioctl): Don't call ioctlsocket here. Instead, call
1193         execute_all_ioctl_hooks.
1194         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
1195         close method.
1196         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
1197         (fd_sockets_hook): Renamed from close_sockets_hook.
1198         (gl_sockets_startup, gl_sockets_cleanup): Update.
1199         * modules/fd-hook: Renamed from modules/close-hook. Update.
1200         * modules/close (Depends-on): Add fd-hook, remove close-hook.
1201         * modules/sockets (Depends-on): Likewise.
1202         * modules/ioctl (Depends-on): Add fd-hook.
1203         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
1204         GNULIB_SOCKET.
1205
1206 2011-04-19  Bruno Haible  <bruno@clisp.org>
1207
1208         Move the support of O_NONBLOCK in open() to the 'open' module.
1209         * modules/nonblocking (Depends-on): Remove 'open'.
1210         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
1211         gl_cv_have_open_O_NONBLOCK.
1212         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
1213         O_NONBLOCK support.
1214         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
1215
1216 2011-04-17  Bruno Haible  <bruno@clisp.org>
1217
1218         pipe2: Simplify code.
1219         * lib/pipe2.c (pipe2): Reduce code duplication.
1220
1221 2011-04-17  Bruno Haible  <bruno@clisp.org>
1222
1223         nonblocking: Add comment.
1224         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
1225
1226 2011-04-17  Bruno Haible  <bruno@clisp.org>
1227
1228         nonblocking: Add tests for sockets.
1229         * tests/test-nonblocking-socket.sh: New file.
1230         * tests/test-nonblocking-socket-main.c: New file.
1231         * tests/test-nonblocking-socket-child.c: New file.
1232         * tests/test-nonblocking-socket.h: New file.
1233         * tests/socket-server.h: New file.
1234         * tests/socket-client.h: New file.
1235         * modules/nonblocking-socket-tests: New file.
1236         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
1237
1238 2011-04-17  Bruno Haible  <bruno@clisp.org>
1239
1240         nonblocking: Add tests for pipes.
1241         * tests/test-nonblocking-pipe.sh: New file.
1242         * tests/test-nonblocking-pipe-main.c: New file.
1243         * tests/test-nonblocking-pipe-child.c: New file.
1244         * tests/test-nonblocking-pipe.h: New file.
1245         * tests/test-nonblocking-writer.h: New file.
1246         * tests/test-nonblocking-reader.h: New file.
1247         * tests/test-nonblocking-misc.h: New file.
1248         * modules/nonblocking-pipe-tests: New file.
1249         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
1250
1251 2011-04-16  Bruno Haible  <bruno@clisp.org>
1252
1253         gettext: Clarify the needed programmer actions.
1254         * modules/gettext (Notice): New field.
1255         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
1256
1257 2011-04-16  Bruno Haible  <bruno@clisp.org>
1258
1259         strchrnul: Tweak last commit.
1260         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
1261         bug.
1262         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
1263         as in _GL_FUNCDECL_SYS.
1264         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
1265         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
1266
1267 2011-04-15  Eric Blake  <eblake@redhat.com>
1268
1269         strchrnul: work around cygwin bug
1270         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
1271         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
1272         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
1273         * modules/string (Makefile.am): Substitute it.
1274         * lib/string.in.h (strchrnul): Use it.
1275
1276 2011-04-15  Bruno Haible  <bruno@clisp.org>
1277
1278         Don't require lib/stdio-write.c when only module 'stdio' is used.
1279         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
1280         invocation.
1281         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
1282
1283 2011-04-14  Bruno Haible  <bruno@clisp.org>
1284
1285         Support non-blocking pipe I/O in read() on native Windows.
1286         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
1287         (read): New declaration.
1288         * lib/read.c: New file.
1289         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
1290         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
1291         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
1292         vscanf): New declarations.
1293         * lib/stdio-read.c: New file.
1294         * m4/read.m4: New file.
1295         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
1296         REPLACE_READ.
1297         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
1298         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
1299         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
1300         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
1301         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
1302         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
1303         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
1304         * modules/read: New file.
1305         * modules/nonblocking (Files): Add lib/stdio-read.c.
1306         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
1307         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
1308         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
1309         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
1310         * modules/pread (Depends-on): Add read.
1311         * modules/safe-read (Depends-on): Likewise.
1312         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
1313         gets, scanf, vfscanf, vscanf): Verify signatures.
1314         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
1315         problem with non-blocking pipes.
1316         * doc/posix-functions/fgetc.texi: Likewise.
1317         * doc/posix-functions/fgets.texi: Likewise.
1318         * doc/posix-functions/fread.texi: Likewise.
1319         * doc/posix-functions/fscanf.texi: Likewise.
1320         * doc/posix-functions/getc.texi: Likewise.
1321         * doc/posix-functions/getchar.texi: Likewise.
1322         * doc/posix-functions/gets.texi: Likewise.
1323         * doc/posix-functions/scanf.texi: Likewise.
1324         * doc/posix-functions/vfscanf.texi: Likewise.
1325         * doc/posix-functions/vscanf.texi: Likewise.
1326
1327 2011-04-14  Bruno Haible  <bruno@clisp.org>
1328
1329         Support non-blocking pipe I/O in write() on native Windows.
1330         * lib/write.c (rpl_write): Split a write request that failed merely
1331         because the byte count was larger than the pipe buffer's size.
1332         * doc/posix-functions/write.texi: Mention the problem with large byte
1333         counts.
1334
1335 2011-04-14  Bruno Haible  <bruno@clisp.org>
1336
1337         wchar: Ensure that wchar_t gets defined on uClibc.
1338         * lib/wchar.in.h: On uClibc, include <stddef.h>.
1339         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
1340
1341 2011-04-13  Bruno Haible  <bruno@clisp.org>
1342
1343         safe-write, full-read: Avoid unnecessary compilation units.
1344         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
1345         (Depends-on): Remove safe-read. Add ssize_t.
1346         * modules/full-read (Files): Add lib/full-write.c.
1347         (Depends-on): Add full-write.
1348
1349 2011-04-13  Bruno Haible  <bruno@clisp.org>
1350
1351         Support non-blocking pipe I/O and SIGPIPE in pwrite().
1352         * modules/pwrite (Depends-on): Add 'write'.
1353
1354 2011-04-13  Bruno Haible  <bruno@clisp.org>
1355
1356         Support non-blocking pipe I/O in write() on native Windows.
1357         * lib/unistd.in.h (write): Enable replacement also if
1358         GNULIB_UNISTD_H_NONBLOCKING is 1.
1359         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
1360         (rpl_write): When failing to write on a non-blocking pipe, change
1361         errno from ENOSPC to EAGAIN.
1362         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
1363         putchar, puts, vfprintf, vprintf): Enable replacement also if
1364         GNULIB_STDIO_H_NONBLOCKING is 1.
1365         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
1366         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
1367         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
1368         CALL_WITH_SIGPIPE_EMULATION.
1369         (CALL_WITH_SIGPIPE_EMULATION): Use them.
1370         * m4/nonblocking.m4: New file.
1371         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
1372         for non-blocking I/O support.
1373         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
1374         GNULIB_UNISTD_H_NONBLOCKING.
1375         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
1376         required for non-blocking I/O support.
1377         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
1378         * modules/nonblocking (Files): Add m4/nonblocking.m4,
1379         lib/stdio-write.c, m4/asm-underscore.m4.
1380         (Depends-on): Add stdio, unistd.
1381         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
1382         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
1383         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
1384         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
1385         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
1386         problem with non-blocking pipes.
1387         * doc/posix-functions/fputc.texi: Likewise.
1388         * doc/posix-functions/fputs.texi: Likewise.
1389         * doc/posix-functions/fwrite.texi: Likewise.
1390         * doc/posix-functions/printf.texi: Likewise.
1391         * doc/posix-functions/putc.texi: Likewise.
1392         * doc/posix-functions/putchar.texi: Likewise.
1393         * doc/posix-functions/puts.texi: Likewise.
1394         * doc/posix-functions/vfprintf.texi: Likewise.
1395         * doc/posix-functions/vprintf.texi: Likewise.
1396         * doc/posix-functions/write.texi: Likewise.
1397
1398 2011-04-10  Jim Meyering  <meyering@redhat.com>
1399
1400         maint.mk: prohibit doubled words
1401         Detect them also when they're separated by a newline.
1402         There are 3 ways to customize it:
1403           - disable the test on a per file basis, as usual with rules using
1404             $(VC_LIST_EXCEPT)
1405           - replace the default doubled-word-selecting regexp (affects all files)
1406           - ignore a particular file-vs-doubled-word match
1407         I nearly used that last one to ignore the "is is" match in
1408         coreutils' NEWS file, since the text was "ls -is is ..."
1409         To do that, I would have added this line to cfg.mk:
1410           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
1411         but it would have ignored any "is is" match in NEWS.
1412         Low probability, but still...
1413         Instead, I changed the text, slightly:
1414           -  ls -is is now consistent with ls -lis in ignoring values returned
1415           +  "ls -is" is now consistent with ls -lis in ignoring values returned
1416         * top/maint.mk (prohibit_double_word_RE_): Provide default.
1417         (prohibit_doubled_word_): Define.
1418         (sc_prohibit_doubled_word): New rule.
1419         (sc_prohibit_the_the): Remove.  Subsumed by the above.
1420
1421 2011-04-10  Jim Meyering  <meyering@redhat.com>
1422
1423         maint: fix doubled-word typo in comment
1424         * m4/gethostname.m4: s/is is/it is/
1425         * m4/getdomainname.m4: Likewise.
1426
1427 2011-04-10  Jim Meyering  <meyering@redhat.com>
1428
1429         maint: remove doubled word: s/it it/it/
1430         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
1431
1432 2011-04-10  Jim Meyering  <meyering@redhat.com>
1433
1434         maint.mk: remove useless semicolon and backslash
1435         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
1436         semicolon and backslash.
1437
1438 2011-04-10  Bruno Haible  <bruno@clisp.org>
1439
1440         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
1441         * modules/stdint-tests (Depends-on): Add wchar.
1442
1443 2011-04-10  Jim Meyering  <meyering@redhat.com>
1444
1445         maint: remove doubled words in comments, e.g., s/a a/a/
1446         * lib/strptime.c (day_of_the_week): s/the the/the/
1447         * tests/test-chown.h (test_chown): s/a a/a/
1448
1449         test-chown.h: correct a cast
1450         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
1451         when the destination is a stat.st_gid.
1452
1453 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
1454
1455         getaddrinfo: Fix test for sa_len member.
1456         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
1457         include <sys/types.h> before <sys/socket.h>.
1458
1459 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
1460
1461         maint: change "can not" to "cannot"
1462         * doc/posix-functions/iconv.texi (iconv): This one crossed line
1463         boundaries.
1464
1465 2011-04-09  Jim Meyering  <meyering@redhat.com>
1466
1467         maint: change "a a" to "a"
1468         * tests/test-lchown.h (test_lchown): s/a a/a/
1469
1470         maint.mk: prohibit \<the the\>
1471         * top/maint.mk (sc_prohibit_the_the): New rule.
1472
1473         maint: fix "the the" in comment
1474         * lib/count-one-bits.h: s/the the/the/
1475
1476         maint: change "can not" to "cannot"
1477         But do not change the occurrences in maintain.texi or in
1478         build-aux/po/Makefile.in.in, which I presume comes from gettext.
1479         * doc/gnulib-tool.texi: s/can not/cannot/
1480         * doc/posix-functions/accept.texi (accept): Likewise.
1481         * doc/posix-functions/socket.texi (socket): Likewise.
1482         * lib/mbrtowc.c: Likewise.
1483
1484         maint.mk: prohibit use of "can not"
1485         * top/maint.mk (sc_prohibit_can_not): New rule.
1486         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
1487
1488 2011-04-09  Bruno Haible  <bruno@clisp.org>
1489
1490         careadlinkat: Guard against misuse of careadlinkatcwd.
1491         * lib/careadlinkat.c: Include <stdlib.h>.
1492         (careadlinkatcwd): Check that the fd argument is as expected.
1493
1494 2011-04-09  Bruno Haible  <bruno@clisp.org>
1495
1496         careadlinkat: Use common coding style.
1497         * lib/careadlinkat.c: Move gnulib includes after system includes.
1498
1499 2011-04-09  Bruno Haible  <bruno@clisp.org>
1500
1501         careadlinkat: Clarify specification.
1502         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
1503         (careadlinkatcwd): Add comment.
1504         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
1505
1506 2011-04-09  Bruno Haible  <bruno@clisp.org>
1507
1508         areadlinkat: Avoid link error on many platforms.
1509         * modules/areadlinkat (Depends-on): Add areadlink.
1510
1511 2011-04-09  Bruno Haible  <bruno@clisp.org>
1512
1513         allocator, careadlinkat: Fix double-inclusion guard.
1514         * lib/allocator.h: Fix double-inclusion guard.
1515         * lib/careadlinkat.h: Likewise.
1516
1517 2011-04-09  Bruno Haible  <bruno@clisp.org>
1518
1519         relocatable-prog-wrapper: Update after module 'areadlink' changed.
1520         * lib/relocwrapper.c: Update dependencies hierarchy.
1521         * build-aux/install-reloc: Update list of files to be compiled.
1522         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
1523         lib/allocator.[hc].
1524
1525 2011-04-08  Eric Blake  <eblake@redhat.com>
1526
1527         strftime: silence gnulib-tool warning
1528         * modules/strftime-tests (Depends-on): Drop automatic dependency.
1529
1530 2011-04-08  Bruno Haible  <bruno@clisp.org>
1531
1532         verify: Fix syntax error with GCC 4.6 in C++ mode.
1533         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
1534         (HAVE_STATIC_ASSERT): New macro.
1535         (verify_true, verify): Use 'static_assert' if it is supported and
1536         '_Static_assert' is not supported.
1537
1538 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
1539
1540         allocator: New module.
1541         * modules/allocator, lib/allocator.c: New files.
1542         * lib/allocator.h (stdlib_allocator): New decl.
1543         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
1544         Remove.  Do not include <stdlib.h>.
1545         (careadlinkat): Use stdlib_allocator instead of rolling our own.
1546         * modules/careadlinkat (Files): Remove lib/allocator.h.
1547         (Depends-on): Add allocator.
1548
1549         stdlib: let modules use system malloc, realloc
1550         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
1551         if !_GL_USE_STDLIB_ALLOC.
1552         (malloc, realloc): Limit this change to a smaller scope.
1553
1554         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
1555         (malloc, realloc): Don't #undef; no longer needed.
1556         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
1557         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
1558         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
1559         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
1560         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
1561         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
1562         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
1563         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
1564
1565         careadlinkat: rename members to avoid problem
1566         * lib/allocator.h (struct allocator): Rename members from
1567         malloc/realloc to allocate/reallocate, to avoid problems if malloc
1568         and realloc are #define'd.  Reported by Eric Blake in
1569         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
1570         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
1571
1572 2011-04-08  Eric Blake  <eblake@redhat.com>
1573
1574         nonblocking: reduce dependency
1575         * tests/test-nonblocking.c: Only test sockets when in use.
1576         * modules/nonblocking-tests (Depends-on): Drop socket.
1577         (Makefile.am): Link even if sockets are not present.
1578         * modules/pipe2-tests (Makefile.am): Likewise.
1579         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
1580
1581         pipe2: fix O_NONBLOCK support on mingw
1582         * modules/pipe2 (Depends-on): Add nonblocking.
1583         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
1584         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
1585         * tests/test-nonblocking.c (main): Likewise.
1586         * modules/pipe2-tests (Makefile.am): Avoid link failure.
1587
1588         fcntl-h: fix O_ACCMODE on cygwin
1589         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
1590         * lib/fcntl.in.h (O_ACCMODE): Fix it.
1591
1592         pipe-filter: drop O_NONBLOCK workarounds
1593         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
1594         * modules/pipe-filter-ii (Depends-on): Likewise.
1595         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
1596
1597         nonblocking: provide O_NONBLOCK for mingw
1598         * modules/nonblocking (Depends-on): Add open.
1599         (configure.ac): Set new witness macro.
1600         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
1601         * modules/fcntl-h (Makefile.am): Substitute it.
1602         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
1603         nonblocking module is in use.
1604         * lib/nonblocking.c: Adjust portability test.
1605         * lib/open.c (open): Don't let native open see gnulib flag.
1606         * tests/test-fcntl-h.c (main): Enhance test.
1607         * tests/test-open.h (test_open): Likewise.
1608         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
1609
1610         careadlinkat: fix compilation error on mingw
1611         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
1612         within struct allocator.
1613
1614 2011-04-06  Eric Blake  <eblake@redhat.com>
1615
1616         binary-io: relicense under LGPLv2+
1617         * modules/binary-io (License): Relax to LGPLv2+.
1618         Requested for libvirt, and required by pipe2.
1619
1620 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
1621
1622         verify: use _Static_assert if available
1623         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
1624         (verify_true, verify): Use it if available.  This generates better
1625         diagnostics with GCC 4.6.0 and later.
1626
1627 2011-04-05  Bruno Haible  <bruno@clisp.org>
1628
1629         Remove leftover generated .h files after config.status changed.
1630
1631         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
1632         GL_GENERATE_ALLOCA_H.
1633         * modules/alloca-opt (Makefile.am): Remove alloca.h if
1634         GL_GENERATE_ALLOCA_H evaluates to false.
1635
1636         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
1637         GL_GENERATE_ARGZ_H.
1638         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
1639         evaluates to false.
1640
1641         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
1642         GL_GENERATE_BYTESWAP_H.
1643         * modules/byteswap (Makefile.am): Remove byteswap.h if
1644         GL_GENERATE_BYTESWAP_H evaluates to false.
1645
1646         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
1647         GL_GENERATE_ERRNO_H.
1648         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
1649         evaluates to false.
1650
1651         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
1652         GL_GENERATE_FLOAT_H.
1653         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
1654         evaluates to false.
1655
1656         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
1657         GL_GENERATE_FNMATCH_H.
1658         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
1659         GL_GENERATE_FNMATCH_H evaluates to false.
1660
1661         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
1662         GL_GENERATE_GLOB_H.
1663         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
1664         evaluates to false.
1665
1666         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
1667         automake conditional GL_GENERATE_ICONV_H.
1668         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
1669         evaluates to false.
1670
1671         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
1672         GL_GENERATE_NETINET_IN_H.
1673         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
1674         GL_GENERATE_NETINET_IN_H evaluates to false.
1675
1676         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
1677         conditional GL_GENERATE_PTHREAD_H.
1678         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
1679         * modules/pthread (Makefile.am): Remove pthread.h if
1680         GL_GENERATE_PTHREAD_H evaluates to false.
1681
1682         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
1683         GL_GENERATE_SCHED_H.
1684         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
1685         evaluates to false.
1686
1687         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
1688         conditional GL_GENERATE_SELINUX_CONTEXT_H.
1689         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
1690         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
1691
1692         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
1693         GL_GENERATE_STDARG_H.
1694         * modules/stdarg (Makefile.am): Remove stdarg.h if
1695         GL_GENERATE_STDARG_H evaluates to false.
1696
1697         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
1698         GL_GENERATE_STDBOOL_H.
1699         * modules/stdbool (Makefile.am): Remove stdbool.h if
1700         GL_GENERATE_STDBOOL_H evaluates to false.
1701
1702         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
1703         conditional GL_GENERATE_STDDEF_H.
1704         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
1705         * modules/stddef (Makefile.am): Remove stddef.h if
1706         GL_GENERATE_STDDEF_H evaluates to false.
1707
1708         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
1709         GL_GENERATE_STDINT_H.
1710         * modules/stdint (Makefile.am): Remove stdint.h if
1711         GL_GENERATE_STDINT_H evaluates to false.
1712
1713         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
1714         GL_GENERATE_SYSEXITS_H.
1715         * modules/sysexits (Makefile.am): Remove sysexits.h if
1716         GL_GENERATE_SYSEXITS_H evaluates to false.
1717
1718         Reported by Karl Berry and Ralf Wildenhues.
1719
1720 2011-04-05  Bruno Haible  <bruno@clisp.org>
1721
1722         Ensure to rebuild generated .h files when config.status has changed.
1723         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
1724         config.status.
1725         * modules/ctype (Makefile.am): Likewise.
1726         * modules/dirent (Makefile.am): Likewise.
1727         * modules/errno (Makefile.am): Likewise.
1728         * modules/fcntl-h (Makefile.am): Likewise.
1729         * modules/float (Makefile.am): Likewise.
1730         * modules/getopt-posix (Makefile.am): Likewise.
1731         * modules/glob (Makefile.am): Likewise.
1732         * modules/iconv-h (Makefile.am): Likewise.
1733         * modules/inttypes (Makefile.am): Likewise.
1734         * modules/langinfo (Makefile.am): Likewise.
1735         * modules/locale (Makefile.am): Likewise.
1736         * modules/math (Makefile.am): Likewise.
1737         * modules/netdb (Makefile.am): Likewise.
1738         * modules/netinet_in (Makefile.am): Likewise.
1739         * modules/poll-h (Makefile.am): Likewise.
1740         * modules/pthread (Makefile.am): Likewise.
1741         * modules/pty (Makefile.am): Likewise.
1742         * modules/sched (Makefile.am): Likewise.
1743         * modules/search (Makefile.am): Likewise.
1744         * modules/selinux-h (Makefile.am): Likewise.
1745         * modules/signal (Makefile.am): Likewise.
1746         * modules/spawn (Makefile.am): Likewise.
1747         * modules/stdarg (Makefile.am): Likewise.
1748         * modules/stdbool (Makefile.am): Likewise.
1749         * modules/stddef (Makefile.am): Likewise.
1750         * modules/stdint (Makefile.am): Likewise.
1751         * modules/stdio (Makefile.am): Likewise.
1752         * modules/stdlib (Makefile.am): Likewise.
1753         * modules/string (Makefile.am): Likewise.
1754         * modules/strings (Makefile.am): Likewise.
1755         * modules/sys_file (Makefile.am): Likewise.
1756         * modules/sys_ioctl (Makefile.am): Likewise.
1757         * modules/sys_select (Makefile.am): Likewise.
1758         * modules/sys_socket (Makefile.am): Likewise.
1759         * modules/sys_stat (Makefile.am): Likewise.
1760         * modules/sys_time (Makefile.am): Likewise.
1761         * modules/sys_times (Makefile.am): Likewise.
1762         * modules/sys_utsname (Makefile.am): Likewise.
1763         * modules/sys_wait (Makefile.am): Likewise.
1764         * modules/sysexits (Makefile.am): Likewise.
1765         * modules/termios (Makefile.am): Likewise.
1766         * modules/time (Makefile.am): Likewise.
1767         * modules/unistd (Makefile.am): Likewise.
1768         * modules/wchar (Makefile.am): Likewise.
1769         * modules/wctype-h (Makefile.am): Likewise.
1770         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
1771
1772 2011-04-05  Bruno Haible  <bruno@clisp.org>
1773
1774         pipe2: Relicense under LGPLv2+.
1775         * modules/pipe2 (License): Change to LGPLv2+.
1776         Requested by Eric Blake, for libvirt.
1777
1778 2011-04-05  Bruce Korb  <bkorb@gnu.org>
1779
1780         bootstrap: compute gnulib_extra_files after updating build_aux
1781         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
1782         change build_aux or also supply gnulib_extra_files.  Handle correctly.
1783
1784 2011-04-05  Eric Blake  <eblake@redhat.com>
1785
1786         bootstrap: preserve git whitelist item sorting
1787         * build-aux/bootstrap (sort_patterns): New function.
1788         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
1789
1790 2011-04-05  Simon Josefsson  <simon@josefsson.org>
1791
1792         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
1793         sc_space_tab check.
1794
1795 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
1796
1797         areadlink, areadlinkat: rewrite in terms of careadlinkat
1798         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
1799         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
1800         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
1801         (malloc, realloc): Remove #undefs.
1802         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
1803         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
1804         readlink, ssize_t, stdint, unistd.
1805         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
1806         areadlink, stdint.
1807
1808         careadlinkat: new module
1809         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
1810         * modules/careadlinkat: New files, written by me with
1811         a review and feedback from Ben Pfaff in
1812         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
1813
1814 2011-04-01  Bruno Haible  <bruno@clisp.org>
1815
1816         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
1817         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
1818         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
1819         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
1820         Reported by Bruce Korb <bruce.korb@gmail.com>.
1821
1822 2011-04-01  Bruno Haible  <bruno@clisp.org>
1823
1824         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
1825         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
1826         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
1827         * modules/wcpcpy (Depends-on): Add extensions.
1828         * modules/wcpncpy (Depends-on): Likewise.
1829         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
1830         systems.
1831         * doc/posix-functions/wcpncpy.texi: Likewise.
1832         * doc/posix-functions/wcwidth.texi: Likewise.
1833
1834 2011-03-31  Eric Blake  <eblake@redhat.com>
1835
1836         nonblocking: fix mingw test failures
1837         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
1838         non-blocking flag on regular file.
1839         (get_nonblocking_flag): Set errno on invalid fd.
1840         * tests/test-nonblocking.c (main): Avoid test failure on
1841         directories if fchdir is not active.
1842         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
1843
1844 2011-03-31  Bruno Haible  <bruno@clisp.org>
1845
1846         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
1847         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
1848         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
1849         Reported by Simon Josefsson <simon@josefsson.org>.
1850
1851 2011-03-31  Bruno Haible  <bruno@clisp.org>
1852         and Eric Blake  <eblake@redhat.com>
1853
1854         nonblocking: new module
1855         * modules/nonblocking: New module.
1856         * modules/nonblocking-tests: Likewise.
1857         * lib/nonblocking.h: New file.
1858         * lib/nonblocking.c: Likewise.
1859         * tests/test-nonblocking.c: New test.
1860         * lib/ioctl.c (ioctl) [mingw]: Update comment.
1861
1862 2011-03-30  Bruno Haible  <bruno@clisp.org>
1863
1864         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
1865         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
1866         instead of 'printf' format for GCC >= 4.4.
1867         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
1868         (fprintf, printf, vfprintf, vprintf): Declare with
1869         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
1870         the system's vfprintf() function.
1871         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
1872
1873 2011-03-30  Eric Blake  <eblake@redhat.com>
1874
1875         passfd: fix scoping bug
1876         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
1877         before sendmsg/recvmsg.
1878
1879         passfd: standardize coding conventions
1880         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
1881         can be learned at compile time.
1882         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
1883         ifdefs.
1884         (sendfd, recvfd): Follow gnulib code conventions.
1885
1886         passfd: fix incorrect sendmsg arguments
1887         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
1888         incorrect msg_controllen value.
1889         * modules/passfd-tests (Depends-on): Check for alarm.
1890         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
1891         Reported by Bastien ROUCARIES.
1892
1893 2011-03-30  Bruno Haible  <bruno@clisp.org>
1894
1895         c-strcasestr: Relicense under LGPLv2+.
1896         * modules/c-strcasestr (License): Change to LGPLv2+.
1897         Requested by Eric Blake, for libvirt.
1898
1899 2011-03-30  Simon Josefsson  <simon@josefsson.org>
1900
1901         * users.txt: Add libidn2.  Fix libtasn1 link.
1902
1903 2011-03-30  Jim Meyering  <meyering@redhat.com>
1904
1905         tests: readlink* ("",... fails with EINVAL on newer kernels
1906         readlink and readlinkat have typically failed with ENOENT for
1907         the invalid, empty file name,  "".  However, with the advent
1908         of linux-2.6.39, they fail with EINVAL.
1909         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
1910         when operating on the empty file name.
1911         * tests/test-readlink.h (test_readlink): Likewise.
1912
1913 2011-03-29  Bruno Haible  <bruno@clisp.org>
1914
1915         Relicense some modules under LGPLv2+, for libidn2.
1916         * modules/array-mergesort (License): Change to LGPLv2+.
1917         * modules/c-strcaseeq (License): Likewise.
1918         * modules/striconveh (License): Likewise.
1919         * modules/striconveha (License): Likewise.
1920         * modules/uniconv/base (License): Likewise.
1921         * modules/uniconv/u8-conv-from-enc (License): Likewise.
1922         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
1923         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
1924         * modules/unictype/base (License): Likewise.
1925         * modules/unictype/bidiclass-of (License): Likewise.
1926         * modules/unictype/category-M (License): Likewise.
1927         * modules/unictype/category-none (License): Likewise.
1928         * modules/unictype/category-of (License): Likewise.
1929         * modules/unictype/category-test (License): Likewise.
1930         * modules/unictype/category-test-withtable (License): Likewise.
1931         * modules/unictype/combining-class (License): Likewise.
1932         * modules/unictype/joiningtype-of (License): Likewise.
1933         * modules/unictype/scripts (License): Likewise.
1934         * modules/uninorm/base (License): Likewise.
1935         * modules/uninorm/canonical-decomposition (License): Likewise.
1936         * modules/uninorm/composition (License): Likewise.
1937         * modules/uninorm/decompose-internal (License): Likewise.
1938         * modules/uninorm/decomposition-table (License): Likewise.
1939         * modules/uninorm/nfc (License): Likewise.
1940         * modules/uninorm/nfd (License): Likewise.
1941         * modules/uninorm/u32-normalize (License): Likewise.
1942         * modules/unistr/base (License): Likewise.
1943         * modules/unistr/u32-cpy (License): Likewise.
1944         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
1945         * modules/unistr/u32-to-u8 (License): Likewise.
1946         * modules/unistr/u32-uctomb (License): Likewise.
1947         * modules/unistr/u8-check (License): Likewise.
1948         * modules/unistr/u8-mblen (License): Likewise.
1949         * modules/unistr/u8-mbtouc (License): Likewise.
1950         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
1951         * modules/unistr/u8-mbtoucr (License): Likewise.
1952         * modules/unistr/u8-prev (License): Likewise.
1953         * modules/unistr/u8-strlen (License): Likewise.
1954         * modules/unistr/u8-to-u32 (License): Likewise.
1955         * modules/unistr/u8-uctomb (License): Likewise.
1956         * modules/unitypes (License): Likewise.
1957         Requested by Simon Josefsson.
1958
1959 2011-03-29  Simon Josefsson  <simon@josefsson.org>
1960
1961         lib-symbol-visibility: Add a notice.
1962         * modules/lib-symbol-visibility (Notice): New field.
1963
1964 2011-03-29  Bruno Haible  <bruno@clisp.org>
1965
1966         getaddrinfo: Doc fix.
1967         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
1968         section "fixed in Gnulib".
1969
1970 2011-03-28  Simon Josefsson  <simon@josefsson.org>
1971
1972         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
1973         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
1974
1975 2011-03-26  Bruno Haible  <bruno@clisp.org>
1976
1977         unictype/property-byname: Reduce the number of load-time relocations.
1978         * lib/unictype/pr_byname.c: Include <stdlib.h>.
1979         (UC_PROPERTY_INDEX_*): New enumeration values.
1980         (uc_property_byname): Convert an index from the lookup table to an
1981         uc_property_t.
1982         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
1983         values.
1984
1985 2011-03-26  Bruno Haible  <bruno@clisp.org>
1986
1987         unictype/property-byname: Allow omitted word separators and aliases.
1988         * lib/unictype/pr_byname.gperf: Add property names without word
1989         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
1990         for 'space'.
1991
1992 2011-03-26  Bruno Haible  <bruno@clisp.org>
1993
1994         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
1995         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
1996         also hyphens to space.
1997         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
1998         without spaces.
1999         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
2000
2001 2011-03-26  Bruno Haible  <bruno@clisp.org>
2002
2003         unictype/joiningtype-byname: Recognize long names as well.
2004         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
2005         a long name.
2006         * lib/unictype/joiningtype_byname.c: Include <string.h>,
2007         unictype/joiningtype_byname.h.
2008         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
2009         * lib/unictype/joiningtype_byname.gperf: New file.
2010         * modules/unictype/joiningtype-byname (Files): Add
2011         lib/unictype/joiningtype_byname.gperf.
2012         (Depends-on): Add gperf.
2013         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
2014         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
2015         long names.
2016
2017         Tests for module 'unictype/joiningtype-longname'.
2018         * modules/unictype/joiningtype-longname-tests: New file.
2019         * tests/unictype/test-joiningtype_longname.c: New file.
2020
2021         New module 'unictype/joiningtype-longname'.
2022         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
2023         * lib/unictype/joiningtype_longname.c: New file.
2024         * modules/unictype/joiningtype-longname: New file.
2025         * modules/unictype/joiningtype-all (Depends-on): Add
2026         unictype/joiningtype-longname.
2027
2028 2011-03-26  Bruno Haible  <bruno@clisp.org>
2029
2030         unictype/bidiclass-byname: Recognize long names as well.
2031         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
2032         name.
2033         * lib/unictype/bidi_byname.c: Include <string.h>,
2034         unictype/bidi_byname.h.
2035         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
2036         * lib/unictype/bidi_byname.gperf: New file.
2037         * modules/unictype/bidiclass-byname (Files): Add
2038         lib/unictype/bidi_byname.gperf.
2039         (Depends-on): Add gperf.
2040         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
2041         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
2042         long names.
2043
2044         Tests for module 'unictype/bidiclass-longname'.
2045         * modules/unictype/bidiclass-longname-tests: New file.
2046         * tests/unictype/test-bidi_longname.c: New file.
2047
2048         New module 'unictype/bidiclass-longname'.
2049         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
2050         * lib/unictype/bidi_longname.c: New file.
2051         * modules/unictype/bidiclass-longname: New file.
2052         * modules/unictype/bidiclass-all (Depends-on): Add
2053         unictype/bidiclass-longname.
2054
2055 2011-03-26  Bruno Haible  <bruno@clisp.org>
2056
2057         unictype/bidi*: Rename modules.
2058         * modules/unictype/bidiclass-all: Renamed from
2059         modules/unictype/bidicategory-all.
2060         * modules/unictype/bidiclass-name: Renamed from
2061         modules/unictype/bidiclass-name.
2062         (Description): Update.
2063         * modules/unictype/bidiclass-name-tests: Renamed from
2064         modules/unictype/bidicategory-name-tests.
2065         * modules/unictype/bidiclass-byname: Renamed from
2066         modules/unictype/bidicategory-byname.
2067         (Description): Update.
2068         * modules/unictype/bidiclass-byname-tests: Renamed from
2069         modules/unictype/bidicategory-byname-tests.
2070         * modules/unictype/bidiclass-of: Renamed from
2071         modules/unictype/bidicategory-of.
2072         (Description): Update.
2073         * modules/unictype/bidiclass-of-tests: Renamed from
2074         modules/unictype/bidicategory-of-tests.
2075         * modules/unictype/bidiclass-test: Renamed from
2076         modules/unictype/bidicategory-test.
2077         (Description): Update.
2078         * modules/unictype/bidiclass-test-tests: Renamed from
2079         modules/unictype/bidicategory-test-tests.
2080         * modules/unictype/bidicategory-all: New file, a simple redirection.
2081         * modules/unictype/bidicategory-name: Likewise.
2082         * modules/unictype/bidicategory-byname: Likewise.
2083         * modules/unictype/bidicategory-of: Likewise.
2084         * modules/unictype/bidicategory-test: Likewise.
2085         * modules/unictype/property-bidi-* (Dependencies): Update.
2086         * lib/unictype/bidi_*.c: Update comment.
2087
2088 2011-03-26  Bruno Haible  <bruno@clisp.org>
2089
2090         unictype/bidi*: Rename functions, part 2.
2091         * modules/unictype/bidicategory-name (configure.ac): Update required
2092         libunistring version.
2093         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
2094
2095 2011-03-25  Bruno Haible  <bruno@clisp.org>
2096
2097         New module 'unictype/combining-class-all'.
2098         * modules/unictype/combining-class-all: New file.
2099
2100         Tests for module 'unictype/combining-class-byname'.
2101         * modules/unictype/combining-class-byname-tests: New file.
2102         * tests/unictype/test-combiningclass_byname.c: New file.
2103
2104         New module 'unictype/combining-class-byname'.
2105         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
2106         * lib/unictype/combiningclass_byname.c: New file.
2107         * lib/unictype/combiningclass_byname.gperf: New file.
2108         * modules/unictype/combining-class-byname: New file.
2109
2110         Tests for module 'unictype/combining-class-longname'.
2111         * modules/unictype/combining-class-longname-tests: New file.
2112         * tests/unictype/test-combiningclass_longname.c: New file.
2113
2114         New module 'unictype/combining-class-longname'.
2115         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
2116         * lib/unictype/combiningclass_longname.c: New file.
2117         * modules/unictype/combining-class-longname: New file.
2118
2119         Tests for module 'unictype/combining-class-name'.
2120         * modules/unictype/combining-class-name-tests: New file.
2121         * tests/unictype/test-combiningclass_name.c: New file.
2122
2123         New module 'unictype/combining-class-name'.
2124         * lib/unictype.in.h (uc_combining_class_name): New declaration.
2125         * lib/unictype/combiningclass_name.c: New file.
2126         * modules/unictype/combining-class-name: New file.
2127
2128 2011-03-25  Bruno Haible  <bruno@clisp.org>
2129
2130         unictype/combining-class: Rename source files.
2131         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
2132         of unictype/combining.h.
2133         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
2134         Update.
2135         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
2136         * modules/unictype/combining-class (Description): Fix.
2137         (Files, Makefile.am): Update.
2138         * tests/unictype/test-combiningclass.c: Renamed from
2139         tests/unictype/test-combining.c.
2140         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
2141
2142 2011-03-25  Bruno Haible  <bruno@clisp.org>
2143
2144         unictype: Update list of canonical combining classes.
2145         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
2146
2147 2011-03-25  Bruno Haible  <bruno@clisp.org>
2148
2149         unictype/category-byname: Recognize long names as well.
2150         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
2151         a long name.
2152         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
2153         unictype/categ_byname.h.
2154         (UC_CATEGORY_INDEX_*): New enumeration values.
2155         (uc_general_category_byname): Use uc_general_category_lookup and
2156         convert from index to value.
2157         * lib/unictype/categ_byname.gperf: New file.
2158         * modules/unictype/category-byname (Files): Add
2159         lib/unictype/categ_byname.gperf.
2160         (Depends-on): Add gperf.
2161         (Makefile.am): Add rule for generating unictype/categ_byname.h.
2162         * tests/unictype/test-categ_byname.c (main): Test the recognition of
2163         long names.
2164
2165         Tests for module 'unictype/category-longname'.
2166         * modules/unictype/category-longname-tests: New file.
2167         * tests/unictype/test-categ_longname.c: New file.
2168
2169         New module 'unictype/category-longname'.
2170         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
2171         * lib/unictype/categ_longname.c: New file.
2172         * modules/unictype/category-longname: New file.
2173         * modules/unictype/category-all (Depends-on): Add it.
2174
2175 2011-03-25  Bruno Haible  <bruno@clisp.org>
2176
2177         Tests for module 'unictype/category-LC'.
2178         * modules/unictype/category-LC-tests: New file.
2179         * tests/unictype/test-categ_LC.c: New file, automatically generated.
2180
2181         New module 'unictype/category-LC'.
2182         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
2183         (UC_CATEGORY_LC): New declaration.
2184         (UC_CASED_LETTER): New macro.
2185         * lib/gen-uni-tables.c (is_category_LC): New function.
2186         (output_categories): Also handle category LC.
2187         (UC_CATEGORY_MASK_LC): New enumeration value.
2188         (general_category_byname): Also handle category LC.
2189         * lib/unictype/categ_LC.c: New file.
2190         * lib/unictype/categ_LC.h: New file, automatically generated.
2191         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
2192         category LC.
2193         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
2194         * modules/unictype/category-LC: New file.
2195         * modules/unictype/category-byname (Depends-on): Add
2196         unictype/category-LC.
2197         * modules/unictype/category-all (Depends-on): Likewise.
2198
2199 2011-03-25  Eric Blake  <eblake@redhat.com>
2200
2201         xmalloc: revert yesterday's regression
2202         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
2203         realloc's underlying behavior (allowing allocation of zero-size
2204         objects, especially if malloc-gnu is also in use).
2205
2206 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
2207
2208         maint.mk: add missing version to VC-tag
2209         * top/maint.mk: git tag was missing actual tag name; add it.
2210
2211         valgrind: do leak checking, and exit with code 1 on error (not 0)
2212         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
2213         to VALGRIND.
2214
2215 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
2216
2217         posix-modules: say what it does.
2218         * posix-modules: Add a line to the --help output saying what it does.
2219
2220 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
2221
2222         xmalloc: Do not leak if underlying realloc is C99 compatible.
2223         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
2224         This avoids a leak on C99-based systems.  See
2225         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
2226
2227 2011-03-24  Eric Blake  <eblake@redhat.com>
2228
2229         realloc: document portability problem
2230         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
2231         passing 0 size to realloc.
2232
2233 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
2234
2235         doc: update users.txt
2236         * users.txt: Add cvsps, tmpwatch
2237
2238 2011-03-23  Matt Rice  <ratmice@gmail.com>
2239
2240         doc: update users.txt
2241         * users.txt: Add gdb.
2242
2243 2011-03-23  Jim Meyering  <meyering@redhat.com>
2244
2245         doc: update users.txt
2246         Looking through matches up to the following URL (there are still
2247         several more pages), I found several projects that use gnulib:
2248         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
2249         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
2250         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
2251
2252 2011-03-22  Bruno Haible  <bruno@clisp.org>
2253
2254         unictype/bidi*: Rename functions.
2255         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
2256         uc_bidi_class, uc_is_bidi_class): New declarations.
2257         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
2258         uc_bidi_category_byname.
2259         (uc_bidi_category_byname): New function.
2260         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
2261         u_bidi_category_name.
2262         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
2263         (uc_bidi_category_name): New function.
2264         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
2265         uc_bidi_category.
2266         (uc_bidi_category): New function.
2267         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
2268         uc_is_bidi_category. Invoke uc_bidi_class.
2269         (uc_is_bidi_category): New function.
2270         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
2271         instead of uc_bidi_category_byname.
2272         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
2273         instead of uc_bidi_category_name.
2274         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
2275         uc_bidi_category.
2276         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
2277         instead of uc_is_bidi_category.
2278
2279 2011-03-21  Bruno Haible  <bruno@clisp.org>
2280
2281         New module 'unictype/joininggroup-all'.
2282         * modules/unictype/joininggroup-all: New file.
2283
2284         Tests for module 'unictype/joininggroup-of'.
2285         * modules/unictype/joininggroup-of-tests: New file.
2286         * tests/unictype/test-joininggroup_of.c: New file.
2287         * tests/unictype/test-joininggroup_of.h: New file, automatically
2288         generated by gen-uni-tables.
2289
2290         New module 'unictype/joininggroup-of'.
2291         * modules/unictype/joininggroup-of: New file.
2292         * lib/unictype/joininggroup_of.c: New file.
2293         * lib/unictype/joininggroup_of.h: New file, automatically generated by
2294         gen-uni-tables.
2295
2296         Tests for module 'unictype/joininggroup-byname'.
2297         * modules/unictype/joininggroup-byname-tests: New file.
2298         * tests/unictype/test-joininggroup_byname.c: New file.
2299
2300         New module 'unictype/joininggroup-byname'.
2301         * modules/unictype/joininggroup-byname: New file.
2302         * lib/unictype/joininggroup_byname.c: New file.
2303         * lib/unictype/joininggroup_byname.gperf: New file.
2304
2305         Tests for module 'unictype/joininggroup-name'.
2306         * modules/unictype/joininggroup-name-tests: New file.
2307         * tests/unictype/test-joininggroup_name.c: New file.
2308
2309         New module 'unictype/joininggroup-name'.
2310         * modules/unictype/joininggroup-name: New file.
2311         * lib/unictype/joininggroup_name.c: New file.
2312         * lib/unictype/joininggroup_name.h: New file.
2313
2314         New module 'unictype/joiningtype-all'.
2315         * modules/unictype/joiningtype-all: New file.
2316
2317         Tests for module 'unictype/joiningtype-of'.
2318         * modules/unictype/joiningtype-of-tests: New file.
2319         * tests/unictype/test-joiningtype_of.c: New file.
2320         * tests/unictype/test-joiningtype_of.h: New file, automatically
2321         generated by gen-uni-tables.
2322
2323         New module 'unictype/joiningtype-of'.
2324         * modules/unictype/joiningtype-of: New file.
2325         * lib/unictype/joiningtype_of.c: New file.
2326         * lib/unictype/joiningtype_of.h: New file, automatically generated by
2327         gen-uni-tables.
2328
2329         Tests for module 'unictype/joiningtype-byname'.
2330         * modules/unictype/joiningtype-byname-tests: New file.
2331         * tests/unictype/test-joiningtype_byname.c: New file.
2332
2333         New module 'unictype/joiningtype-byname'.
2334         * modules/unictype/joiningtype-byname: New file.
2335         * lib/unictype/joiningtype_byname.c: New file.
2336
2337         Tests for module 'unictype/joiningtype-name'.
2338         * modules/unictype/joiningtype-name-tests: New file.
2339         * tests/unictype/test-joiningtype_name.c: New file.
2340
2341         New module 'unictype/joiningtype-name'.
2342         * modules/unictype/joiningtype-name: New file.
2343         * lib/unictype/joiningtype_name.c: New file.
2344
2345         unictype: Add support for Arabic shaping properties.
2346         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
2347         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
2348         declarations.
2349         (UC_JOINING_GROUP_*): New enumeration values.
2350         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
2351         declarations.
2352         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
2353         (unicode_joining_type): New variable.
2354         (UC_JOINING_GROUP_*): New enumeration values.
2355         (unicode_joining_group): New variable.
2356         (fill_arabicshaping, joining_type_as_c_identifier,
2357         output_joining_type_test, output_joining_type,
2358         joining_group_as_c_identifier, output_joining_group_test,
2359         output_joining_group): New functions.
2360         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
2361         fill_arabicshaping and output_joining_type_test, output_joining_type,
2362         output_joining_group_test, output_joining_group.
2363         Reported by Simon Josefsson.
2364
2365 2011-03-21  Jim Meyering  <meyering@redhat.com>
2366
2367         strftime: fix a bug in yesterday's change
2368         * lib/strftime.c (add): Accommodate width's initial value of -1.
2369         Otherwise, nstrftime would copy uninitialized data into
2370         the result buffer.
2371
2372 2011-03-21  Jim Meyering  <meyering@redhat.com>
2373
2374         tests: add strftime-tests module
2375         * tests/test-strftime.c: New file.
2376         * modules/strftime-tests: New module.
2377
2378 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
2379
2380         strftime: don't assume a byte count fits in 'int'
2381         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
2382         found this problem by static analysis, using gcc -Wstrict-overflow
2383         (GCC 4.5.2, x86-64).  This reported an optimization that depended
2384         on an integer overflow having undefined behavior, but it turns out
2385         that the argument is a size, which might not fit in 'int' anyway,
2386
2387 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
2388
2389         stdio: don't require ignore_value around fwrite
2390
2391         This patch works around libc bug 11959
2392         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
2393         Without this patch, applications must often write
2394         ignore_value (fwrite (...)) even though the ignore_value is
2395         not helpful here.  It's common to write many objects, using
2396         fwrite/printf/etc., and then use ferror to detect output error.
2397
2398         I considered making this patch optional, but decided against it,
2399         because libc is obviously being inconsistent here: there is no
2400         reason libc should insist that user code must inspect fwrite
2401         return's value without also insisting that it inspect printf's,
2402         putchar's, etc.  If user code wants to have a strict style where
2403         all these functions' values are checked (so that ferror need not
2404         be checked), we could add support for that style in a new gnulib
2405         module, but in the meantime it's better to be consistent and to
2406         support common usage.
2407
2408         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
2409         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
2410         that we are compiling in checking mode, and if not C++, and
2411         if not already wrapping fwrite for some other reason.
2412         (fwrite): #define to rpl_fwrite if the latter is defined.
2413
2414 2011-03-20  Bruno Haible  <bruno@clisp.org>
2415
2416         verror: Fix compilation error introduced on 2011-02-13.
2417         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
2418         instead of __attribute__.
2419         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
2420
2421 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
2422             Bruno Haible  <bruno@clisp.org>
2423
2424         socklen: do not depend on sys_socket
2425         While trying to modify Emacs to use gnulib's socklen module,
2426         I discovered a circular dependency: socklen depends on sys_socket
2427         and vice versa.  Emacs can use socklen, but it does not need
2428         sys_socket because it has its own substitute for sys/socket.h.
2429         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
2430         gl_TYPE_SOCKLEN_T.
2431         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
2432         gl_PREREQ_SYS_H_SOCKET.
2433         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
2434         gl_PREREQ_SYS_H_SOCKET.
2435         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
2436         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
2437         * modules/socklen (Depends-on): Do not depend on sys_socket.
2438         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
2439
2440 2011-03-20  Jim Meyering  <meyering@redhat.com>
2441
2442         maint.mk: sort file names *after* new transformation
2443         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
2444         prefix would have led to an unwarranted failure in GNU parted.
2445         Sort after that transformation.
2446
2447 2011-03-19  Jim Meyering  <meyering@redhat.com>
2448
2449         maint.mk: fix po-file syntax-check rule
2450         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
2451         Patch by Bruno Haible.
2452
2453 2011-03-19  Bruno Haible  <bruno@clisp.org>
2454
2455         socklen: Update comment.
2456         * m4/socklen.m4: Update comment about platforms.
2457
2458 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
2459             Bruno Haible  <bruno@clisp.org>
2460
2461         inet_ntop, inet_pton: Simplify.
2462         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
2463         documented to provide socklen_t and we already depend on sys_socket.
2464         * modules/inet_pton (Depends-on): Likewise.
2465         * lib/arpa_inet.in.h: Adjust comment.
2466
2467 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
2468             Bruno Haible  <bruno@clisp.org>
2469
2470         netdb: Simplify.
2471         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
2472         documented to provide socklen_t and we already depend on sys_socket.
2473         * lib/netdb.in.h: Adjust comment.
2474
2475 2011-03-19  Bruno Haible  <bruno@clisp.org>
2476
2477         sys_socket, netdb: Document problem with socklen_t.
2478         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
2479         platforms.
2480         * doc/posix-headers/netdb.texi: Likewise.
2481
2482 2011-03-18  Eric Blake  <eblake@redhat.com>
2483
2484         maint.mk: let po check work in VPATH build
2485         * top/maint.mk (po_file): Allow cfg.mk override.
2486         (sc_po_check): Allow VPATH use.
2487         Reported by Jiri Denemark.
2488
2489 2011-03-16  Jim Meyering  <meyering@redhat.com>
2490
2491         maint.mk: allow fine-grained syntax-check exclusion via Make variables
2492         Before, you would have had to create one .x-sc_ file per rule in order
2493         to exempt offending files.  Now, you may instead use a Make variable --
2494         usually defined in cfg.mk -- whose name identifies the affected rule.
2495         * top/maint.mk (_sc_excl): Define.
2496         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
2497         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
2498
2499 2011-03-13  Bruno Haible  <bruno@clisp.org>
2500
2501         ignore-value tests: Avoid warnings.
2502         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
2503         empty for gcc < 3.4.
2504
2505 2011-03-13  Bruno Haible  <bruno@clisp.org>
2506
2507         passfd: Fix link error on Solaris.
2508         * modules/passfd (Description): Correct.
2509         (Depends-on): Add socketlib.
2510         (Link): New section.
2511         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
2512
2513 2011-03-13  Bruno Haible  <bruno@clisp.org>
2514
2515         passfd: Fix link error on AIX 5.2.
2516         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
2517
2518 2011-03-13  Bruno Haible  <bruno@clisp.org>
2519
2520         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
2521         * lib/sys_socket.in.h: Include <stddef.h>.
2522         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
2523         CMSG_FIRSTHDR. Remove unused variable.
2524
2525 2011-03-13  Bruno Haible  <bruno@clisp.org>
2526
2527         passfd: Fix compilation error on OpenBSD.
2528         * lib/passfd.c: Include <sys/uio.h>.
2529
2530 2011-03-13  Bruno Haible  <bruno@clisp.org>
2531
2532         passfd test: Fix warnings.
2533         * tests/test-passfd.c: Include <sys/wait.h>.
2534         (main): Fix typo.
2535
2536 2011-03-13  Bruno Haible  <bruno@clisp.org>
2537
2538         passfd module, part 4, tweaks.
2539         * tests/test-passfd.c: Reorder includes.
2540         (main): Fix perror and printf calls.
2541
2542 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
2543
2544         passfd module, part 4.
2545         * modules/passfd-tests: New file.
2546         * tests/test-passfd.c: New file.
2547
2548 2011-03-13  Jim Meyering  <meyering@redhat.com>
2549
2550         Makefile: rely on GNU make; derive syntax-check rule names
2551         Rather than requiring that each sc_ rule be listed as a dependent
2552         of "check", use features of GNU make to derive the list.
2553         * Makefile (syntax-check-rules): Define.
2554         (check): Depend on the new variable, not the hard-coded list.
2555
2556 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
2557             Bruno Haible  <bruno@clisp.org>
2558
2559         passfd module, part 3.
2560         * lib/passfd.h (recvfd): Add a flags argument.
2561         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
2562         (recvfd): Add a flags argument.
2563         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
2564         exists.
2565         * modules/passfd (Depends-on): Add cloexec.
2566         Suggested by Eric Blake.
2567
2568 2011-03-13  Bruno Haible  <bruno@clisp.org>
2569
2570         passfd module, part 2, tweaks.
2571         * modules/passfd (Files): Reorder.
2572         (Depends-on): Remove errno.
2573         (Include): Remove <sys/socket.h>, <sys/un.h>.
2574         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
2575         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
2576         specification header. Include <sys/socket.h> always. Don't include
2577         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
2578         (sendfd): Clarify that it sets errno when it fails.
2579         (recvfd): Fix specification.
2580
2581 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
2582
2583         passfd module, part 2.
2584         * modules/passfd: New file.
2585         * lib/passfd.h: New file.
2586         * lib/passfd.c: New file.
2587
2588 2011-03-12  Bruno Haible  <bruno@clisp.org>
2589
2590         wcswidth, mbswidth: Avoid integer overflow.
2591         * lib/wcswidth.c: Include <limits.h>.
2592         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
2593         * lib/mbswidth.c: Include <limits.h>.
2594         (mbsnwidth): Avoid 'int' overflow.
2595         Reported by Jim Meyering.
2596
2597 2011-03-12  Bruno Haible  <bruno@clisp.org>
2598
2599         futimens, utimensat: Avoid endless recursion on Solaris 10.
2600         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
2601         Solaris.
2602         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
2603         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
2604
2605 2011-03-11  Jim Meyering  <meyering@redhat.com>
2606
2607         maint.mk: relax a regexp to accommodate other formatting styles
2608         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
2609         between "ngettext" and the following "(".
2610
2611 2011-03-11  Pádraig Brady <P@draigBrady.com>
2612
2613         maint.mk: suppress a false positive warning
2614         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
2615         diagnostics are marked with ngettext.
2616
2617 2011-03-10  Eric Blake  <eblake@redhat.com>
2618
2619         wchar: add explicit dependencies, for Tru64
2620         * modules/mbmemcasecoll (Depends-on): Add wchar.
2621         * modules/mbtowc (Depends-on): Likewise.
2622         * modules/vasnprintf (Depends-on): Likewise.
2623         * modules/unistdio/u-printf-args (Depends-on): Likewise.
2624         * modules/wctomb (Depends-on): Likewise.
2625         Reported by Peter O'Gorman.
2626
2627 2011-03-08  Bruno Haible  <bruno@clisp.org>
2628
2629         passfd module, part 1, tweaks.
2630         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
2631         Improve indentation. Improve AC_MSG_CHECKING messages.
2632         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
2633         gl_SOCKET_FAMILIES.
2634
2635 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
2636
2637         passfd module, part 1.
2638         * m4/afunix.m4: New file.
2639         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
2640         sockets.
2641
2642 2011-03-08  Bruno Haible  <bruno@clisp.org>
2643
2644         regex-quote: New API.
2645         * lib/regex-quote.h: Include <stdbool.h>.
2646         (struct regex_quote_spec): New type.
2647         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
2648         New declarations.
2649         (regex_quote_length, regex_quote_copy, regex_quote): Take a
2650         'const struct regex_quote_spec *' argument.
2651         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
2652         (pcre_special): New constant.
2653         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
2654         New functions.
2655         (regex_quote_length, regex_quote_copy, regex_quote): Take a
2656         'const struct regex_quote_spec *' argument.
2657         * modules/regex-quote (Depends-on): Add stdbool.
2658         * tests/test-regex-quote.c (check): Update for new API. Add test for
2659         anchored results.
2660         * NEWS: Mention the API change.
2661         Reported by Reuben Thomas and Eric Blake.
2662
2663 2011-03-06  Bruno Haible  <bruno@clisp.org>
2664
2665         regex-quote: Fix creation of POSIX extended regular expressions.
2666         * lib/regex-quote.c (ere_special): Add grouping and alternation
2667         operators.
2668
2669 2011-03-05  Bruno Haible  <bruno@clisp.org>
2670
2671         doc: Improve doc regarding autopoint vs. gnulib.
2672         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
2673         disable autopoint while running autoreconf.
2674         Suggested by Ralf Wildenhues.
2675
2676 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2677
2678         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
2679         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
2680
2681 2011-03-03  Bruce Korb  <bkorb@gnu.org>
2682
2683         parse-duration: remove xalloc.h dependency
2684         * lib/parse-duration.c (parse_period): handle NULL return from
2685         strdup instead of calling xstrdup().
2686         * modules/parse-duration: remove "xalloc" dependency
2687
2688 2011-03-03  Matthew Booth  <mbooth@redhat.com>
2689
2690         bootstrap: honor m4_base when running aclocal
2691         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
2692
2693 2011-03-02  Jim Meyering  <meyering@redhat.com>
2694
2695         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
2696         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
2697         on request from Matt Booth.
2698
2699 2011-03-01  Eric Blake  <eblake@redhat.com>
2700
2701         test-link: work on Hurd
2702         * tests/test-link.h (test_link): Hurd rejects linking directories
2703         with EISDIR instead of the POSIX-mandated EPERM.
2704
2705 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
2706
2707         stdio: simplify by moving files to printf-posix, sigpipe
2708         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
2709         since this symbol is needed only if printf is replaced.
2710         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
2711         Require gl_ASM_SYMBOL_PREFIX.
2712         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
2713         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
2714         (Depends-on): Add 'raise'.
2715         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
2716         * modules/stdio (Files): Remove lib/stdio-write.c,
2717         m4/asm-underscore.m4.
2718         (Depends-on): Remove 'raise'.
2719
2720         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
2721         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
2722         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
2723         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
2724
2725 2011-02-28  Bruno Haible  <bruno@clisp.org>
2726
2727         localcharset: Assume ANSI C behaviour of free().
2728         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
2729         calling free().
2730         Suggested by Simon Josefsson <simon@josefsson.org>.
2731
2732 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
2733             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
2734             Bruno Haible  <bruno@clisp.org>  (tiny change)
2735
2736         On Cygwin, use /proc file system instead of win32 API.
2737         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
2738         Win32 file names.
2739         (DllMain): Simplify by removing Cygwin specific code.
2740         (find_shared_library_fullname): Use Linux specific implementation also
2741         for Cygwin.
2742         (get_shared_library_fullname): Update accordingly.
2743         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
2744         Win32 file names.
2745         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
2746         Cygwin specific code.
2747
2748 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
2749             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
2750
2751         Fix OpenMP flag detection for various Fortran compilers.
2752         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
2753         OpenMP-conditional compilation construct, to force compile
2754         failure with missing OpenMP flag.
2755         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
2756
2757 2011-02-25  Eric Blake  <eblake@redhat.com>
2758
2759         strstr: expand test coverage
2760         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
2761         compilation.
2762         * tests/test-memmem.c (main): Duplicate tests.
2763         * tests/test-strcasestr.c (main): Likewise.
2764         * tests/test-c-strcasestr.c (main): Likewise.
2765
2766 2011-02-25  Jim Meyering  <meyering@redhat.com>
2767
2768         maint.mk: detect missing-NL-at-EOF, too
2769         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
2770         it also detects when a file lacks a newline at EOF.
2771         (require_exactly_one_NL_at_EOF_): Renamed from
2772         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
2773         since people may well have .x-sc_... file names tied to the
2774         existing name.  Suggested by Eric Blake.
2775
2776 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
2777
2778         dirname: move m4/dos.m4 functionality into lib/dosname.h
2779
2780         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
2781         extracts symbols from it, puts them into config.h; but it's much
2782         easier to use the symbols directly.  filename.h already does this,
2783         but it disagrees with dos.m4 in some respects.  This patch
2784         introduces a different include file dosname.h that packages up
2785         dos.m4, and then later we can work on merging filename.h and
2786         dosname.h.  Applications that need only the easy-to-configure
2787         symbols should consider including dosname.h rather than dirname.h.
2788         * NEWS: Mention incompatible changes.
2789         * m4/dos.m4: Remove.
2790         * lib/dosname.h, modules/dosname: New files.
2791         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
2792         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
2793         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
2794         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
2795         Include dosname.h, not dirname.h.
2796         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
2797         Include dosname.h, for definitions of symbols like ISSLASH
2798         that used to be in config.h.
2799         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
2800         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
2801         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
2802         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
2803         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
2804         * modules/rmdir (Files): Likewise.
2805         * modules/stat (Files): Likewise.
2806         * modules/unlink (Files): Likewise.
2807         * modules/dirname-lgpl (Depends-on): Add dosname.
2808         * modules/lstat (Depends-on): Likewise.
2809         * modules/openat (Depends-on): Likewise.
2810         * modules/rmdir (Depends-on): Likewise.
2811         * modules/savewd (Depends-on): Likewise.
2812         * modules/stat (Depends-on): Likewise.
2813         * modules/unlink (Depends-on): Likewise.
2814         * modules/openat (Depends-on): Remove dirname-lgpl.
2815         * modules/savewd (Depends-on): Likewise.
2816         * tests/test-dirname.c: Do not use removed symbols like
2817         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
2818         the remaining symbols, e.g., ISSLASH ('\\').
2819
2820 2011-02-25  Eric Blake  <eblake@redhat.com>
2821
2822         strstr: revert patches that introduced bug and pessimization
2823         * lib/str-two-way.h: Add another reference.
2824         (two_way_short_needle, two_way_long_needle): Revert changes from
2825         2011-02-24; they pessimize search speed.
2826         (critical_factorization): Partially revert changes from
2827         2010-06-22; they violate the requirement that the left half of the
2828         needle be smaller than the period of the needle.
2829
2830 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
2831
2832         filenamecat: remove unnecessary dependency on dirname-lgpl
2833         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
2834         is no direct dependency, just an indirect one via filenamecat-lgpl.
2835
2836         remove: remove unnecessary use of m4/dos.m4
2837         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
2838         * modules/remove (FILES): Remove m4/dos.m4.
2839
2840         * lib/openat-proc.c: Don't include dirname.h; not needed.
2841
2842         backupfile: remove unnecessary use of m4/dos.m4
2843         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
2844         of its symbols are used by the backupfile code.  backupfile.c does
2845         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
2846         for the rare case of programs that want all their backup file
2847         names to live within 8+3 limits, and dos.m4 doesn't address that.
2848         * modules/backupfile (Files): Remove m4/dos.m4.
2849
2850 2011-02-24  Jim Meyering  <meyering@redhat.com>
2851
2852         strstr: fix a bug whereby strstr would mistakenly return NULL
2853         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
2854         in period calculation.
2855         (two_way_long_needle): Likewise.
2856         The original problem was reported by Mike Stump in
2857         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
2858         Ralf Wildenhues provided the short needle and haystack.
2859         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
2860         Add a more involved test to trigger the bug in two_way_long_needle.
2861
2862 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
2863
2864         gnulib-tool: remove use of bold display in help screen
2865         * gnulib-tool (func_usage): Do not use bold display anymore in the
2866         help screen.  That was just meant to be a temporary emphasis for a
2867         backward-incompatible change.
2868
2869 2011-02-23  Bruno Haible  <bruno@clisp.org>
2870
2871         Fix misindentation of preprocessor directives.
2872         * lib/argp-namefrob.h: Reindent preprocessor directives.
2873         * lib/getopt_int.h (struct _getopt_data): Likewise.
2874         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
2875         * lib/vasnprintf.c (decode_long_double): Likewise.
2876         * tests/test-argmatch.c: Insert blank lines, for clarity.
2877         * tests/test-exclude.c: Likewise.
2878
2879 2011-02-22  Bruno Haible  <bruno@clisp.org>
2880
2881         ioctl: Fix for MacOS X in 64-bit mode.
2882         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
2883         value.
2884         Suggested by Eric Blake.
2885         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
2886
2887 2011-02-22  Jim Meyering  <meyering@redhat.com>
2888
2889         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
2890         * Makefile (sc_cpp_indent_check): Don't limit the check to files
2891         in lib/.
2892
2893 2011-02-22  Eric Blake  <eblake@redhat.com>
2894
2895         maint: avoid any CDPATH issue
2896         * Makefile (sc_cpp_indent_check): Anchor cd argument.
2897
2898         maint: adjust cpp indentation for my modules, as well
2899         * Makefile (sc_cpp_indent_check): Add my name.
2900         * lib/fbufmode.c: Filter through cppi.
2901         * lib/fpurge.c: Likewise.
2902         * lib/freadable.c: Likewise.
2903         * lib/freading.c: Likewise.
2904         * lib/fwritable.c: Likewise.
2905         * lib/fwriting.c: Likewise.
2906         * lib/sigaction.c: Likewise.
2907
2908 2011-02-22  Jim Meyering  <meyering@redhat.com>
2909
2910         maint: adjust cpp indentation to reflect nesting depth
2911         I.e., in a block of code that begins with an unnested "#if",
2912         put one space between the "#" in column 1 and following token.
2913         For example,
2914         -#include <sys/vfs.h>
2915         +# include <sys/vfs.h>
2916         Do this only in .c files that are part of a module I maintain.
2917         * lib/linkat.c: Filter through cppi.
2918         * lib/nanosleep.c: Likewise.
2919         * lib/openat.c: Likewise.
2920         * lib/openat-die.c: Likewise.
2921         * lib/dup3.c: Likewise.
2922         * lib/fchownat.c: Likewise.
2923         * lib/flock.c: Likewise.
2924         * lib/fsync.c: Likewise.
2925         * lib/fts.c: Likewise.
2926         * lib/getpass.c: Likewise.
2927         * lib/gettimeofday.c: Likewise.
2928         * lib/userspec.c: Likewise.
2929         * Makefile (sc_cpp_indent_check): New rule, to check this.
2930
2931 2011-02-22  Bruno Haible  <bruno@clisp.org>
2932
2933         New module 'wctomb'.
2934         * lib/stdlib.in.h (wctomb): New declaration.
2935         * lib/wctomb.c: New file.
2936         * lib/wctomb-impl.h: New file.
2937         * m4/wctomb.m4: New file.
2938         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
2939         REPLACE_WCTOMB.
2940         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
2941         REPLACE_WCTOMB.
2942         * modules/wctomb: New file.
2943         * tests/test-stdlib-c++.cc: Test signature of wctomb.
2944         * doc/posix-functions/wctomb.texi: Mention the new module.
2945         * modules/wctob (Depends-on): Add wctomb.
2946
2947 2011-02-22  Bruno Haible  <bruno@clisp.org>
2948
2949         New module 'mbtowc'.
2950         * lib/stdlib.in.h (mbtowc): New declaration.
2951         * lib/mbtowc.c: New file.
2952         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
2953         * m4/mbtowc.m4: New file.
2954         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
2955         REPLACE_MBTOWC.
2956         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
2957         REPLACE_MBTOWC.
2958         * modules/mbtowc: New file.
2959         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
2960         * doc/posix-functions/mbtowc.texi: Mention the new module.
2961         * modules/btowc (Depends-on): Add mbtowc.
2962
2963 2011-02-22  Bruno Haible  <bruno@clisp.org>
2964
2965         wcrtomb: Add more tests for native Windows platforms.
2966         * tests/test-wcrtomb-w32-1.sh: New file.
2967         * tests/test-wcrtomb-w32-2.sh: New file.
2968         * tests/test-wcrtomb-w32-3.sh: New file.
2969         * tests/test-wcrtomb-w32-4.sh: New file.
2970         * tests/test-wcrtomb-w32-5.sh: New file.
2971         * tests/test-wcrtomb-w32.c: New file.
2972         * modules/wcrtomb-tests (Files): Add them.
2973         (Makefile.am): Arrange to run these tests.
2974         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
2975         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
2976
2977 2011-02-20  Bruno Haible  <bruno@clisp.org>
2978
2979         wcrtomb: Enhance test.
2980         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
2981
2982 2011-02-20  Bruno Haible  <bruno@clisp.org>
2983
2984         mbrtowc: Tiny optimization.
2985         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
2986
2987 2011-02-20  Jim Meyering  <meyering@redhat.com>
2988
2989         test-exclude.c: remove unmatched #endif
2990         * tests/test-exclude.c: Remove stray #endif, left over from
2991         the change of a week ago.
2992
2993 2011-02-19  Jim Meyering  <meyering@redhat.com>
2994
2995         git-version-gen: skip "-dirty" check when appropriate
2996         * build-aux/git-version-gen: Don't run any git commands when the
2997         version string comes from .tarball-version.  Prior to this, we
2998         would run git update-index --refresh even from a just-unpacked
2999         tarball directory, and that could affect a .git/ directory in a
3000         parent of the build directory.  Reported by Mike Frysinger.
3001
3002 2011-02-19  Bruno Haible  <bruno@clisp.org>
3003
3004         unictype/property-byname: Reduce the size of the 'data' segment.
3005         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
3006
3007 2011-02-19  Bruno Haible  <bruno@clisp.org>
3008
3009         unictype/scripts: Reduce the size of the 'data' segment.
3010         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
3011         '%pic'.
3012         * lib/unictype/scripts_byname.gperf: Regenerated.
3013
3014 2011-02-19  Bruno Haible  <bruno@clisp.org>
3015
3016         stdint: Update documentation.
3017         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
3018
3019 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
3020
3021         stdint: omit redundant check for wchar.h
3022         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
3023         always tests whether wchar.h exists, so remove the now-redundant test.
3024
3025 2011-02-18  Bruno Haible  <bruno@clisp.org>
3026
3027         stdint: Cut dependency to module 'wchar'.
3028         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
3029         include the necessary prerequisites.
3030         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
3031         * modules/stdint (Depends-on): Remove wchar.
3032         (Makefile.am): Substitute HAVE_WCHAR_H.
3033         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
3034
3035 2011-02-18  Eric Blake  <eblake@redhat.com>
3036
3037         longlong: skip, rather than fail, on cross-compilation
3038         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
3039         when cross-compiling; regression from 2011-02-16.
3040
3041 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
3042
3043         * NEWS: Mention 2011-02-08 change to stdlib.
3044
3045 2011-02-17  Bruno Haible  <bruno@clisp.org>
3046
3047         getloadavg: Add comments about platforms.
3048         * m4/getloadavg.m4: Add comment.
3049         * lib/getloadavg.c: Likewise.
3050
3051 2011-02-17  Bruno Haible  <bruno@clisp.org>
3052
3053         getloadavg: Fix link error on Solaris 2.6.
3054         * modules/getloadavg (Link): New section.
3055         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
3056         linking test-getloadavg.
3057         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
3058         getloadavg.
3059
3060 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
3061
3062         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
3063         It was 'int', but this doesn't match the IRIX 6.5 manual.
3064         Suggested by Bruno Haible in
3065         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
3066
3067 2011-02-17  Bruno Haible  <bruno@clisp.org>
3068
3069         havelib: Fix comments.
3070         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
3071         change.
3072
3073 2011-02-17  Bruno Haible  <bruno@clisp.org>
3074
3075         havelib: Update config.rpath.
3076         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
3077
3078 2011-02-17  Bruno Haible  <bruno@clisp.org>
3079
3080         getloadavg test: Add some plausibility checks.
3081         * tests/test-getloadavg.c (check_avg): Print a warning when the value
3082         is improbable.
3083
3084 2011-02-16  Eric Blake  <eblake@redhat.com>
3085
3086         maintainer-makefile: make syntax-check a no-op from tarballs
3087         * top/maint.mk (no-vc-detected): New rule.
3088         (local-checks-available): Use it to avoid hanging if someone tries
3089         'make syntax-check' from a tarball.  Also append to any non-syntax
3090         checks already defined in cfg.mk.
3091
3092 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
3093
3094         longlong: tune, particularly for common case of c99
3095
3096         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
3097         or running anything if c99, or if unsigned long long int does not
3098         work.  In either case, we know the answer without further tests.
3099         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
3100         it at most once, and use its results for both long long int and
3101         unsigned long long int.  This is more likely to be efficient in
3102         the common case where the program wants to check for both long
3103         long int and unsigned long long int.
3104         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
3105         since the answer is already known.
3106
3107 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
3108
3109         getloadavg: set errno
3110         * lib/getloadavg.c: Set errno when returning -1.  If no other
3111         error number looks appropriate, set it to ENOSYS if the getloadavg
3112         looks like it can't possibly ever work, ENOTSUP otherwise.
3113         Suggested by Bruno Haible in
3114         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
3115
3116         getloadavg: trim unused parts and speed up 'configure'
3117         * NEWS: Document this.
3118         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
3119         always compiled if getloadavg is absent.
3120         Move test code to ...
3121         * tests/test-getloadavg.c: New file, containing previous
3122         contents of test from lib/getloadavg.c.  It also contains
3123         suggestions by Bruno Haible in
3124         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
3125         * modules/getloadavg-tests: New file.
3126         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
3127         Do tests in the same order as they're needed for getloadavg.c.
3128         Omit setgid-related tests that generate symbols KMEM_GROUP,
3129         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
3130         Do only the tests that are needed to see whether the system has
3131         getloadavg, moving the other tests into ...
3132         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
3133         NLIST_NAME_UNION; nobody should be using it.  Do not define
3134         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
3135         relevant, as the user of this module shouldn't care how getloadavg
3136         is implemented.
3137
3138         getloadavg: omit unused var
3139         * lib/getloadavg.c (getloadavg): Omit unused local variable.
3140
3141 2011-02-15  Jim Meyering  <meyering@redhat.com>
3142
3143         doc: update users.txt
3144         * users.txt: Update iwhd's URL.
3145
3146 2011-02-13  Bruno Haible  <bruno@clisp.org>
3147
3148         Consistent macro naming for macros that use GCC __attribute__.
3149         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
3150         _ATTRIBUTE_NONNULL_.
3151         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
3152         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
3153         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
3154         ATTRIBUTE_DEPRECATED.
3155         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
3156         ATTRIBUTE_NORETURN.
3157         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
3158         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
3159         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
3160         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
3161         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
3162         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
3163         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
3164         ATTRIBUTE_SENTINEL.
3165         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
3166         ATTRIBUTE_RETURN_CHECK.
3167         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
3168         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
3169         ATTRIBUTE_NORETURN.
3170         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
3171         Reported by Paul Eggert.
3172
3173 2011-02-13  Bruno Haible  <bruno@clisp.org>
3174
3175         Don't interfere with a program's definition of __attribute__.
3176         * lib/argp.h (__attribute__): Remove definition.
3177         (_GL_ATTRIBUTE_FORMAT): New macro.
3178         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
3179         * lib/argp-fmtstream.h (__attribute__): Remove definition.
3180         (_GL_ATTRIBUTE_FORMAT): New macro.
3181         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
3182         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
3183         GCC 3 or newer.
3184         * lib/error.h (__attribute__): Remove definition.
3185         (_GL_ATTRIBUTE_FORMAT): New macro.
3186         (error, error_at_line): Use it.
3187         * lib/hash.h (__attribute__): Remove definition.
3188         (ATTRIBUTE_WUR): Update definition. Define always.
3189         * lib/openat.h (__attribute__): Remove definition.
3190         (ATTRIBUTE_NORETURN): Update definition. Define always.
3191         * lib/sigpipe-die.h (__attribute__): Remove definition.
3192         (ATTRIBUTE_NORETURN): Update definition. Define always.
3193         * lib/vasnprintf.h (__attribute__): Remove definition.
3194         (_GL_ATTRIBUTE_FORMAT): New macro.
3195         (asnprintf, vasnprintf): Use it.
3196         * lib/xalloc.h (__attribute__): Remove definition.
3197         (ATTRIBUTE_NORETURN): Update definition. Define always.
3198         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
3199         * lib/xmemdup0.h (__attribute__): Remove definition.
3200         (ATTRIBUTE_NORETURN): Update definition. Define always.
3201         * lib/xprintf.h (__attribute__): Remove definition.
3202         (_GL_ATTRIBUTE_FORMAT): New macro.
3203         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
3204         * lib/xstrtol.h (__attribute__): Remove definition.
3205         (ATTRIBUTE_NORETURN): Update definition. Define always.
3206         * lib/xvasprintf.h (__attribute__): Remove definition.
3207         (_GL_ATTRIBUTE_FORMAT): New macro.
3208         (xasprintf, xvasprintf): Use it.
3209         * tests/test-argmatch.c (__attribute__): Remove definition.
3210         (ATTRIBUTE_NORETURN): Update definition. Define always.
3211         * tests/test-exclude.c (__attribute__): Remove definition.
3212         (ATTRIBUTE_NORETURN): Update definition. Define always.
3213         Reported by Paul Eggert.
3214
3215 2011-02-13  Bruno Haible  <bruno@clisp.org>
3216
3217         mbrtowc: Add more tests for native Windows platforms.
3218         * tests/test-mbrtowc-w32-1.sh: New file.
3219         * tests/test-mbrtowc-w32-2.sh: New file.
3220         * tests/test-mbrtowc-w32-3.sh: New file.
3221         * tests/test-mbrtowc-w32-4.sh: New file.
3222         * tests/test-mbrtowc-w32-5.sh: New file.
3223         * tests/test-mbrtowc-w32.c: New file.
3224         * modules/mbrtowc-tests (Files): Add them.
3225         (Makefile.am): Arrange to run these tests.
3226         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
3227         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
3228
3229 2011-02-13  Bruno Haible  <bruno@clisp.org>
3230
3231         mbrtowc: Work around native Windows bug.
3232         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
3233         guess when no suitable locale for testing was found.
3234         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
3235
3236 2011-02-13  Bruno Haible  <bruno@clisp.org>
3237
3238         mbsinit: Work around mingw bug.
3239         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
3240         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
3241         Windows.
3242         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
3243
3244 2011-02-13  Bruno Haible  <bruno@clisp.org>
3245
3246         mbsinit: Don't crash for a NULL argument.
3247         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
3248         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
3249
3250 2011-02-13  Bruno Haible  <bruno@clisp.org>
3251
3252         Don't interfere with a program's definition of __attribute__.
3253         * lib/stdio.in.h (__attribute__): Remove definition.
3254         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
3255         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
3256         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
3257         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
3258         * lib/string.in.h (__attribute__): Remove definition.
3259         Reported by Paul Eggert.
3260
3261 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
3262
3263         stdlib: don't get in the way of non-GCC __attribute__
3264         See thread starting at
3265         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
3266         Revert previous stdlib change, installing the following instead:
3267         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
3268         to get in the way of a non-GCC compiler that supports __attribute__.
3269         (_GL_ATTRIBUTE_RETURN): New macro.
3270         (_Exit): Use it instead of __attribute__.
3271
3272 2011-02-12  Bruno Haible  <bruno@clisp.org>
3273
3274         quotearg test: Avoid test failure on mingw.
3275         * tests/test-quotearg.sh: Convert the locale identifier from native
3276         Windows syntax to Unix syntax.
3277
3278 2011-02-12  Bruno Haible  <bruno@clisp.org>
3279
3280         setlocale: Prefer gnulib's override over libintl's override.
3281         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
3282         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
3283         GNULIB_defined_setlocale is set.
3284
3285 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
3286
3287         stdlib: support non-GCC __attribute__
3288
3289         Fix a serious and tricky problem encountered when attempting to
3290         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
3291         5.5, but it crashed due to memory corruption on Solaris 10 with
3292         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
3293         bits that are otherwise zero.  This tagging is optional inside
3294         Emacs but is preferred and is used when __attribute__ ((__aligned
3295         (8))) works, as it does with both recent-enough GCC and with Sun C
3296         5.11.  However, Sun C 5.11 is not GCC and does not #define
3297         __GNUC__ and __GNUC_MINOR__.
3298
3299         When I added the getloadavg module to Emacs, it brought in
3300         stdlib.in.h, which contained this fragment:
3301
3302            #ifndef __attribute__
3303            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
3304            #  define __attribute__(Spec)   /* empty */
3305            # endif
3306            #endif
3307
3308         When files that include <stdlib.h> were compiled with Sun C 5.11,
3309         the above code disabled __attribute__ ((__aligned (8))), which
3310         caused variables to not be properly aligned, which eventually led
3311         to the pointer corruption mentioned above.  (This was a bit hard
3312         to diagnose, unfortunately.)
3313
3314         Several "#define __attribute__(X) /* empty */" code snippets need
3315         to be eradicated from Gnulib to work with non-GCC compilers that
3316         support __attribute__.  The Autoconf way to do this is to test for
3317         each kind of attribute that we want support for, and selectively
3318         enable that in source code.
3319
3320         Fix this problem just for stdlib.h, by adding a test for the
3321         __noreturn__ attribute, and change stdlib.in.h to use that test
3322         when needed.  This technique can be easily generalized to the
3323         other *.in.h files and attributes, and a similar technique can be
3324         used for *.h and *.c files.  This patch is enough to solve the
3325         problem for Emacs + getloadavg, and I thought I'd publish it for
3326         feedback before undertaking further, similar fixes in other
3327         modules.
3328
3329         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
3330         because it's not needed for stdlib.h.  It merely substitutes the
3331         value directly into stdlib.h.  We may well need to #define it, or
3332         similar symbols, for other modules, but it's nice to also have an
3333         option to not #define it for applications like Emacs that do not
3334         need it.
3335
3336         * lib/stdlib.in.h (__attribute__): Do not #define.
3337         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
3338         be defined only if the _Exit module is also used.
3339         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
3340         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
3341         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
3342         platforms.
3343         * modules/_Exit (Files): Add m4/attribute.m4.
3344         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
3345         * m4/attribute.m4: New file.
3346
3347 2011-02-12  Bruno Haible  <bruno@clisp.org>
3348
3349         wcsrtombs: Work around bug on native Windows.
3350         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
3351         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
3352         instead of len.
3353         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
3354
3355 2011-02-12  Bruno Haible  <bruno@clisp.org>
3356
3357         mbsrtowcs: Work around bug on native Windows.
3358         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
3359         against mingw bug.
3360         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
3361
3362 2011-02-12  Bruno Haible  <bruno@clisp.org>
3363
3364         Avoid setlocale bugs in tests.
3365         * modules/btowc (Dependencies): Add setlocale.
3366         * modules/c-strcase (Dependencies): Likewise.
3367         * modules/mbmemcasecmp (Dependencies): Likewise.
3368         * modules/mbmemcasecoll (Dependencies): Likewise.
3369         * modules/mbrtowc (Dependencies): Likewise.
3370         * modules/mbscasecmp (Dependencies): Likewise.
3371         * modules/mbscasestr (Dependencies): Likewise.
3372         * modules/mbschr (Dependencies): Likewise.
3373         * modules/mbscspn (Dependencies): Likewise.
3374         * modules/mbsinit (Dependencies): Likewise.
3375         * modules/mbsncasecmp (Dependencies): Likewise.
3376         * modules/mbsnrtowcs (Dependencies): Likewise.
3377         * modules/mbspbrk (Dependencies): Likewise.
3378         * modules/mbspcasecmp (Dependencies): Likewise.
3379         * modules/mbsrchr (Dependencies): Likewise.
3380         * modules/mbsrtowcs (Dependencies): Likewise.
3381         * modules/mbsspn (Dependencies): Likewise.
3382         * modules/mbsstr (Dependencies): Likewise.
3383         * modules/nl_langinfo (Dependencies): Likewise.
3384         * modules/quotearg (Dependencies): Likewise.
3385         * modules/unicase/locale-language (Dependencies): Likewise.
3386         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
3387         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
3388         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
3389         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
3390         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
3391         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
3392         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
3393         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
3394         * modules/vasnprintf-posix (Dependencies): Likewise.
3395         * modules/wcrtomb (Dependencies): Likewise.
3396         * modules/wcsnrtombs (Dependencies): Likewise.
3397         * modules/wcsrtombs (Dependencies): Likewise.
3398
3399 2011-02-12  Bruno Haible  <bruno@clisp.org>
3400
3401         setlocale: Workaround native Windows bug.
3402         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
3403         succeeds but sets LC_CTYPE to "C", report a failure.
3404         * tests/test-setlocale2.sh: New file.
3405         * tests/test-setlocale2.c: New file.
3406         * modules/setlocale-tests (Files): Add the new files.
3407         (Makefile.am): Enable test-setlocale2.sh test.
3408         * doc/posix-functions/setlocale.texi: Mention workaround.
3409
3410 2011-02-11  Bruno Haible  <bruno@clisp.org>
3411
3412         Tests for module 'setlocale'.
3413         * modules/setlocale-tests: New file.
3414         * tests/test-setlocale1.sh: New file.
3415         * tests/test-setlocale1.c: New file.
3416
3417         New module 'setlocale'.
3418         * lib/locale.in.h (setlocale): New declaration.
3419         * lib/setlocale.c: New file, based on
3420         gettext/gettext-runtime/intl/setlocale.c.
3421         * m4/setlocale.m4: New file.
3422         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
3423         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
3424         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
3425         REPLACE_SETLOCALE.
3426         * modules/setlocale: New file.
3427         * tests/test-locale-c++.cc: Test the declaration of setlocale.
3428         * doc/posix-functions/setlocale.texi: Mention the new module.
3429
3430 2011-02-11  Bruno Haible  <bruno@clisp.org>
3431
3432         Prepare for locale dependent tests on mingw.
3433         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
3434         because it has the wrong locale encoding.
3435         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
3436         French_France.1252 instead of "fr".
3437         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
3438         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
3439         because it has the wrong locale encoding.
3440         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
3441         native Windows, try Turkish_Turkey.65001.
3442         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
3443         Chinese_China.54936.
3444
3445         Prepare for locale dependent tests on mingw.
3446         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
3447         differently.
3448         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
3449         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
3450         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
3451         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
3452
3453 2011-02-11  Eric Blake  <eblake@redhat.com>
3454
3455         strptime: avoid compiler warnings
3456         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
3457         compiler warnings about dead code.
3458         Reported by Daniel P. Berrange.
3459
3460 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
3461
3462         doc: update users.txt
3463         * users.txt: Add rcs.
3464
3465 2011-02-10  John W. Eaton  <jwe@gnu.org>
3466
3467         doc: update users.txt
3468         * users.txt: Add octave.
3469
3470 2011-02-10  Jim Meyering  <meyering@redhat.com>
3471
3472         doc: update users.txt
3473         * users.txt: Add iwhd.
3474
3475 2011-02-09  Bruno Haible  <bruno@clisp.org>
3476
3477         gnulib-tool: Make copyright notice adjustment more robust.
3478         * gnulib-tool (func_import): In sed_transform_main_lib_file,
3479         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
3480         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
3481         License".
3482         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
3483
3484 2011-02-06  Bruno Haible  <bruno@clisp.org>
3485
3486         New module 'towctrans'.
3487         * modules/towctrans: New file.
3488         * lib/wctype.in.h (towctrans): New declaration.
3489         * lib/towctrans.c: New file.
3490         * lib/towctrans-impl.h: New file.
3491         * m4/towctrans.m4: New file.
3492         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
3493         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
3494         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
3495         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
3496         * doc/posix-functions/towctrans.texi: Mention the new module.
3497
3498 2011-02-06  Bruno Haible  <bruno@clisp.org>
3499
3500         New module 'wctrans'.
3501         * modules/wctrans: New file.
3502         * lib/wctype.in.h (wctrans): New declaration.
3503         * lib/wctrans.c: New file.
3504         * lib/wctrans-impl.h: New file.
3505         * m4/wctrans.m4: New file.
3506         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
3507         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
3508         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
3509         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
3510         * doc/posix-functions/wctrans.texi: Mention the new module.
3511
3512 2011-02-06  Bruno Haible  <bruno@clisp.org>
3513
3514         New module 'iswctype'.
3515         * modules/iswctype: New file.
3516         * lib/wctype.in.h (iswctype): New declaration.
3517         * lib/iswctype.c: New file.
3518         * lib/iswctype-impl.h: New file.
3519         * m4/iswctype.m4: New file.
3520         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
3521         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
3522         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
3523         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
3524         * doc/posix-functions/iswctype.texi: Mention the new module and the
3525         HP-UX 11.00 problem.
3526
3527 2011-02-06  Bruno Haible  <bruno@clisp.org>
3528
3529         New module 'wctype'.
3530         * modules/wctype: Change to represent the wctype() substitute.
3531         * lib/wctype.in.h (wctype): New declaration.
3532         * lib/wctype.c: New file.
3533         * lib/wctype-impl.h: New file.
3534         * m4/wctype.m4: New file.
3535         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
3536         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
3537         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
3538         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
3539         * doc/posix-functions/wctype.texi: Mention the new module and the
3540         HP-UX 11.00 problem.
3541
3542 2011-02-06  Bruno Haible  <bruno@clisp.org>
3543
3544         wctype-h: Ensure wctype_t and wctrans_t are defined.
3545         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
3546         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
3547         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
3548         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
3549         HAVE_WCTRANS_T.
3550         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
3551
3552 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
3553
3554         flock: fix license typo
3555
3556         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
3557         omitted.
3558
3559 2011-02-08  Bruno Haible  <bruno@clisp.org>
3560
3561         Split large sed scripts, for HP-UX sed.
3562         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
3563         to avoid HP-UX limit of 99 commands, in the near future.
3564         * modules/stdlib (Makefile.am): Likewise.
3565         * modules/unistd (Makefile.am): Likewise.
3566         * modules/wchar (Makefile.am): Likewise.
3567         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
3568         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
3569         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
3570
3571 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
3572             Bruno Haible  <bruno@clisp.org>
3573
3574         stdlib: improve random_r modularization
3575         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
3576         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
3577         you also need the random_r module to get this material right.
3578         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
3579         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
3580         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
3581
3582 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
3583
3584         stdlib: don't depend on stdint
3585         * lib/stdlib.in.h: Don't include <stdint.h> merely because
3586         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
3587         be independent of whether stdint.h is needed.
3588         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
3589         here, instead of ...
3590         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
3591         struct random_data should be using the random_r module, not just
3592         the stdlib module (which wouldn't make sense: what package needs
3593         just struct random_data without also needing random_r?).
3594         * modules/stdlib (Depends-on): Remove stdint.
3595
3596         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
3597         See the thread rooted at
3598         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
3599         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
3600         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
3601         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
3602         __VMS)); previously it was always included (via fcntl--.h).
3603         (getloadavg): Do not use c_strtod.  Instead, approximate it by
3604         hand; this is good enough for load averages.  Also, do not use
3605         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
3606         flags directly if available and don't bother otherwise.  (Packages
3607         that need the extra reliability should use the modules that define
3608         these flags on older platforms that lack them.)
3609         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
3610         fcntl-safer.
3611
3612 2011-02-08  Jim Meyering  <meyering@redhat.com>
3613
3614         di-set.h, ino-map.h: add multiple-inclusion guard
3615         Technically, the guard is required only for ino-map.h, due to its
3616         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
3617         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
3618         * lib/ino-map.h: Likewise.
3619
3620 2011-02-06  Bruno Haible  <bruno@clisp.org>
3621
3622         iswblank: Ensure declaration on glibc systems.
3623         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
3624         * modules/iswblank (Dependencies): Add 'extensions'.
3625         * doc/posix-functions/iswblank.texi: Document the glibc problem.
3626
3627 2011-02-06  Bruno Haible  <bruno@clisp.org>
3628
3629         New module 'iswblank'.
3630         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
3631         * modules/iswblank: New file.
3632         * modules/wctype-h (Files): Remove lib/iswblank.c.
3633         (Makefile.am): Substitute GNULIB_ISWBLANK.
3634         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
3635         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
3636         (gl_WCTYPE_H_DEFAULTS): New macro.
3637         (gl_WCTYPE_H): Require it. Remove iswblank related code.
3638         * modules/iswblank-tests: New file.
3639         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
3640         * tests/test-wctype-h.c (main): Remove iswblank tests.
3641         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
3642         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
3643         of 'wctype-h'.
3644         * NEWS: Mention the change.
3645         * modules/mbchar (Depends-on): Add iswblank.
3646
3647 2011-02-08  Bruno Haible  <bruno@clisp.org>
3648
3649         di-set tests: Refactor.
3650         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
3651         unnecessary includes.
3652         (ASSERT): Remove macro.
3653         (main): Make C90 compliant by avoiding variable declaration after
3654         statement.
3655         * modules/di-set-tests (Files): Add tests/macros.h.
3656
3657 2011-02-08  Bruno Haible  <bruno@clisp.org>
3658
3659         ino-map tests: Refactor.
3660         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
3661         unnecessary includes.
3662         (ASSERT): Remove macro.
3663         (main): Make C90 compliant by avoiding variable declaration after
3664         statement.
3665         * modules/ino-map-tests (Files): Add tests/macros.h.
3666
3667 2011-02-08  Jim Meyering  <meyering@redhat.com>
3668
3669         di-set: add "const" to a cast
3670         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
3671         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
3672
3673 2011-02-06  Bruno Haible  <bruno@clisp.org>
3674
3675         Rename module 'wctype' to 'wctype-h'.
3676         * modules/wctype-h: Renamed from modules/wctype.
3677         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
3678         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
3679         (Files, Depends-on, Makefile.am): Update.
3680         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
3681         (Files, Makefile.am): Update.
3682         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
3683         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
3684         * doc/posix-headers/wctype.texi: Update.
3685         * doc/posix-functions/iswalnum.texi: Update.
3686         * doc/posix-functions/iswalpha.texi: Update.
3687         * doc/posix-functions/iswblank.texi: Update.
3688         * doc/posix-functions/iswcntrl.texi: Update.
3689         * doc/posix-functions/iswdigit.texi: Update.
3690         * doc/posix-functions/iswgraph.texi: Update.
3691         * doc/posix-functions/iswlower.texi: Update.
3692         * doc/posix-functions/iswprint.texi: Update.
3693         * doc/posix-functions/iswpunct.texi: Update.
3694         * doc/posix-functions/iswspace.texi: Update.
3695         * doc/posix-functions/iswupper.texi: Update.
3696         * doc/posix-functions/iswxdigit.texi: Update.
3697         * doc/posix-functions/towlower.texi: Update.
3698         * doc/posix-functions/towupper.texi: Update.
3699         * NEWS: Mention the change.
3700         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
3701         * modules/mbchar (Dependencies): Likewise.
3702         * modules/mbswidth (Dependencies): Likewise.
3703         * modules/quotearg (Dependencies): Likewise.
3704         * modules/regex (Dependencies): Likewise.
3705         * modules/wcscasecmp (Dependencies): Likewise.
3706         * modules/wcsncasecmp (Dependencies): Likewise.
3707         * modules/wcwidth (Dependencies): Likewise.
3708
3709 2011-02-06  Bruno Haible  <bruno@clisp.org>
3710
3711         New module 'wcswidth'.
3712         * modules/wcswidth: New file.
3713         * lib/wchar.in.h (wcswidth): New declaration.
3714         * lib/wcswidth.c: New file.
3715         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
3716         * m4/wcswidth.m4: New file.
3717         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
3718         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
3719         REPLACE_WCSWIDTH.
3720         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
3721         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
3722         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
3723         * doc/posix-functions/wcswidth.texi: Mention the new module.
3724
3725 2011-02-06  Bruno Haible  <bruno@clisp.org>
3726
3727         New module 'wcstok'.
3728         * modules/wcstok: New file.
3729         * lib/wchar.in.h (wcstok): New declaration.
3730         * lib/wcstok.c: New file.
3731         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
3732         * m4/wcstok.m4: New file.
3733         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
3734         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
3735         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
3736         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
3737         * doc/posix-functions/wcstok.texi: Mention the new module.
3738
3739 2011-02-06  Bruno Haible  <bruno@clisp.org>
3740
3741         New module 'wcsstr'.
3742         * modules/wcsstr: New file.
3743         * lib/wchar.in.h (wcsstr): New declaration.
3744         * lib/wcsstr.c: New file.
3745         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
3746         * m4/wcsstr.m4: New file.
3747         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
3748         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
3749         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
3750         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
3751         * doc/posix-functions/wcsstr.texi: Mention the new module.
3752
3753 2011-02-06  Bruno Haible  <bruno@clisp.org>
3754
3755         New module 'wcspbrk'.
3756         * modules/wcspbrk: New file.
3757         * lib/wchar.in.h (wcspbrk): New declaration.
3758         * lib/wcspbrk.c: New file.
3759         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
3760         * m4/wcspbrk.m4: New file.
3761         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
3762         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
3763         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
3764         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
3765         * doc/posix-functions/wcspbrk.texi: Mention the new module.
3766
3767 2011-02-06  Bruno Haible  <bruno@clisp.org>
3768
3769         New module 'wcsspn'.
3770         * modules/wcsspn: New file.
3771         * lib/wchar.in.h (wcsspn): New declaration.
3772         * lib/wcsspn.c: New file.
3773         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
3774         * m4/wcsspn.m4: New file.
3775         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
3776         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
3777         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
3778         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
3779         * doc/posix-functions/wcsspn.texi: Mention the new module.
3780
3781 2011-02-06  Bruno Haible  <bruno@clisp.org>
3782
3783         New module 'wcscspn'.
3784         * modules/wcscspn: New file.
3785         * lib/wchar.in.h (wcscspn): New declaration.
3786         * lib/wcscspn.c: New file.
3787         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
3788         * m4/wcscspn.m4: New file.
3789         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
3790         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
3791         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
3792         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
3793         * doc/posix-functions/wcscspn.texi: Mention the new module.
3794
3795 2011-02-06  Bruno Haible  <bruno@clisp.org>
3796
3797         New module 'wcsrchr'.
3798         * modules/wcsrchr: New file.
3799         * lib/wchar.in.h (wcsrchr): New declaration.
3800         * lib/wcsrchr.c: New file.
3801         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
3802         * m4/wcsrchr.m4: New file.
3803         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
3804         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
3805         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
3806         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
3807         * doc/posix-functions/wcsrchr.texi: Mention the new module.
3808
3809 2011-02-06  Bruno Haible  <bruno@clisp.org>
3810
3811         New module 'wcschr'.
3812         * modules/wcschr: New file.
3813         * lib/wchar.in.h (wcschr): New declaration.
3814         * lib/wcschr.c: New file.
3815         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
3816         * m4/wcschr.m4: New file.
3817         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
3818         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
3819         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
3820         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
3821         * doc/posix-functions/wcschr.texi: Mention the new module.
3822
3823 2011-02-06  Bruno Haible  <bruno@clisp.org>
3824
3825         New module 'wcsdup'.
3826         * modules/wcsdup: New file.
3827         * lib/wchar.in.h (wcsdup): New declaration.
3828         * lib/wcsdup.c: New file.
3829         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
3830         * m4/wcsdup.m4: New file.
3831         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
3832         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
3833         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
3834         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
3835         * doc/posix-functions/wcsdup.texi: Mention the new module.
3836
3837 2011-02-06  Bruno Haible  <bruno@clisp.org>
3838
3839         New module 'wcsxfrm'.
3840         * modules/wcsxfrm: New file.
3841         * lib/wchar.in.h (wcsxfrm): New declaration.
3842         * lib/wcsxfrm.c: New file.
3843         * lib/wcsxfrm-impl.h: New file.
3844         * m4/wcsxfrm.m4: New file.
3845         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
3846         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
3847         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
3848         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
3849         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
3850
3851 2011-02-06  Bruno Haible  <bruno@clisp.org>
3852
3853         New module 'wcscoll'.
3854         * modules/wcscoll: New file.
3855         * lib/wchar.in.h (wcscoll): New declaration.
3856         * lib/wcscoll.c: New file.
3857         * lib/wcscoll-impl.h: New file.
3858         * m4/wcscoll.m4: New file.
3859         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
3860         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
3861         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
3862         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
3863         * doc/posix-functions/wcscoll.texi: Mention the new module.
3864
3865 2011-02-06  Bruno Haible  <bruno@clisp.org>
3866
3867         New module 'wcsncasecmp'.
3868         * modules/wcsncasecmp: New file.
3869         * lib/wchar.in.h (wcsncasecmp): New declaration.
3870         * lib/wcsncasecmp.c: New file.
3871         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
3872         * m4/wcsncasecmp.m4: New file.
3873         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
3874         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
3875         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
3876         HAVE_WCSNCASECMP.
3877         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
3878         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
3879
3880 2011-02-06  Bruno Haible  <bruno@clisp.org>
3881
3882         New module 'wcscasecmp'.
3883         * modules/wcscasecmp: New file.
3884         * lib/wchar.in.h (wcscasecmp): New declaration.
3885         * lib/wcscasecmp.c: New file.
3886         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
3887         * m4/wcscasecmp.m4: New file.
3888         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
3889         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
3890         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
3891         HAVE_WCSCASECMP.
3892         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
3893         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
3894
3895 2011-02-05  Bruno Haible  <bruno@clisp.org>
3896
3897         New module 'wcsncmp'.
3898         * modules/wcsncmp: New file.
3899         * lib/wchar.in.h (wcsncmp): New declaration.
3900         * lib/wcsncmp.c: New file.
3901         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
3902         * m4/wcsncmp.m4: New file.
3903         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
3904         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
3905         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
3906         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
3907         * doc/posix-functions/wcsncmp.texi: Mention the new module.
3908
3909 2011-02-05  Bruno Haible  <bruno@clisp.org>
3910
3911         New module 'wcscmp'.
3912         * modules/wcscmp: New file.
3913         * lib/wchar.in.h (wcscmp): New declaration.
3914         * lib/wcscmp.c: New file.
3915         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
3916         * m4/wcscmp.m4: New file.
3917         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
3918         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
3919         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
3920         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
3921         * doc/posix-functions/wcscmp.texi: Mention the new module.
3922
3923 2011-02-05  Bruno Haible  <bruno@clisp.org>
3924
3925         New module 'wcsncat'.
3926         * modules/wcsncat: New file.
3927         * lib/wchar.in.h (wcsncat): New declaration.
3928         * lib/wcsncat.c: New file.
3929         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
3930         * m4/wcsncat.m4: New file.
3931         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
3932         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
3933         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
3934         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
3935         * doc/posix-functions/wcsncat.texi: Mention the new module.
3936
3937 2011-02-05  Bruno Haible  <bruno@clisp.org>
3938
3939         New module 'wcscat'.
3940         * modules/wcscat: New file.
3941         * lib/wchar.in.h (wcscat): New declaration.
3942         * lib/wcscat.c: New file.
3943         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
3944         * m4/wcscat.m4: New file.
3945         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
3946         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
3947         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
3948         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
3949         * doc/posix-functions/wcscat.texi: Mention the new module.
3950
3951 2011-02-05  Bruno Haible  <bruno@clisp.org>
3952
3953         New module 'wcpncpy'.
3954         * modules/wcpncpy: New file.
3955         * lib/wchar.in.h (wcpncpy): New declaration.
3956         * lib/wcpncpy.c: New file.
3957         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
3958         * m4/wcpncpy.m4: New file.
3959         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
3960         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
3961         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
3962         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
3963         * doc/posix-functions/wcpncpy.texi: Mention the new module.
3964
3965 2011-02-05  Bruno Haible  <bruno@clisp.org>
3966
3967         New module 'wcsncpy'.
3968         * modules/wcsncpy: New file.
3969         * lib/wchar.in.h (wcsncpy): New declaration.
3970         * lib/wcsncpy.c: New file.
3971         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
3972         * m4/wcsncpy.m4: New file.
3973         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
3974         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
3975         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
3976         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
3977         * doc/posix-functions/wcsncpy.texi: Mention the new module.
3978
3979 2011-02-05  Bruno Haible  <bruno@clisp.org>
3980
3981         New module 'wcpcpy'.
3982         * modules/wcpcpy: New file.
3983         * lib/wchar.in.h (wcpcpy): New declaration.
3984         * lib/wcpcpy.c: New file.
3985         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
3986         * m4/wcpcpy.m4: New file.
3987         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
3988         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
3989         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
3990         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
3991         * doc/posix-functions/wcpcpy.texi: Mention the new module.
3992
3993 2011-02-05  Bruno Haible  <bruno@clisp.org>
3994
3995         New module 'wcscpy'.
3996         * modules/wcscpy: New file.
3997         * lib/wchar.in.h (wcscpy): New declaration.
3998         * lib/wcscpy.c: New file.
3999         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
4000         * m4/wcscpy.m4: New file.
4001         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
4002         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
4003         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
4004         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
4005         * doc/posix-functions/wcscpy.texi: Mention the new module.
4006
4007 2011-02-05  Bruno Haible  <bruno@clisp.org>
4008
4009         New module 'wcsnlen'.
4010         * modules/wcsnlen: New file.
4011         * lib/wchar.in.h (wcsnlen): New declaration.
4012         * lib/wcsnlen.c: New file.
4013         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
4014         * m4/wcsnlen.m4: New file.
4015         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
4016         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
4017         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
4018         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
4019         * doc/posix-functions/wcsnlen.texi: Mention the new module.
4020
4021 2011-02-05  Bruno Haible  <bruno@clisp.org>
4022
4023         New module 'wcslen'.
4024         * modules/wcslen: New file.
4025         * lib/wchar.in.h (wcslen): New declaration.
4026         * lib/wcslen.c: New file.
4027         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
4028         * m4/wcslen.m4: New file.
4029         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
4030         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
4031         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
4032         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
4033         * doc/posix-functions/wcslen.texi: Mention the new module.
4034
4035 2011-02-05  Bruno Haible  <bruno@clisp.org>
4036
4037         New module 'wmemset'.
4038         * modules/wmemset: New file.
4039         * lib/wchar.in.h (wmemset): New declaration.
4040         * lib/wmemset.c: New file.
4041         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
4042         * m4/wmemset.m4: New file.
4043         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
4044         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
4045         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
4046         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
4047         * doc/posix-functions/wmemset.texi: Mention the new module.
4048
4049 2011-02-05  Bruno Haible  <bruno@clisp.org>
4050
4051         New module 'wmemmove'.
4052         * modules/wmemmove: New file.
4053         * lib/wchar.in.h (wmemmove): New declaration.
4054         * lib/wmemmove.c: New file.
4055         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
4056         * m4/wmemmove.m4: New file.
4057         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
4058         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
4059         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
4060         HAVE_WMEMMOVE.
4061         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
4062         * doc/posix-functions/wmemmove.texi: Mention the new module.
4063
4064 2011-02-05  Bruno Haible  <bruno@clisp.org>
4065
4066         New module 'wmemcpy'.
4067         * modules/wmemcpy: New file.
4068         * lib/wchar.in.h (wmemcpy): New declaration.
4069         * lib/wmemcpy.c: New file.
4070         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
4071         * m4/wmemcpy.m4: New file.
4072         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
4073         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
4074         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
4075         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
4076         * doc/posix-functions/wmemcpy.texi: Mention the new module.
4077
4078 2011-02-05  Bruno Haible  <bruno@clisp.org>
4079
4080         New module 'wmemcmp'.
4081         * modules/wmemcmp: New file.
4082         * lib/wchar.in.h (wmemcmp): New declaration.
4083         * lib/wmemcmp.c: New file.
4084         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
4085         * m4/wmemcmp.m4: New file.
4086         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
4087         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
4088         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
4089         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
4090         * doc/posix-functions/wmemcmp.texi: Mention the new module.
4091
4092 2011-02-07  Jim Meyering  <meyering@redhat.com>
4093
4094         di-set, ino-map: new modules, from coreutils
4095         * lib/di-set.c: New file.
4096         * lib/di-set.h: Likewise.
4097         * lib/ino-map.c: Likewise.
4098         * lib/ino-map.h: Likewise.
4099         * modules/di-set: Likewise.
4100         * modules/di-set-tests: Likewise.
4101         * modules/ino-map: Likewise.
4102         * modules/ino-map-tests: Likewise.
4103         * tests/test-di-set.c: Likewise.
4104         * tests/test-ino-map.c: Likewise.
4105
4106 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
4107
4108         getloadavg: merge minor changes from Emacs
4109
4110         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
4111         (getloadavg): Use memset, not bzero.
4112
4113         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
4114         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
4115         clash (bug#86).
4116
4117 2010-11-14  Bruno Haible  <bruno@clisp.org>
4118
4119         Allow multiple gnulib generated replacements to coexist.
4120         * lib/getopt.in.h (struct option): Avoid identical redefinition.
4121         * lib/inttypes.in.h (imaxdiv_t): Likewise.
4122         * lib/langinfo.in.h (nl_item): Likewise.
4123         * lib/math.in.h (_NaN, NAN): Likewise.
4124         * lib/netdb.in.h (struct addrinfo): Likewise.
4125         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
4126         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
4127         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
4128         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
4129         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
4130         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
4131         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
4132         pthread_mutexattr_init, pthread_mutexattr_settype,
4133         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
4134         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
4135         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
4136         pthread_spin_trylock, pthread_spin_unlock): Likewise.
4137         * lib/sched.in.h (struct sched_param): Likewise.
4138         * lib/se-selinux.in.h (security_class_t, security_context_t,
4139         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
4140         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
4141         lsetfilecon, fsetfilecon, security_check_context,
4142         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
4143         Likewise.
4144         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
4145         Likewise.
4146         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
4147         _gl_function_taking_int_returning_void_t, union sigval,
4148         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
4149         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
4150         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
4151         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
4152         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
4153         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
4154         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
4155         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
4156         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
4157         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
4158         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
4159         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
4160         socklen_t, rpl_fd_isset): Likewise.
4161         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
4162         * lib/sys_time.in.h (struct timeval): Likewise.
4163         * lib/sys_times.in.h (struct tms): Likewise.
4164         * lib/sys_utsname.in.h (struct utsname):
4165         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
4166         * lib/unistd.in.h (getpagesize): Likewise.
4167         * lib/wchar.in.h (mbstate_t): Likewise.
4168         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
4169         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
4170         towlower, towupper): Likewise.
4171         Reported by Sam Steingold <sds@gnu.org>.
4172
4173 2011-02-05  Eric Blake  <eblake@redhat.com>
4174
4175         unsetenv: work around Haiku issues
4176         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
4177         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
4178
4179 2010-12-30  Bruce Korb  <bkorb@gnu.org>
4180
4181         libposix: avoid calling error() within libposix
4182         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
4183         is defined.
4184
4185 2011-02-05  Eric Blake  <eblake@redhat.com>
4186
4187         strerror_r-posix: port to cygwin
4188         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
4189         implementation.
4190         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
4191         * tests/test-strerror_r.c (main): Fix test.
4192         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
4193         issue.
4194
4195 2011-02-05  Bruno Haible  <bruno@clisp.org>
4196
4197         New module 'wmemchr'.
4198         * modules/wmemchr: New file.
4199         * lib/wchar.in.h (wmemchr): New declaration.
4200         * lib/wmemchr.c: New file.
4201         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
4202         * m4/wmemchr.m4: New file.
4203         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
4204         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
4205         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
4206         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
4207         * doc/posix-functions/wmemchr.texi: Mention the new module.
4208
4209 2011-02-04  Eric Blake  <eblake@redhat.com>
4210
4211         fdopendir: detect FreeBSD bug
4212         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
4213         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
4214
4215 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
4216
4217         stdbool: do not define HAVE_STDBOOL_H
4218         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
4219         AC_HEADER_STDBOOL.  All uses changed.  Do not define
4220         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
4221         imported from the latest Autoconf git.  It was motivated by Emacs,
4222         which uses gnulib but does not need HAVE_STDBOOL_H.
4223
4224 2011-02-04  Bruno Haible  <bruno@clisp.org>
4225
4226         wcsnrtombs: Prepare for new module wwcsnrtombs.
4227         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
4228         * lib/wcsnrtombs.c: Include it.
4229         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
4230
4231         wcsrtombs: Prepare for new module wwcsrtombs.
4232         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
4233         * lib/wcsrtombs.c: Include it.
4234         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
4235
4236         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
4237         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
4238         * lib/mbsnrtowcs.c: Include it.
4239         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
4240
4241         mbsrtowcs: Prepare for new module mbsrtowwcs.
4242         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
4243         * lib/mbsrtowcs.c: Include it.
4244         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
4245
4246 2011-02-04  Bruno Haible  <bruno@clisp.org>
4247
4248         vasnprintf: Reduce use of malloc for small format strings.
4249         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
4250         (arguments): Add room for the first 7 arguments.
4251         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
4252         (char_directives, u8_directives, u16_directives, u32_directives): Add
4253         room for the first 7 directives.
4254         * lib/printf-parse.c: Include <string.h>.
4255         (PRINTF_PARSE): Change memory handling code so that it uses the first
4256         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
4257         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
4258         Reported by Pádraig Brady <P@draigbrady.com>.
4259
4260 2011-01-31  Eric Blake  <eblake@redhat.com>
4261
4262         dup2: work around Haiku bug
4263         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
4264         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
4265         * doc/posix-functions/dup2.texi (dup2): Document the bug.
4266         * tests/test-dup2.c (main): Enhance test.
4267
4268 2011-01-31  Simon Josefsson  <simon@josefsson.org>
4269
4270         doc: off_t is not available in eglibc 2.11.2 stdio.h.
4271         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
4272         declared by eglibc 2.11.2.
4273         * lib/stdio.in.h: Likewise.
4274
4275 2011-01-31  Eric Blake  <eblake@redhat.com>
4276
4277         ignore-value: add missing test dependency
4278         * tests/test-ignore-value.c: Revert previous change; stdio.h
4279         provides off_t.
4280         * modules/ignore-value-tests (Depends-on): Add missing dependency.
4281
4282 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
4283
4284         mktime: clarify long_int width checking
4285         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
4286         the top level, to make it clearer that the assumption about
4287         long_int width is being checked.  See
4288         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
4289
4290 2011-01-30  Simon Josefsson  <simon@josefsson.org>
4291
4292         ignore-value: Fix self-test.
4293         * tests/test-ignore-value.c: Include sys/types.h for off_t.
4294
4295 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
4296
4297         TYPE_MAXIMUM: avoid theoretically undefined behavior
4298         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
4299         negative number, which the C Standard says has undefined behavior.
4300         In practice this is not a problem, but might as well do it by the book.
4301         Reported by Rich Felker and Eric Blake; see
4302         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
4303         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
4304         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
4305         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
4306         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
4307         * m4/stdint.m4 (gl_STDINT_H): Likewise.
4308         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
4309
4310         mktime: #undef mktime before #defining it
4311         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
4312
4313         mktime: systematically normalize tm_isdst comparisons
4314         * lib/mktime.c (isdst_differ): New function.
4315         (__mktime_internal): Use it systematically for all isdst comparisons.
4316         This completes the fix for libc BZ #6723, and removes the need for
4317         normalizing tm_isdst.  See
4318         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
4319         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
4320
4321         mktime: fix some integer overflow issues and sidestep the rest
4322
4323         This was prompted by a bug report by Benjamin Lindner for MinGW
4324         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
4325         His bug is due to signed integer overflow (0 - INT_MIN), and I
4326         I scanned through mktime.c looking for other integer overflow
4327         problems, fixing all the bugs I found.
4328
4329         Although the C Standard says the resulting code is still not safe
4330         in the presence of integer overflow, in practice it should be good
4331         enough for all real-world two's-complement implementations, except
4332         for debugging environments that deliberately trap on integer
4333         overflow (e.g., gcc -ftrapv).
4334
4335         * lib/mktime.c (WRAPV): New macro.
4336         (SHR): Also check that long_int and time_t shift right in the
4337         usual way, before using the fast-but-unportable method.
4338         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
4339         used.  The code already assumed two's complement, so there's
4340         no need to test for alternatives.  All uses removed.
4341         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
4342         the C standard.  Problem reported by Rich Felker in
4343         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
4344         (twos_complement_arithmetic): Also check long_int and time_t.
4345         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
4346         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
4347         (__mktime_internal): Avoid integer overflow with unary subtraction
4348         in two instances where -1 - X is an adequate replacement for -X,
4349         since the calculations are approximate.
4350
4351 2011-01-29  Eric Blake  <eblake@redhat.com>
4352
4353         mktime: avoid infinite loop
4354         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
4355         type; behavior is still undefined but portable to all known targets.
4356         Reported by Rich Felker.
4357
4358 2011-01-29  Simon Josefsson  <simon@josefsson.org>
4359
4360         rename, unlink, same-inode: Relicense.
4361         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
4362         * modules/unlink (License): Likewise.
4363         * modules/same-inode (License): Likewise.
4364
4365 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
4366
4367         mktime: avoid problems on NetBSD 5 / i386
4368         * lib/mktime.c (long_int): New type.  This works around a problem
4369         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
4370         but time_t is 64 bits, and where I expect the existing code is
4371         wrong in some cases.
4372         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
4373         (ydhms_diff): Bring back the compile-time check for wide-enough
4374         year and yday.
4375
4376         mktime: fix misspelling in comment
4377         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
4378         This merges all recent glibc changes of importance.
4379
4380 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4381
4382         move-if-change: cope with concurrent mv of identical file.
4383         * build-aux/move-if-change (CMPPROG): Accept environment
4384         variable as an override for `cmp'.
4385         (usage): Document CMPPROG.
4386         Adjust comparison to drop stdout.  Cope with failure of mv if
4387         the target file exists and is identical to the source, for
4388         parallel builds.
4389         Report from H.J. Lu against binutils in PR binutils/12283.
4390
4391 2011-01-28  Bruce Korb  <bkorb@gnu.org>
4392
4393         * users.txt: Mention sharutils.
4394
4395 2011-01-28  Simon Josefsson  <simon@josefsson.org>
4396
4397         * users.txt: Mention OATH Toolkit.
4398
4399 2011-01-27  Bruno Haible  <bruno@clisp.org>
4400
4401         Prepare for supporting FreeBSD 10.
4402         * build-aux/config.libpath: Remove handling of freebsd1*.
4403
4404 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
4405
4406         Prepare for supporting FreeBSD 10.
4407         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
4408         match FreeBSD 10.0.
4409
4410 2011-01-27  Bruno Haible  <bruno@clisp.org>
4411
4412         vma-iter, get-rusage-as: Add OpenBSD support.
4413         * modules/vma-iter (configure.ac): Test for mquery.
4414         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
4415         * lib/vma-iter.c: Include <sys/mman.h>.
4416         (vma_iterate): Add an implementation based on mquery().
4417         * lib/resource-ext.h (get_rusage_as): Update comments.
4418         * lib/get-rusage-as.c: Likewise.
4419         * lib/get-rusage-data.c: Likewise.
4420
4421 2011-01-26  Karl Berry  <karl@gnu.org>
4422
4423         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
4424         variables to make it easier to override the makeinfo program used.
4425
4426 2011-01-26  Eric Blake  <eblake@redhat.com>
4427
4428         fcntl: work around Haiku F_DUPFD bugs
4429         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
4430         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
4431         cloexec bit on duplication.
4432         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
4433
4434 2011-01-26  Bruno Haible  <bruno@clisp.org>
4435
4436         Enable memory leak tests on AIX.
4437         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
4438         * tests/test-fprintf-posix3.c (main): Likewise.
4439
4440 2011-01-26  Bruno Haible  <bruno@clisp.org>
4441
4442         Tests for module 'get-rusage-data'.
4443         * modules/get-rusage-data-tests: New file.
4444         * tests/test-get-rusage-data.c: New file.
4445
4446         New module 'get-rusage-data'.
4447         * lib/resource-ext.h (get_rusage_data): New declaration.
4448         * lib/get-rusage-data.c: New file.
4449         * modules/get-rusage-data: New file.
4450
4451 2011-01-25  Bruno Haible  <bruno@clisp.org>
4452
4453         get-rusage-as: Allow for easier testing.
4454         * lib/resource-ext.h (get_rusage_as): Add comment.
4455         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
4456         (main): New function for interactive testing.
4457
4458 2011-01-25  Bruno Haible  <bruno@clisp.org>
4459
4460         vma-iter: Treat Haiku like BeOS.
4461         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
4462         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
4463
4464 2011-01-25  Eric Blake  <eblake@redhat.com>
4465
4466         c-stack: fix regression on cygwin when libsigsegv is present
4467         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
4468
4469 2011-01-24  Bruno Haible  <bruno@clisp.org>
4470
4471         vma-iter: Avoid empty intervals.
4472         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
4473         on an empty interval.
4474
4475 2011-01-24  Jim Meyering  <meyering@redhat.com>
4476
4477         u64: remove unnecessary #include
4478         * lib/u64.h: Don't include <stddef.h>.  It was not used.
4479
4480 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
4481
4482         Allow the user to avoid the HAVE_RAW_DECL_* macros.
4483         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
4484
4485 2011-01-23  Bruno Haible  <bruno@clisp.org>
4486
4487         New module 'vma-iter'.
4488         * lib/vma-iter.h: New file.
4489         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
4490         * modules/vma-iter: New file.
4491         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
4492         for get_rusage_as_via_iterator.
4493         (vma_iterate_callback): New function.
4494         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
4495         * modules/get-rusage-as (Depends-on): Add vma-iter.
4496
4497 2011-01-23  Bruno Haible  <bruno@clisp.org>
4498
4499         uninorm: Tweak includes.
4500         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
4501         Reported by Jim Meyering.
4502
4503 2011-01-23  Bruno Haible  <bruno@clisp.org>
4504
4505         get-rusage-as: Improve on NetBSD.
4506         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
4507         /proc, like on FreeBSD.
4508
4509 2011-01-23  Jim Meyering  <meyering@redhat.com>
4510
4511         xreadlink.h: remove unnecessary #include
4512         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
4513
4514         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
4515         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
4516
4517 2011-01-23  Bruno Haible  <bruno@clisp.org>
4518
4519         get-rusage-as: Fix bug.
4520         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
4521         original limit when aborting the first loop.
4522
4523 2011-01-23  Bruno Haible  <bruno@clisp.org>
4524
4525         wctype: Ensure valid C syntax.
4526         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
4527         unconditionally, instead of gl_NEXT_HEADERS conditionally.
4528
4529 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
4530
4531         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
4532         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
4533         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
4534         as they are needed only for configure's test case.
4535         This removes two unnecessary symbols from config.h.
4536
4537         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
4538         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
4539         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
4540         AC_CHECK_HEADERS_ONCE on a header that we also invoke
4541         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
4542         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
4543         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
4544         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
4545         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
4546         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
4547         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
4548         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
4549         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
4550         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
4551         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
4552         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
4553         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
4554         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
4555
4556 2011-01-21  Eric Blake  <eblake@redhat.com>
4557
4558         maintainer-makefile: work with older git for submodule check
4559         * top/maint.mk (public-submodule-commit): Rewrite to avoid
4560         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
4561         Reported by Matthias Bolte.
4562
4563         bootstrap: minor portability fixes
4564         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
4565         (usage): Omit leading capital and trailing . on help phrases, per
4566         GNU Coding Standards.
4567         (check_versions, top level): Prefix messages with script name.
4568
4569 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
4570
4571         bootstrap: support --no-git option
4572         * build-aux/bootstrap: Add --no-git option, to be used when
4573         --gnulib-srcdir points to the exact desired checkout.
4574
4575 2011-01-21  Eric Blake  <eblake@redhat.com>
4576
4577         strerror_r-posix: work with glibc 2.13
4578         * lib/strerror_r.c (strerror_r): Fix return type.
4579
4580 2011-01-21  Pádraig Brady  <P@draigBrady.com>
4581             Bruno Haible  <bruno@clisp.org>
4582
4583         uN_strstr: New unit tests.
4584         * modules/unistr/u8-strstr-tests: New file.
4585         * modules/unistr/u16-strstr-tests: New file.
4586         * modules/unistr/u32-strstr-tests: New file.
4587         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
4588         * tests/unistr/test-u8-strstr.c: New file.
4589         * tests/unistr/test-u16-strstr.c: New file.
4590         * tests/unistr/test-u32-strstr.c: New file.
4591
4592 2011-01-21  Pádraig Brady  <P@draigBrady.com>
4593             Bruno Haible  <bruno@clisp.org>
4594
4595         Make uN_strstr functions O(n) worst-case.
4596         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
4597         16-bit and 32-bit unit cases, use the unibyte algorithm from
4598         lib/mbsstr.c.
4599         * lib/unistr/u8-strstr.c: Include <string.h>.
4600         (UNIT_IS_UINT8_T): New macro.
4601         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
4602         (U_STRLEN, U_STRNLEN): New macros.
4603         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
4604         (U_STRLEN, U_STRNLEN): New macros.
4605         * modules/unistr/u8-strstr (Depends-on): Add strstr.
4606         (configure.ac): Update required libunistring version.
4607         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
4608         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
4609         malloca.
4610         (configure.ac): Update required libunistring version.
4611         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
4612         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
4613         malloca.
4614         (configure.ac): Update required libunistring version.
4615
4616 2011-01-21  Pádraig Brady  <P@draigBrady.com>
4617             Bruno Haible  <bruno@clisp.org>
4618
4619         Prepare for faster uN_strstr functions.
4620         * lib/str-kmp.h: Support definable UNITs.
4621         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
4622         needle_len argument.
4623         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
4624         * lib/mbscasestr.c (mbscasestr): Likewise.
4625
4626 2011-01-21  Pádraig Brady <P@draigBrady.com>
4627
4628         malloca-tests: make faster by unsetting MALLOC_PERTURB_
4629         * tests/test-malloca.c (main): Unset the environment variable
4630         to greatly speed up the test.
4631         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
4632         * modules/malloca-tests: Depend on unsetenv.
4633
4634 2011-01-21  Pádraig Brady <P@draigBrady.com>
4635
4636         ignore-value: remove stdint dependency
4637         * lib/ignore-value.h: Remove <stdint.h>
4638         * modules/ignore-value: Remove stdint dependency.
4639
4640 2011-01-21  Jim Meyering  <meyering@redhat.com>
4641
4642         maint.mk: adjust variable name to be consistent with other gl_ vars
4643         * top/maint.mk (gl_public_submodule_commit): Rename the variable
4644         to be lower case.
4645
4646 2011-01-20  Jim Meyering  <meyering@redhat.com>
4647
4648         maint.mk: make "check" depend on public-submodule-commit by default
4649         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
4650
4651 2011-01-20  Bruno Haible  <bruno@clisp.org>
4652
4653         mbfile, mbiter: Complete change from 2008-12-21.
4654         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
4655         * m4/mbiter.m4 (gl_MBITER): Likewise.
4656
4657 2011-01-20  Jim Meyering  <meyering@redhat.com>
4658
4659         init.sh: insert space between each function name and "()"
4660         * tests/init.sh: Make it a little easier to see that a function's
4661         name is "warn_", and not "warn" when looking at the first part of
4662         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
4663
4664 2011-01-20  Jim Meyering  <meyering@redhat.com>
4665
4666         mountlist: clean up code formatting
4667         * lib/mountlist.c (read_file_system_list): Split a long line,
4668         correct bracing style, use NULL in place of "(struct statfs *)0",
4669         don't parenthesize return value, add spaces around "=" and after
4670         ";-in-for-stmt".
4671
4672 2011-01-14  Markus Duft <mduft@gentoo.org>
4673
4674         mountlist: add support for Interix
4675         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
4676         Apply statvfs to all entries of /dev/fs.
4677         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
4678         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
4679
4680 2011-01-20  Jim Meyering  <meyering@redhat.com>
4681
4682         maint.mk: improve the public-submodule-commit rule
4683         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
4684         to suppress printing of its commands... unless V=1.
4685         Add git submodule's --quiet option to suppress printing of e.g.,
4686         "Entering gnulib" output.
4687         "cd" into $(srcdir) before running git submodule.
4688
4689 2011-01-20  Bruno Haible  <bruno@clisp.org>
4690
4691         include_next: Fix bug introduced on 2011-01-18.
4692         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
4693         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
4694         ac_cv_header_... variable if the second argument is not 'check'.
4695         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
4696         gl_NEXT_HEADERS_INTERNAL.
4697
4698 2011-01-20  Bruno Haible  <bruno@clisp.org>
4699
4700         Allow the user to avoid the GNULIB_TEST_* macros.
4701         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
4702         Suggested by Paul Eggert.
4703
4704 2011-01-14  Jim Meyering  <meyering@redhat.com>
4705
4706         bootstrap: avoid failure when there is no .gitmodules file
4707         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
4708         has been assigned to, even when its value is the empty string.
4709         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
4710         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
4711         Reported by John W. Eaton <jwe@gnu.org>.
4712
4713 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
4714
4715         assume <ctype.h>, ..., <time.h> exist
4716         For years gnulib has been assuming the existence of the headers
4717         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
4718         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
4719         them, since they don't appear to be needed.
4720         * README (Portability guidelines): Document this.
4721         * lib/flock.c: Assume <fcntl.h> exists.
4722         * lib/regex_internal.h: Assume <locale.h> exists.
4723         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
4724         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
4725         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
4726         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
4727         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
4728         * m4/regex.m4 (gl_REGEX): Likewise.
4729         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
4730         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
4731         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
4732         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
4733         * tests/test-argp.c: Likewise.
4734         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
4735
4736         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
4737         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
4738         AA_APPLE_UNIVERSAL_BUILD.  See
4739         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
4740         * NEWS: Document this.
4741
4742 2011-01-19  Eric Blake  <eblake@redhat.com>
4743
4744         c-stack: assume stack overflow if SA_SIGINFO unsupported
4745         * lib/c-stack.c (SIGACTION_WORKS): Rename...
4746         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
4747         sigaction will work.
4748         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
4749         behavior match Linux.
4750         * tests/test-c-stack.c (main): Prefer NULL for pointers.
4751
4752         stdbool-tests: accomodate Haiku
4753         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
4754
4755         binary-io: fix O_TEXT on Haiku
4756         * modules/binary-io (Depends-on): Add fcntl-h.
4757         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
4758         than blindly undefining O_TEXT.
4759         Reported by Scott McCreary.
4760
4761 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
4762
4763         include_next: do not check for standard headers like stddef.h
4764
4765         I found this problem when modifying Emacs to use gnulib.
4766         I noticed that it added HAVE_STDDEF_H to config.h, even though
4767         gnulib always assumes <stddef.h> exists as per README and this
4768         symbol is unnecessary.
4769         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
4770         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
4771         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
4772         faster for headers like stddef.h that are known to exist.
4773         (gl_CHECK_NEXT_HEADERS): Use it.
4774         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
4775         rather than gl_CHECK_NEXT_HEADERS.
4776         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
4777         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
4778
4779 2011-01-18  Eric Blake  <eblake@redhat.com>
4780
4781         ansi-c++-opt: skip C++ dependency style if C++ is unused
4782         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
4783         tests when we know C++ compilation is not desired.
4784         Reported by Scott McCreary.
4785
4786 2011-01-18  Bruno Haible  <bruno@clisp.org>
4787
4788         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
4789         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
4790         (main): Perform test also when getrlimit and setrlimit don't exist or
4791         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
4792         limiting the address space size using setrlimit, compare the address
4793         space size before and after the the test.
4794         * tests/test-dprintf-posix2.c: Likewise.
4795         * tests/test-fprintf-posix3.sh: Update skip messages.
4796         * tests/test-dprintf-posix2.sh: Likewise.
4797         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
4798         * modules/dprintf-posix-tests (Depends-on): Likewise.
4799         Reported by Bruce Korb <bkorb@gnu.org> and
4800         Gary V. Vaughan <gary@gnu.org>.
4801
4802 2011-01-18  Bruno Haible  <bruno@clisp.org>
4803
4804         get-rusage-as: Improvement for Cygwin.
4805         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
4806         areas that are merely reserved.
4807
4808 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
4809
4810         strftime: remove dependencies on multibyte modules
4811
4812         strftime depended on mbrlen, mbsinit, and wchar, but these modules
4813         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
4814         only if __osf__ is defined, and I suspect OSF doesn't need these
4815         other modules.  If my guess is wrong, we'll need to come up with a
4816         variant of strftime that doesn't need the multibyte modules.
4817
4818         I discovered this problem when attempting modify Emacs to use the
4819         strftime module.  With the previous gnulib, this caused Emacs to
4820         need 31 new files, ranging from lib/config.charset to
4821         m4/wint_t.m4.  This was overkill and I expect would be offputting
4822         to the Emacs maintainers.  After this change, only 6 new files are
4823         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
4824         stdbool.m4, and tm_gmtoff.m4.
4825
4826         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
4827         Suggested by Bruno Haible in
4828         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
4829         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
4830         and do not check for wchar.h.
4831         * modules/strftime (Files): Remove m4/mbstate_t.m4.
4832         (Depends-on): Remove mbrlen, mbsinit, wchar.
4833
4834 2011-01-18  Bruno Haible  <bruno@clisp.org>
4835
4836         Tests for module 'get-rusage-as'.
4837         * modules/get-rusage-as-tests: New file.
4838         * tests/test-get-rusage-as.c: New file.
4839
4840         New module 'get-rusage-as'.
4841         * modules/get-rusage-as: New file.
4842         * lib/resource-ext.h: New file.
4843         * lib/get-rusage-as.c: New file.
4844
4845 2011-01-17  Eric Blake  <eblake@redhat.com>
4846
4847         sigaction: relax license from LGPLv3+ to LGPLv2+
4848         * modules/sigaction (License): Relax to LGPLv2+.
4849
4850 2011-01-14  Bruno Haible  <bruno@clisp.org>
4851
4852         filemode: Make function declarations usable in C++ mode.
4853         * lib/filemode.h: Enclose function declarations in extern "C" block.
4854         Reported by John W. Eaton <jwe@gnu.org>.
4855
4856 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
4857
4858         save-cwd: no longer include "xgetcwd.h"
4859         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
4860         This avoids a compilation failure in projects that use save-cwd
4861         without also using the xgetcwd module.
4862
4863 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
4864
4865         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
4866         This is so that a program like Emacs, which needs only dtoastr,
4867         does not have to bother with distributing and compiling ftoastr
4868         and ldtoastr.
4869         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
4870         * modules/dtoastr, modules/ldtoastr: New files.
4871         * modules/ftoastr: Now works just for 'float'.
4872         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
4873         (Makefile.am): Remove ftoastr.h (not needed and no effect),
4874         dtoastr.c, ldtoastr.c.
4875
4876 2011-01-11  Jim Meyering  <meyering@redhat.com>
4877
4878         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
4879         There is no need to work around the lack of the fchdir function,
4880         since gnulib can now provide a replacement when required.
4881         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
4882         * modules/save-cwd (Depends-on): Add fchdir.
4883
4884 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
4885
4886         openat, save-cwd: avoid xmalloc
4887
4888         This removes a direct (but undocumented) dependency of openat on
4889         xalloc, along with an indirect dependency via save-cwd.  It also
4890         removes a dependency of save-cwd on xgetcwd, and thereby
4891         indirectly on xalloc.  This change causes the openat substitute
4892         to fall back on save_cwd when memory is tight, and for save_cwd to
4893         fail instead of dying when memory is tight, but that's good enough.
4894         Problem and initial idea for fix reported by Bastien Roucaries in
4895         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
4896
4897         * lib/openat-proc.c: Include stdlib.h (for malloc), not
4898         xalloc.h (for xmalloc).
4899         (openat_proc_name): Use malloc, not xmalloc.
4900         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
4901         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
4902
4903         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
4904         This avoids heap allocation for file names whose lengths are in
4905         the range 512..1023, with the upper bound increasing to at most
4906         4031 depending on the platform's PATH_MAX.  (We do not want
4907         pathmax.h here as it might supply a non-constant PATH_MAX.)
4908         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
4909         Perhaps they should be moved to malloca.h?
4910         (OPENAT_BUFFER_SIZE): Use them.
4911
4912 2011-01-10  Bruno Haible  <bruno@clisp.org>
4913
4914         doc: Update users.txt.
4915         * users.txt: Add recutils.
4916
4917 2011-01-09  Karl Berry  <karl@gnu.org>
4918
4919         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
4920
4921         * doc/configmake.texi: New file.
4922         * doc/gnulib.texi: Include it.
4923         * modules/configmake: Move documentation from here.
4924
4925 2011-01-09  Bruno Haible  <bruno@clisp.org>
4926
4927         Update to Unicode 6.0.0.
4928         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
4929         (get_lbp): Update for Unicode 6.0.0.
4930         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
4931         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
4932         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
4933         U+11001, U+11038..U+11046. Remove U+06DE.
4934         (uc_width): Fix bounds of planes.
4935         * tests/uniwidth/test-uc_width2.sh: Same updates as in
4936         lib/uniwidth/width.c.
4937         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
4938         trailing whitespace removed.
4939         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
4940         without comments, but with the original copyright notice.
4941         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
4942         * lib/unicase/ignorable.h: Likewise.
4943         * lib/unicase/tocasefold.h: Likewise.
4944         * lib/unicase/tolower.h: Likewise.
4945         * lib/unicase/totitle.h: Likewise.
4946         * lib/unicase/toupper.h: Likewise.
4947         * lib/unictype/bidi_of.h: Likewise.
4948         * lib/unictype/blocks.h: Likewise.
4949         * lib/unictype/categ_C.h: Likewise.
4950         * lib/unictype/categ_Cn.h: Likewise.
4951         * lib/unictype/categ_L.h: Likewise.
4952         * lib/unictype/categ_Ll.h: Likewise.
4953         * lib/unictype/categ_Lm.h: Likewise.
4954         * lib/unictype/categ_Lo.h: Likewise.
4955         * lib/unictype/categ_Lu.h: Likewise.
4956         * lib/unictype/categ_M.h: Likewise.
4957         * lib/unictype/categ_Mc.h: Likewise.
4958         * lib/unictype/categ_Me.h: Likewise.
4959         * lib/unictype/categ_Mn.h: Likewise.
4960         * lib/unictype/categ_N.h: Likewise.
4961         * lib/unictype/categ_Nd.h: Likewise.
4962         * lib/unictype/categ_No.h: Likewise.
4963         * lib/unictype/categ_P.h: Likewise.
4964         * lib/unictype/categ_Po.h: Likewise.
4965         * lib/unictype/categ_S.h: Likewise.
4966         * lib/unictype/categ_Sc.h: Likewise.
4967         * lib/unictype/categ_Sk.h: Likewise.
4968         * lib/unictype/categ_Sm.h: Likewise.
4969         * lib/unictype/categ_So.h: Likewise.
4970         * lib/unictype/categ_of.h: Likewise.
4971         * lib/unictype/combining.h: Likewise.
4972         * lib/unictype/ctype_alnum.h: Likewise.
4973         * lib/unictype/ctype_alpha.h: Likewise.
4974         * lib/unictype/ctype_graph.h: Likewise.
4975         * lib/unictype/ctype_lower.h: Likewise.
4976         * lib/unictype/ctype_print.h: Likewise.
4977         * lib/unictype/ctype_punct.h: Likewise.
4978         * lib/unictype/ctype_upper.h: Likewise.
4979         * lib/unictype/decdigit.h: Likewise.
4980         * lib/unictype/digit.h: Likewise.
4981         * lib/unictype/numeric.h: Likewise.
4982         * lib/unictype/pr_alphabetic.h: Likewise.
4983         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
4984         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
4985         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
4986         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
4987         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
4988         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
4989         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
4990         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
4991         * lib/unictype/pr_case_ignorable.h: Likewise.
4992         * lib/unictype/pr_cased.h: Likewise.
4993         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
4994         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
4995         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
4996         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
4997         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
4998         * lib/unictype/pr_combining.h: Likewise.
4999         * lib/unictype/pr_composite.h: Likewise.
5000         * lib/unictype/pr_currency_symbol.h: Likewise.
5001         * lib/unictype/pr_decimal_digit.h: Likewise.
5002         * lib/unictype/pr_deprecated.h: Likewise.
5003         * lib/unictype/pr_format_control.h: Likewise.
5004         * lib/unictype/pr_grapheme_base.h: Likewise.
5005         * lib/unictype/pr_grapheme_extend.h: Likewise.
5006         * lib/unictype/pr_grapheme_link.h: Likewise.
5007         * lib/unictype/pr_id_continue.h: Likewise.
5008         * lib/unictype/pr_id_start.h: Likewise.
5009         * lib/unictype/pr_ideographic.h: Likewise.
5010         * lib/unictype/pr_lowercase.h: Likewise.
5011         * lib/unictype/pr_math.h: Likewise.
5012         * lib/unictype/pr_numeric.h: Likewise.
5013         * lib/unictype/pr_other_alphabetic.h: Likewise.
5014         * lib/unictype/pr_other_id_continue.h: Likewise.
5015         * lib/unictype/pr_other_math.h: Likewise.
5016         * lib/unictype/pr_punctuation.h: Likewise.
5017         * lib/unictype/pr_sentence_terminal.h: Likewise.
5018         * lib/unictype/pr_terminal_punctuation.h: Likewise.
5019         * lib/unictype/pr_unassigned_code_value.h: Likewise.
5020         * lib/unictype/pr_unified_ideograph.h: Likewise.
5021         * lib/unictype/pr_uppercase.h: Likewise.
5022         * lib/unictype/pr_xid_continue.h: Likewise.
5023         * lib/unictype/pr_xid_start.h: Likewise.
5024         * lib/unictype/scripts.h: Likewise.
5025         * lib/unictype/scripts_byname.gperf: Likewise.
5026         * lib/unictype/sy_java_ident.h: Likewise.
5027         * lib/unigbrk/gbrkprop.h: Likewise.
5028         * lib/unilbrk/lbrkprop1.h: Likewise.
5029         * lib/unilbrk/lbrkprop2.h: Likewise.
5030         * lib/uninorm/decomposition-table2.h: Likewise.
5031         * lib/uniwbrk/wbrkprop.h: Likewise.
5032         * tests/unicase/test-cased.c: Likewise.
5033         * tests/unicase/test-ignorable.c: Likewise.
5034         * tests/unicase/test-uc_tolower.c: Likewise.
5035         * tests/unicase/test-uc_totitle.c: Likewise.
5036         * tests/unicase/test-uc_toupper.c: Likewise.
5037         * tests/unictype/test-categ_C.c: Likewise.
5038         * tests/unictype/test-categ_Cn.c: Likewise.
5039         * tests/unictype/test-categ_L.c: Likewise.
5040         * tests/unictype/test-categ_Ll.c: Likewise.
5041         * tests/unictype/test-categ_Lm.c: Likewise.
5042         * tests/unictype/test-categ_Lo.c: Likewise.
5043         * tests/unictype/test-categ_Lu.c: Likewise.
5044         * tests/unictype/test-categ_M.c: Likewise.
5045         * tests/unictype/test-categ_Mc.c: Likewise.
5046         * tests/unictype/test-categ_Me.c: Likewise.
5047         * tests/unictype/test-categ_Mn.c: Likewise.
5048         * tests/unictype/test-categ_N.c: Likewise.
5049         * tests/unictype/test-categ_Nd.c: Likewise.
5050         * tests/unictype/test-categ_No.c: Likewise.
5051         * tests/unictype/test-categ_P.c: Likewise.
5052         * tests/unictype/test-categ_Po.c: Likewise.
5053         * tests/unictype/test-categ_S.c: Likewise.
5054         * tests/unictype/test-categ_Sc.c: Likewise.
5055         * tests/unictype/test-categ_Sk.c: Likewise.
5056         * tests/unictype/test-categ_Sm.c: Likewise.
5057         * tests/unictype/test-categ_So.c: Likewise.
5058         * tests/unictype/test-ctype_alnum.c: Likewise.
5059         * tests/unictype/test-ctype_alpha.c: Likewise.
5060         * tests/unictype/test-ctype_graph.c: Likewise.
5061         * tests/unictype/test-ctype_lower.c: Likewise.
5062         * tests/unictype/test-ctype_print.c: Likewise.
5063         * tests/unictype/test-ctype_punct.c: Likewise.
5064         * tests/unictype/test-ctype_upper.c: Likewise.
5065         * tests/unictype/test-decdigit.h: Likewise.
5066         * tests/unictype/test-digit.h: Likewise.
5067         * tests/unictype/test-numeric.h: Likewise.
5068         * tests/unictype/test-pr_alphabetic.c: Likewise.
5069         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
5070         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
5071         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
5072         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
5073         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
5074         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
5075         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
5076         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
5077         * tests/unictype/test-pr_case_ignorable.c: Likewise.
5078         * tests/unictype/test-pr_cased.c: Likewise.
5079         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
5080         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
5081         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
5082         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
5083         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
5084         * tests/unictype/test-pr_combining.c: Likewise.
5085         * tests/unictype/test-pr_composite.c: Likewise.
5086         * tests/unictype/test-pr_currency_symbol.c: Likewise.
5087         * tests/unictype/test-pr_decimal_digit.c: Likewise.
5088         * tests/unictype/test-pr_deprecated.c: Likewise.
5089         * tests/unictype/test-pr_format_control.c: Likewise.
5090         * tests/unictype/test-pr_grapheme_base.c: Likewise.
5091         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
5092         * tests/unictype/test-pr_grapheme_link.c: Likewise.
5093         * tests/unictype/test-pr_id_continue.c: Likewise.
5094         * tests/unictype/test-pr_id_start.c: Likewise.
5095         * tests/unictype/test-pr_ideographic.c: Likewise.
5096         * tests/unictype/test-pr_lowercase.c: Likewise.
5097         * tests/unictype/test-pr_math.c: Likewise.
5098         * tests/unictype/test-pr_numeric.c: Likewise.
5099         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
5100         * tests/unictype/test-pr_other_id_continue.c: Likewise.
5101         * tests/unictype/test-pr_other_math.c: Likewise.
5102         * tests/unictype/test-pr_punctuation.c: Likewise.
5103         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
5104         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
5105         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
5106         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
5107         * tests/unictype/test-pr_uppercase.c: Likewise.
5108         * tests/unictype/test-pr_xid_continue.c: Likewise.
5109         * tests/unictype/test-pr_xid_start.c: Likewise.
5110         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
5111         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
5112         changes.
5113         * lib/unictype/categ_Cc.h: Likewise.
5114         * lib/unictype/categ_Cf.h: Likewise.
5115         * lib/unictype/categ_Co.h: Likewise.
5116         * lib/unictype/categ_Cs.h: Likewise.
5117         * lib/unictype/categ_Lt.h: Likewise.
5118         * lib/unictype/categ_Nl.h: Likewise.
5119         * lib/unictype/categ_Pc.h: Likewise.
5120         * lib/unictype/categ_Pd.h: Likewise.
5121         * lib/unictype/categ_Pe.h: Likewise.
5122         * lib/unictype/categ_Pf.h: Likewise.
5123         * lib/unictype/categ_Pi.h: Likewise.
5124         * lib/unictype/categ_Ps.h: Likewise.
5125         * lib/unictype/categ_Z.h: Likewise.
5126         * lib/unictype/categ_Zl.h: Likewise.
5127         * lib/unictype/categ_Zp.h: Likewise.
5128         * lib/unictype/categ_Zs.h: Likewise.
5129         * lib/unictype/ctype_blank.h: Likewise.
5130         * lib/unictype/ctype_cntrl.h: Likewise.
5131         * lib/unictype/ctype_digit.h: Likewise.
5132         * lib/unictype/ctype_space.h: Likewise.
5133         * lib/unictype/ctype_xdigit.h: Likewise.
5134         * lib/unictype/mirror.h: Likewise.
5135         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
5136         * lib/unictype/pr_bidi_block_separator.h: Likewise.
5137         * lib/unictype/pr_bidi_common_separator.h: Likewise.
5138         * lib/unictype/pr_bidi_control.h: Likewise.
5139         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
5140         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
5141         * lib/unictype/pr_bidi_european_digit.h: Likewise.
5142         * lib/unictype/pr_bidi_pdf.h: Likewise.
5143         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
5144         * lib/unictype/pr_bidi_whitespace.h: Likewise.
5145         * lib/unictype/pr_dash.h: Likewise.
5146         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
5147         * lib/unictype/pr_diacritic.h: Likewise.
5148         * lib/unictype/pr_extender.h: Likewise.
5149         * lib/unictype/pr_hex_digit.h: Likewise.
5150         * lib/unictype/pr_hyphen.h: Likewise.
5151         * lib/unictype/pr_ids_binary_operator.h: Likewise.
5152         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
5153         * lib/unictype/pr_ignorable_control.h: Likewise.
5154         * lib/unictype/pr_iso_control.h: Likewise.
5155         * lib/unictype/pr_join_control.h: Likewise.
5156         * lib/unictype/pr_left_of_pair.h: Likewise.
5157         * lib/unictype/pr_line_separator.h: Likewise.
5158         * lib/unictype/pr_logical_order_exception.h: Likewise.
5159         * lib/unictype/pr_non_break.h: Likewise.
5160         * lib/unictype/pr_not_a_character.h: Likewise.
5161         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
5162         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
5163         * lib/unictype/pr_other_id_start.h: Likewise.
5164         * lib/unictype/pr_other_lowercase.h: Likewise.
5165         * lib/unictype/pr_other_uppercase.h: Likewise.
5166         * lib/unictype/pr_paired_punctuation.h: Likewise.
5167         * lib/unictype/pr_paragraph_separator.h: Likewise.
5168         * lib/unictype/pr_pattern_syntax.h: Likewise.
5169         * lib/unictype/pr_pattern_white_space.h: Likewise.
5170         * lib/unictype/pr_private_use.h: Likewise.
5171         * lib/unictype/pr_quotation_mark.h: Likewise.
5172         * lib/unictype/pr_radical.h: Likewise.
5173         * lib/unictype/pr_soft_dotted.h: Likewise.
5174         * lib/unictype/pr_space.h: Likewise.
5175         * lib/unictype/pr_titlecase.h: Likewise.
5176         * lib/unictype/pr_variation_selector.h: Likewise.
5177         * lib/unictype/pr_white_space.h: Likewise.
5178         * lib/unictype/pr_zero_width.h: Likewise.
5179         * lib/unictype/sy_c_ident.h: Likewise.
5180         * lib/unictype/sy_c_whitespace.h: Likewise.
5181         * lib/unictype/sy_java_whitespace.h: Likewise.
5182         * lib/uninorm/composition-table.gperf: Likewise.
5183         * lib/uninorm/decomposition-table1.h: Likewise.
5184         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
5185         LB8.
5186         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
5187         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
5188         * modules/unictype/*: Bump version number of expected libunistring
5189         version.
5190
5191 2011-01-09  Bruno Haible  <bruno@clisp.org>
5192
5193         Update to Unicode 5.2.0.
5194         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
5195         trailing whitespace removed.
5196
5197 2011-01-09  Bruno Haible  <bruno@clisp.org>
5198
5199         New Unicode character properties, from Unicode 5.2.0.
5200         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
5201         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
5202         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
5203         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
5204         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
5205         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
5206         uc_is_property_cased, uc_is_property_case_ignorable,
5207         uc_is_property_changes_when_lowercased,
5208         uc_is_property_changes_when_uppercased,
5209         uc_is_property_changes_when_titlecased,
5210         uc_is_property_changes_when_casefolded,
5211         uc_is_property_changes_when_casemapped): New declarations.
5212         * lib/unictype/pr_byname.gperf: Add the new properties.
5213         * modules/unictype/property-byname (Depends-on): Depend on the new
5214         properties modules.
5215         * modules/unictype/property-all (Depends-on): Likewise.
5216         * MODULES.html.sh (Unicode string functions): Add
5217         unictype/property-case-ignorable, unictype/property-cased,
5218         unictype/property-changes-when-casefolded,
5219         unictype/property-changes-when-casemapped,
5220         unictype/property-changes-when-lowercased,
5221         unictype/property-changes-when-titlecased,
5222         unictype/property-changes-when-uppercased.
5223
5224         New module 'unictype/property-changes-when-casemapped'.
5225         * modules/unictype/property-changes-when-casemapped: New file.
5226         * lib/unictype/pr_changes_when_casemapped.c: New file.
5227         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
5228         generated by gen-uni-tables.
5229         * modules/unictype/property-changes-when-casemapped-tests: New file.
5230         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
5231         automatically generated by gen-uni-tables.
5232
5233         New module 'unictype/property-changes-when-casefolded'.
5234         * modules/unictype/property-changes-when-casefolded: New file.
5235         * lib/unictype/pr_changes_when_casefolded.c: New file.
5236         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
5237         generated by gen-uni-tables.
5238         * modules/unictype/property-changes-when-casefolded-tests: New file.
5239         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
5240         automatically generated by gen-uni-tables.
5241
5242         New module 'unictype/property-changes-when-titlecased'.
5243         * modules/unictype/property-changes-when-titlecased: New file.
5244         * lib/unictype/pr_changes_when_titlecased.c: New file.
5245         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
5246         generated by gen-uni-tables.
5247         * modules/unictype/property-changes-when-titlecased-tests: New file.
5248         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
5249         automatically generated by gen-uni-tables.
5250
5251         New module 'unictype/property-changes-when-uppercased'.
5252         * modules/unictype/property-changes-when-uppercased: New file.
5253         * lib/unictype/pr_changes_when_uppercased.c: New file.
5254         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
5255         generated by gen-uni-tables.
5256         * modules/unictype/property-changes-when-uppercased-tests: New file.
5257         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
5258         automatically generated by gen-uni-tables.
5259
5260         New module 'unictype/property-changes-when-lowercased'.
5261         * modules/unictype/property-changes-when-lowercased: New file.
5262         * lib/unictype/pr_changes_when_lowercased.c: New file.
5263         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
5264         generated by gen-uni-tables.
5265         * modules/unictype/property-changes-when-lowercased-tests: New file.
5266         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
5267         automatically generated by gen-uni-tables.
5268
5269         New module 'unictype/property-case-ignorable'.
5270         * modules/unictype/property-case-ignorable: New file.
5271         * lib/unictype/pr_case_ignorable.c: New file.
5272         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
5273         by gen-uni-tables.
5274         * modules/unictype/property-case-ignorable-tests: New file.
5275         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
5276         generated by gen-uni-tables.
5277
5278         New module 'unictype/property-cased'.
5279         * modules/unictype/property-cased: New file.
5280         * lib/unictype/pr_cased.c: New file.
5281         * lib/unictype/pr_cased.h: New file, automatically generated by
5282         gen-uni-tables.
5283         * modules/unictype/property-cased-tests: New file.
5284         * tests/unictype/test-pr_cased.c: New file, automatically generated by
5285         gen-uni-tables.
5286
5287 2011-01-09  Bruno Haible  <bruno@clisp.org>
5288
5289         Update to Unicode 5.2.0.
5290         * lib/gen-uni-tables.c (output_predicate, output_category,
5291         output_combclass, output_bidi_category, output_decimal_digit_test,
5292         output_decimal_digit, output_digit_test, output_digit,
5293         output_numeric_test, output_numeric, output_mirror, output_scripts,
5294         output_scripts_byname, output_blocks, output_ident_category): Fix
5295         comment header.
5296         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
5297         get_wbp.
5298         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
5299         items.
5300         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
5301         Changes_When_Lowercased, Changes_When_Uppercased,
5302         Changes_When_Titlecased, Changes_When_Casefolded,
5303         Changes_When_Casemapped.
5304         (is_property_alphabetic, is_property_default_ignorable_code_point):
5305         Update for Unicode 5.2.0.
5306         (is_property_cased, is_property_case_ignorable,
5307         is_property_changes_when_lowercased,
5308         is_property_changes_when_uppercased,
5309         is_property_changes_when_titlecased,
5310         is_property_changes_when_casefolded,
5311         is_property_changes_when_casemapped): New functions.
5312         (output_properties): Output also the properties cased, case_ignorable,
5313         changes_when_lowercased, changes_when_uppercased,
5314         changes_when_titlecased, changes_when_casefolded,
5315         changes_when_casemapped.
5316         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
5317         Unicode TR#11 revision 17 -> 19.
5318         (LBP_CP): New enumeration value.
5319         (LBP_*): Adjust values accordingly.
5320         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
5321         TR#14 revision 22 -> 24.
5322         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
5323         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
5324         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
5325         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
5326         is_WBP_MIDLETTER.
5327         (output_composition_tables): Allow for 24 bits instead of 16 bits in
5328         the code1 and code2 of each composition rule.
5329         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
5330         * lib/unicase/ignorable.h: Likewise.
5331         * lib/unicase/tocasefold.h: Likewise.
5332         * lib/unicase/tolower.h: Likewise.
5333         * lib/unicase/totitle.h: Likewise.
5334         * lib/unicase/toupper.h: Likewise.
5335         * lib/unictype/bidi_of.h: Likewise.
5336         * lib/unictype/blocks.h: Likewise.
5337         * lib/unictype/categ_C.h: Likewise.
5338         * lib/unictype/categ_Cf.h: Likewise.
5339         * lib/unictype/categ_Cn.h: Likewise.
5340         * lib/unictype/categ_L.h: Likewise.
5341         * lib/unictype/categ_Ll.h: Likewise.
5342         * lib/unictype/categ_Lm.h: Likewise.
5343         * lib/unictype/categ_Lo.h: Likewise.
5344         * lib/unictype/categ_Lu.h: Likewise.
5345         * lib/unictype/categ_M.h: Likewise.
5346         * lib/unictype/categ_Mc.h: Likewise.
5347         * lib/unictype/categ_Mn.h: Likewise.
5348         * lib/unictype/categ_N.h: Likewise.
5349         * lib/unictype/categ_Nd.h: Likewise.
5350         * lib/unictype/categ_Nl.h: Likewise.
5351         * lib/unictype/categ_No.h: Likewise.
5352         * lib/unictype/categ_P.h: Likewise.
5353         * lib/unictype/categ_Pd.h: Likewise.
5354         * lib/unictype/categ_Po.h: Likewise.
5355         * lib/unictype/categ_S.h: Likewise.
5356         * lib/unictype/categ_Sc.h: Likewise.
5357         * lib/unictype/categ_So.h: Likewise.
5358         * lib/unictype/categ_of.h: Likewise.
5359         * lib/unictype/combining.h: Likewise.
5360         * lib/unictype/ctype_alnum.h: Likewise.
5361         * lib/unictype/ctype_alpha.h: Likewise.
5362         * lib/unictype/ctype_graph.h: Likewise.
5363         * lib/unictype/ctype_lower.h: Likewise.
5364         * lib/unictype/ctype_print.h: Likewise.
5365         * lib/unictype/ctype_punct.h: Likewise.
5366         * lib/unictype/ctype_upper.h: Likewise.
5367         * lib/unictype/decdigit.h: Likewise.
5368         * lib/unictype/digit.h: Likewise.
5369         * lib/unictype/numeric.h: Likewise.
5370         * lib/unictype/pr_alphabetic.h: Likewise.
5371         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
5372         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
5373         * lib/unictype/pr_bidi_european_digit.h: Likewise.
5374         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
5375         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
5376         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
5377         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
5378         * lib/unictype/pr_combining.h: Likewise.
5379         * lib/unictype/pr_composite.h: Likewise.
5380         * lib/unictype/pr_currency_symbol.h: Likewise.
5381         * lib/unictype/pr_dash.h: Likewise.
5382         * lib/unictype/pr_decimal_digit.h: Likewise.
5383         * lib/unictype/pr_deprecated.h: Likewise.
5384         * lib/unictype/pr_diacritic.h: Likewise.
5385         * lib/unictype/pr_extender.h: Likewise.
5386         * lib/unictype/pr_grapheme_base.h: Likewise.
5387         * lib/unictype/pr_grapheme_extend.h: Likewise.
5388         * lib/unictype/pr_grapheme_link.h: Likewise.
5389         * lib/unictype/pr_id_continue.h: Likewise.
5390         * lib/unictype/pr_id_start.h: Likewise.
5391         * lib/unictype/pr_ideographic.h: Likewise.
5392         * lib/unictype/pr_ignorable_control.h: Likewise.
5393         * lib/unictype/pr_logical_order_exception.h: Likewise.
5394         * lib/unictype/pr_lowercase.h: Likewise.
5395         * lib/unictype/pr_numeric.h: Likewise.
5396         * lib/unictype/pr_other_alphabetic.h: Likewise.
5397         * lib/unictype/pr_punctuation.h: Likewise.
5398         * lib/unictype/pr_sentence_terminal.h: Likewise.
5399         * lib/unictype/pr_terminal_punctuation.h: Likewise.
5400         * lib/unictype/pr_unassigned_code_value.h: Likewise.
5401         * lib/unictype/pr_unified_ideograph.h: Likewise.
5402         * lib/unictype/pr_uppercase.h: Likewise.
5403         * lib/unictype/pr_xid_continue.h: Likewise.
5404         * lib/unictype/pr_xid_start.h: Likewise.
5405         * lib/unictype/pr_zero_width.h: Likewise.
5406         * lib/unictype/scripts.h: Likewise.
5407         * lib/unictype/scripts_byname.gperf: Likewise.
5408         * lib/unictype/sy_java_ident.h: Likewise.
5409         * lib/unigbrk/gbrkprop.h: Likewise.
5410         * lib/unilbrk/lbrkprop1.h: Likewise.
5411         * lib/unilbrk/lbrkprop2.h: Likewise.
5412         * lib/unilbrk/lbrktables.h: Likewise.
5413         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
5414         LBP_CP. Implement rule LB30.
5415         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
5416         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
5417         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
5418         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
5419         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
5420         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
5421         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
5422         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
5423         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
5424         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
5425         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
5426         bits instead of 16 bits in the code1 and code2 of each composition
5427         rule.
5428         (uc_composition): Update for Unicode 5.2.0.
5429         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
5430         * lib/uninorm/decomposition-table2.h: Likewise.
5431         * lib/uniwbrk/wbrkprop.h: Likewise.
5432         * tests/unicase/test-cased.c: Likewise.
5433         * tests/unicase/test-ignorable.c: Likewise.
5434         * tests/unicase/test-uc_tolower.c: Likewise.
5435         * tests/unicase/test-uc_totitle.c: Likewise.
5436         * tests/unicase/test-uc_toupper.c: Likewise.
5437         * tests/unictype/test-categ_C.c: Likewise.
5438         * tests/unictype/test-categ_Cf.c: Likewise.
5439         * tests/unictype/test-categ_Cn.c: Likewise.
5440         * tests/unictype/test-categ_L.c: Likewise.
5441         * tests/unictype/test-categ_Ll.c: Likewise.
5442         * tests/unictype/test-categ_Lm.c: Likewise.
5443         * tests/unictype/test-categ_Lo.c: Likewise.
5444         * tests/unictype/test-categ_Lu.c: Likewise.
5445         * tests/unictype/test-categ_M.c: Likewise.
5446         * tests/unictype/test-categ_Mc.c: Likewise.
5447         * tests/unictype/test-categ_Mn.c: Likewise.
5448         * tests/unictype/test-categ_N.c: Likewise.
5449         * tests/unictype/test-categ_Nd.c: Likewise.
5450         * tests/unictype/test-categ_Nl.c: Likewise.
5451         * tests/unictype/test-categ_No.c: Likewise.
5452         * tests/unictype/test-categ_P.c: Likewise.
5453         * tests/unictype/test-categ_Pd.c: Likewise.
5454         * tests/unictype/test-categ_Po.c: Likewise.
5455         * tests/unictype/test-categ_S.c: Likewise.
5456         * tests/unictype/test-categ_Sc.c: Likewise.
5457         * tests/unictype/test-categ_So.c: Likewise.
5458         * tests/unictype/test-ctype_alnum.c: Likewise.
5459         * tests/unictype/test-ctype_alpha.c: Likewise.
5460         * tests/unictype/test-ctype_graph.c: Likewise.
5461         * tests/unictype/test-ctype_lower.c: Likewise.
5462         * tests/unictype/test-ctype_print.c: Likewise.
5463         * tests/unictype/test-ctype_punct.c: Likewise.
5464         * tests/unictype/test-ctype_upper.c: Likewise.
5465         * tests/unictype/test-decdigit.h: Likewise.
5466         * tests/unictype/test-digit.h: Likewise.
5467         * tests/unictype/test-numeric.h: Likewise.
5468         * tests/unictype/test-pr_alphabetic.c: Likewise.
5469         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
5470         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
5471         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
5472         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
5473         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
5474         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
5475         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
5476         * tests/unictype/test-pr_combining.c: Likewise.
5477         * tests/unictype/test-pr_composite.c: Likewise.
5478         * tests/unictype/test-pr_currency_symbol.c: Likewise.
5479         * tests/unictype/test-pr_dash.c: Likewise.
5480         * tests/unictype/test-pr_decimal_digit.c: Likewise.
5481         * tests/unictype/test-pr_deprecated.c: Likewise.
5482         * tests/unictype/test-pr_diacritic.c: Likewise.
5483         * tests/unictype/test-pr_extender.c: Likewise.
5484         * tests/unictype/test-pr_grapheme_base.c: Likewise.
5485         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
5486         * tests/unictype/test-pr_grapheme_link.c: Likewise.
5487         * tests/unictype/test-pr_id_continue.c: Likewise.
5488         * tests/unictype/test-pr_id_start.c: Likewise.
5489         * tests/unictype/test-pr_ideographic.c: Likewise.
5490         * tests/unictype/test-pr_ignorable_control.c: Likewise.
5491         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
5492         * tests/unictype/test-pr_lowercase.c: Likewise.
5493         * tests/unictype/test-pr_numeric.c: Likewise.
5494         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
5495         * tests/unictype/test-pr_punctuation.c: Likewise.
5496         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
5497         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
5498         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
5499         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
5500         * tests/unictype/test-pr_uppercase.c: Likewise.
5501         * tests/unictype/test-pr_xid_continue.c: Likewise.
5502         * tests/unictype/test-pr_xid_start.c: Likewise.
5503         * tests/unictype/test-pr_zero_width.c: Likewise.
5504         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
5505         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
5506         changed behaviour: line breaking is now disallowed between a letter
5507         or '=' and '('.
5508         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
5509         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
5510         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
5511         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
5512         * tests/uniwidth/test-uc_width2.sh: Same updates as in
5513         lib/uniwidth/width.c.
5514         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
5515         without comments, but with the original copyright notice.
5516         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
5517         changes.
5518         * lib/unictype/categ_Cc.h: Likewise.
5519         * lib/unictype/categ_Co.h: Likewise.
5520         * lib/unictype/categ_Cs.h: Likewise.
5521         * lib/unictype/categ_Lt.h: Likewise.
5522         * lib/unictype/categ_Me.h: Likewise.
5523         * lib/unictype/categ_Pc.h: Likewise.
5524         * lib/unictype/categ_Pe.h: Likewise.
5525         * lib/unictype/categ_Pf.h: Likewise.
5526         * lib/unictype/categ_Pi.h: Likewise.
5527         * lib/unictype/categ_Ps.h: Likewise.
5528         * lib/unictype/categ_Sk.h: Likewise.
5529         * lib/unictype/categ_Sm.h: Likewise.
5530         * lib/unictype/categ_Z.h: Likewise.
5531         * lib/unictype/categ_Zl.h: Likewise.
5532         * lib/unictype/categ_Zp.h: Likewise.
5533         * lib/unictype/categ_Zs.h: Likewise.
5534         * lib/unictype/ctype_blank.h: Likewise.
5535         * lib/unictype/ctype_cntrl.h: Likewise.
5536         * lib/unictype/ctype_digit.h: Likewise.
5537         * lib/unictype/ctype_space.h: Likewise.
5538         * lib/unictype/ctype_xdigit.h: Likewise.
5539         * lib/unictype/mirror.h: Likewise.
5540         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
5541         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
5542         * lib/unictype/pr_bidi_block_separator.h: Likewise.
5543         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
5544         * lib/unictype/pr_bidi_common_separator.h: Likewise.
5545         * lib/unictype/pr_bidi_control.h: Likewise.
5546         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
5547         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
5548         * lib/unictype/pr_bidi_pdf.h: Likewise.
5549         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
5550         * lib/unictype/pr_bidi_whitespace.h: Likewise.
5551         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
5552         * lib/unictype/pr_format_control.h: Likewise.
5553         * lib/unictype/pr_hex_digit.h: Likewise.
5554         * lib/unictype/pr_hyphen.h: Likewise.
5555         * lib/unictype/pr_ids_binary_operator.h: Likewise.
5556         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
5557         * lib/unictype/pr_iso_control.h: Likewise.
5558         * lib/unictype/pr_join_control.h: Likewise.
5559         * lib/unictype/pr_left_of_pair.h: Likewise.
5560         * lib/unictype/pr_line_separator.h: Likewise.
5561         * lib/unictype/pr_math.h: Likewise.
5562         * lib/unictype/pr_non_break.h: Likewise.
5563         * lib/unictype/pr_not_a_character.h: Likewise.
5564         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
5565         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
5566         * lib/unictype/pr_other_id_continue.h: Likewise.
5567         * lib/unictype/pr_other_id_start.h: Likewise.
5568         * lib/unictype/pr_other_lowercase.h: Likewise.
5569         * lib/unictype/pr_other_math.h: Likewise.
5570         * lib/unictype/pr_other_uppercase.h: Likewise.
5571         * lib/unictype/pr_paired_punctuation.h: Likewise.
5572         * lib/unictype/pr_paragraph_separator.h: Likewise.
5573         * lib/unictype/pr_pattern_syntax.h: Likewise.
5574         * lib/unictype/pr_pattern_white_space.h: Likewise.
5575         * lib/unictype/pr_private_use.h: Likewise.
5576         * lib/unictype/pr_quotation_mark.h: Likewise.
5577         * lib/unictype/pr_radical.h: Likewise.
5578         * lib/unictype/pr_soft_dotted.h: Likewise.
5579         * lib/unictype/pr_space.h: Likewise.
5580         * lib/unictype/pr_titlecase.h: Likewise.
5581         * lib/unictype/pr_variation_selector.h: Likewise.
5582         * lib/unictype/pr_white_space.h: Likewise.
5583         * lib/unictype/sy_c_ident.h: Likewise.
5584         * lib/unictype/sy_c_whitespace.h: Likewise.
5585         * lib/unictype/sy_java_whitespace.h: Likewise.
5586         * modules/uni*/*: Bump version number of expected libunistring version.
5587         Reported by Simon Josefsson.
5588
5589 2011-01-09  Karl Heuer  <kwzh@gnu.org>
5590
5591         useless-if-before-free: fix typo in --help and make the internal,
5592         automatic version date update process work once again.
5593         --help output contained a NUL character instead of the
5594         backslash-zero that was intended.  Also, the "must lie within
5595         the first 8 lines" line is on line 9, and hence not getting
5596         automatically updated.
5597         * build-aux/useless-if-before-free: Fix the former by adding a
5598         backslash, and the latter by condensing the three lines of what-it-does
5599         to a single line, leaving one line of slack for the future.
5600
5601 2011-01-09  Bruno Haible  <bruno@clisp.org>
5602
5603         uniwidth/width: Fix width of U+1D173..U+1D17A.
5604         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
5605         symbolic_width, output_width_property_test): New functions.
5606         (main): Invoke output_nonspacing_property, output_width_property_test.
5607         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
5608         U+1D173..U+1D17A.
5609         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
5610         1.
5611         * modules/uniwidth/*: Bump version number of expected libunistring
5612         version.
5613         * modules/unilbrk/*: Likewise.
5614
5615 2011-01-08  Bruno Haible  <bruno@clisp.org>
5616
5617         uninorm tests: Preserve copyright of Unicode data file.
5618         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
5619         Mention modifications.
5620
5621 2011-01-08  Bruno Haible  <bruno@clisp.org>
5622
5623         gen-uni-tables: Prepare for Unicode 5.2.0.
5624         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
5625         (debug_output_lbp, output_lbp): Update.
5626
5627 2011-01-08  Bruno Haible  <bruno@clisp.org>
5628
5629         unilbrk: Clarify gen-uni-tables.c code.
5630         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
5631         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
5632         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
5633
5634 2011-01-07  Bruno Haible  <bruno@clisp.org>
5635
5636         strtod: Restore errno when successfully parsing Infinity or NaN.
5637         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
5638         restore the original errno.
5639
5640 2011-01-07  Bruno Haible  <bruno@clisp.org>
5641
5642         remove test: Avoid failure on HP-UX 11.
5643         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
5644
5645 2011-01-07  Bruno Haible  <bruno@clisp.org>
5646
5647         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
5648         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
5649         error code.
5650
5651 2011-01-07  Pádraig Brady <P@draigBrady.com>
5652
5653         ignore-value: fixup comments, and add Eric Blake
5654         as an author since he rewrote the macros.
5655         * lib/ignore-value.h (ignore_value):  State that
5656         we now support aggregates.  Also specify exactly
5657         when the GCC warn_unused_result feature was added.
5658
5659 2011-01-06  Eric Blake  <eblake@redhat.com>
5660
5661         ignore-value: support aggregate types
5662         * lib/ignore-value.h (ignore_value): Provide separate gcc
5663         definition.
5664         * modules/ignore-value-tests: New test module.
5665         * tests/test-ignore-value.c: New test.
5666
5667         maint.mk: improve sc_prohibit_strcmp regex
5668         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
5669         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
5670         definition of STRNEQ.
5671
5672         signal: work around Haiku issue with SIGBUS
5673         * lib/siglist.h: Add comment.
5674         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
5675         strsignal's favoring of SIGSEGV.
5676         * tests/test-signal.c (main): Avoid test failure.
5677         * doc/posix-headers/signal.texi (signal.h): Document the issue.
5678         Reported by Scott McCreary.
5679
5680         maint.mk: add pre-release check to ensure submodule commits are public
5681         * top/maint.mk (public-submodule-commit): New rule.
5682         (submodule-checks): New variable.
5683         (alpha beta stable): Depend on the variable.
5684
5685 2011-01-05  Pádraig Brady <P@draigBrady.com>
5686         and Jim Meyering  <meyering@redhat.com>
5687
5688         ignore-value: make ignore_value more generic; deprecate ignore_ptr
5689         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
5690         (ATTRIBUTE_DEPRECATED): Define.
5691         (_ignore_case): New function.
5692         (ignore_value): New macro, to replace the old function.
5693         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
5694         * modules/ignore-value (Depends-on): Add stdint.
5695
5696 2011-01-04  Eric Blake  <eblake@redhat.com>
5697
5698         doc: regenerate INSTALL
5699         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
5700         @firstparagraphindent support, now that autoconf dropped it.
5701         (INSTALL_PRELUDE): Reinstate old macro.
5702         * doc/install.texi: Resync from autoconf.
5703         * doc/INSTALL: Reflect recent autoconf update.
5704         * doc/INSTALL.ISO: Likewise.
5705         * doc/INSTALL.UTF-8: Likewise.
5706         Reported by Karl Berry.
5707
5708 2011-01-04  Bruce Korb  <address@hidden>
5709
5710         git-version-gen: avoid a sub-shell
5711         * build-aux/git-version-gen: Redirect stderr in `...` via
5712         "exec 2>...", rather than via an added sub-shell.
5713
5714 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
5715
5716         git-version-gen: use (...) rather than sh -c '...'
5717         * build-aux/git-version-gen: Rather than hard-coding a shell's name
5718         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
5719
5720 2011-01-03  Jim Meyering  <meyering@redhat.com>
5721
5722         git-version-gen: convert leading TABs to spaces
5723         * build-aux/git-version-gen: Expand leading TABs.
5724
5725         git-version-gen: handle failed "git rev-list"
5726         * build-aux/git-version-gen: Rather than leaking a "fatal" error
5727         from git and proceeding as if it had succeeded but printed no SHA1
5728         checksums, suppress the diagnostic and handle the failure.
5729         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
5730
5731         git-version-gen: include command name in one more diagnostic
5732         * build-aux/git-version-gen: When the required .tarball-version file
5733         was missing or unreadable, you might see the diagnostic from "cat",
5734         but no trace of the name of the invoking script.  Now, you still see
5735         the diagnostic from cat, but also get one from "git-version-gen: ".
5736         Inspired by a patch from Bruce Korb.
5737
5738         update-copyright: adjust test to match changed code
5739         * tests/test-update-copyright.sh: Change test's expected output
5740         to match new actual output.
5741
5742 2011-01-02  Bruno Haible  <bruno@clisp.org>
5743
5744         getlogin_r: Avoid test failure on HP-UX 11.
5745         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
5746         ERANGE when the second argument is zero.
5747         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
5748         portability problem.
5749
5750 2011-01-02  Bruce Korb  <bkorb@gnu.org>
5751
5752         * build-aux/update-copyright: doc Simon's changes
5753
5754 2011-01-02  Simon Josefsson  <simon@josefsson.org>
5755
5756         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
5757         environment variable.
5758
5759 2011-01-02  Bruno Haible  <bruno@clisp.org>
5760
5761         unigbrk: Avoid gcc warnings.
5762         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
5763         unused variable.
5764         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
5765         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
5766         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
5767         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
5768         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
5769         Change type of first argument to 'const char *'.
5770         (main): Remove unused variable.
5771         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
5772         type of first argument to 'const char *'.
5773         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
5774         Likewise.
5775         (main): Change type of variable 's'.
5776         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
5777         to 'int'.
5778
5779 2011-01-02  Bruno Haible  <bruno@clisp.org>
5780
5781         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
5782         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
5783         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
5784         bug.
5785         * lib/pwrite.c: Undo 2010-12-31 patch.
5786         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
5787
5788 2011-01-02  Bruno Haible  <bruno@clisp.org>
5789
5790         pread: Fix test whether it works.
5791         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
5792
5793 2011-01-02  Bruno Haible  <bruno@clisp.org>
5794
5795         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
5796         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
5797         ends in "6". Don't require a specific month name. Try also the locale
5798         names found on HP-UX 11 and Solaris 7.
5799
5800 2011-01-02  Bruno Haible  <bruno@clisp.org>
5801
5802         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
5803         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
5804         C linkage.
5805         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
5806
5807 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
5808
5809         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
5810         for consistency, since the "cluster" term is not used elsewhere.
5811         * lib/unigbrk.in.h: Update name.
5812         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
5813         * lib/unigbrk/u16-grapheme-next.c: Update name.
5814         * lib/unigbrk/u16-grapheme-prev.c: Update name.
5815         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
5816         * lib/unigbrk/u32-grapheme-next.c: Update name.
5817         * lib/unigbrk/u32-grapheme-prev.c: Update name.
5818         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
5819         * lib/unigbrk/u8-grapheme-next.c: Update name.
5820         * lib/unigbrk/u8-grapheme-prev.c: Update name.
5821         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
5822         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
5823         Suggested by Bruno Haible.
5824
5825 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
5826
5827         Remove module 'u8-grapheme-len' as too redundant with
5828         'u8-grapheme-next'.
5829         * modules/unigbrk/u8-grapheme-len: Delete file.
5830         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
5831         * lib/unigbrk.in.h: Remove prototype for deleted function.
5832         * lib/unigbrk/u8-grapheme-len.c: Delete file.
5833         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
5834
5835         Remove module 'u16-grapheme-len' as too redundant with
5836         'u16-grapheme-next'.
5837         * modules/unigbrk/u16-grapheme-len: Delete file.
5838         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
5839         * lib/unigbrk.in.h: Remove prototype for deleted function.
5840         * lib/unigbrk/u16-grapheme-len.c: Delete file.
5841         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
5842
5843         Remove module 'u32-grapheme-len' as too redundant with
5844         'u32-grapheme-next'.
5845         * modules/unigbrk/u32-grapheme-len: Delete file.
5846         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
5847         * lib/unigbrk.in.h: Remove prototype for deleted function.
5848         * lib/unigbrk/u32-grapheme-len.c: Delete file.
5849         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
5850
5851         Suggested by Bruno Haible.
5852
5853 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
5854
5855         * unigbrk.in.h: Fix typo: "ben" => "been".
5856         Reported by Bruno Haible.
5857
5858 2011-01-01  Jim Meyering  <meyering@redhat.com>
5859
5860         maint: update almost all copyright ranges to include 2011
5861         Run the new "make update-copyright" rule.
5862
5863 2011-01-01  Jim Meyering  <meyering@redhat.com>
5864
5865         maint: update-copyright: exempt doc/INSTALL*
5866         * Makefile (update-copyright): Also exclude doc/INSTALL*,
5867         since they are generated.  Suggested by Bruno Haible.
5868
5869 2011-01-01  Jim Meyering  <meyering@redhat.com>
5870
5871         maint: refine the update-copyright rule
5872         * Makefile (update-copyright): Also exclude any file that includes
5873         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
5874         code that merely generates the comment.
5875
5876 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
5877
5878         New module 'u8-grapheme-len'.
5879         * modules/unigbrk/u8-grapheme-len: New file.
5880         * modules/unigbrk/u8-grapheme-len-tests: New file.
5881         * lib/unigbrk.in.h: Add prototype for new function.
5882         * lib/unigbrk/u8-grapheme-len.c: New file.
5883         * tests/unigbrk/test-u8-grapheme-len.c: New file.
5884
5885         New module 'u16-grapheme-len'.
5886         * modules/unigbrk/u16-grapheme-len: New file.
5887         * modules/unigbrk/u16-grapheme-len-tests: New file.
5888         * lib/unigbrk.in.h: Add prototype for new function.
5889         * lib/unigbrk/u16-grapheme-len.c: New file.
5890         * tests/unigbrk/test-u16-grapheme-len.c: New file.
5891
5892         New module 'u32-grapheme-len'.
5893         * modules/unigbrk/u32-grapheme-len: New file.
5894         * modules/unigbrk/u32-grapheme-len-tests: New file.
5895         * lib/unigbrk.in.h: Add prototype for new function.
5896         * lib/unigbrk/u32-grapheme-len.c: New file.
5897         * tests/unigbrk/test-u32-grapheme-len.c: New file.
5898
5899         New module 'u8-grapheme-next'.
5900         * modules/unigbrk/u8-grapheme-next: New file.
5901         * modules/unigbrk/u8-grapheme-next-tests: New file.
5902         * lib/unigbrk.in.h: Add prototype for new function.
5903         * lib/unigbrk/u8-grapheme-next.c: New file.
5904         * tests/unigbrk/test-u8-grapheme-next.c: New file.
5905
5906         New module 'u16-grapheme-next'.
5907         * modules/unigbrk/u16-grapheme-next: New file.
5908         * modules/unigbrk/u16-grapheme-next-tests: New file.
5909         * lib/unigbrk.in.h: Add prototype for new function.
5910         * lib/unigbrk/u16-grapheme-next.c: New file.
5911         * tests/unigbrk/test-u16-grapheme-next.c: New file.
5912
5913         New module 'u32-grapheme-next'.
5914         * modules/unigbrk/u32-grapheme-next: New file.
5915         * modules/unigbrk/u32-grapheme-next-tests: New file.
5916         * lib/unigbrk.in.h: Add prototype for new function.
5917         * lib/unigbrk/u32-grapheme-next.c: New file.
5918         * tests/unigbrk/test-u32-grapheme-next.c: New file.
5919
5920         New module 'u8-grapheme-prev'.
5921         * modules/unigbrk/u8-grapheme-prev: New file.
5922         * modules/unigbrk/u8-grapheme-prev-tests: New file.
5923         * lib/unigbrk.in.h: Add prototype for new function.
5924         * lib/unigbrk/u8-grapheme-prev.c: New file.
5925         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
5926
5927         New module 'u16-grapheme-prev'.
5928         * modules/unigbrk/u16-grapheme-prev: New file.
5929         * modules/unigbrk/u16-grapheme-prev-tests: New file.
5930         * lib/unigbrk.in.h: Add prototype for new function.
5931         * lib/unigbrk/u16-grapheme-prev.c: New file.
5932         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
5933
5934         New module 'u32-grapheme-prev'.
5935         * modules/unigbrk/u32-grapheme-prev: New file.
5936         * modules/unigbrk/u32-grapheme-prev-tests: New file.
5937         * lib/unigbrk.in.h: Add prototype for new function.
5938         * lib/unigbrk/u32-grapheme-prev.c: New file.
5939         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
5940
5941         New module 'u8-grapheme-breaks'.
5942         * modules/unigbrk/u8-grapheme-breaks: New file.
5943         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
5944         * lib/unigbrk.in.h: Add prototype for new function.
5945         * lib/unigbrk/u8-grapheme-breaks.c: New file.
5946         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
5947
5948         New module 'u16-grapheme-breaks'.
5949         * modules/unigbrk/u16-grapheme-breaks: New file.
5950         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
5951         * lib/unigbrk.in.h: Add prototype for new function.
5952         * lib/unigbrk/u16-grapheme-breaks.c: New file.
5953         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
5954
5955         New module 'u32-grapheme-breaks'.
5956         * modules/unigbrk/u32-grapheme-breaks: New file.
5957         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
5958         * lib/unigbrk.in.h: Add prototype for new function.
5959         * lib/unigbrk/u32-grapheme-breaks.c: New file.
5960         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
5961
5962         New module 'ulc-grapheme-breaks'.
5963         * modules/unigbrk/ulc-grapheme-breaks: New file.
5964         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
5965         * m4/locale-ar.m4: New file.
5966         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
5967         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
5968         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
5969
5970 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
5971
5972         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
5973         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
5974         modified how this file was generated before I initially submitted
5975         the module, but failed to regenerate it.  This meant that several
5976         of the level2 entries were wrong.
5977         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
5978         Remove the division-by-2 that is folded into the table now that
5979         gbrkprop.h has been regenerated properly.  Now -1 entries are
5980         handled correctly.
5981
5982         New module 'unigbrk/uc-gbrk-prop-tests'.
5983         * modules/unigbrk/uc-gbrk-prop-tests: New file.
5984         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
5985         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
5986         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
5987
5988 2011-01-01  Bruno Haible  <bruno@clisp.org>
5989
5990         Avoid use of hexadecimal escapes.
5991         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
5992         instead of hexadecimal escapes.
5993
5994 2011-01-01  Jim Meyering  <meyering@redhat.com>
5995
5996         maint: new rule to update copyright year ranges
5997         * Makefile (update-copyright): New rule.
5998
5999         maint: indent with TABs in Makefile
6000         * Makefile: Expand leading sequences of spaces to TABs
6001
6002         version-etc: update the copyright year it reports
6003         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
6004
6005 2010-12-31  Bruno Haible  <bruno@clisp.org>
6006
6007         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
6008         * lib/isfinite.c (zerof, zerod, zerol): New variables.
6009         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
6010         zero.
6011
6012 2010-12-31  Bruno Haible  <bruno@clisp.org>
6013
6014         pwrite: Work around HP-UX 11.11 bug.
6015         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
6016         works and set REPLACE_PWRITE if not.
6017         * lib/pwrite.c (pwrite): Add an implementation that uses the system
6018         function.
6019         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
6020
6021 2010-12-31  Bruno Haible  <bruno@clisp.org>
6022
6023         pread: Work around HP-UX 11 bugs.
6024         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
6025         and set REPLACE_PREAD if not.
6026         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
6027
6028 2010-12-31  Eric Blake  <eblake@redhat.com>
6029
6030         nl_langinfo: fix YESEXPR on Irix 6.5
6031         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
6032         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
6033         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
6034         it.
6035
6036 2010-12-31  Bruno Haible  <bruno@clisp.org>
6037
6038         iconv: Document HP-UX 11 bug.
6039         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
6040
6041 2010-12-31  Bruno Haible  <bruno@clisp.org>
6042
6043         ldexpl: Fix link error on HP-UX 11.
6044         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
6045         LDEXPL_LIBM, using $ISNANL_LIBM.
6046
6047 2010-12-31  Eric Blake  <eblake@redhat.com>
6048
6049         ftello: avoid compilation failure with SunStudio c89
6050         * lib/ftello.c (ftello): Use lseek, not llseek.
6051
6052         tests: avoid failing coreutils tests on cygwin
6053         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
6054         (create_exe_shims_): Return 0 when skipping.
6055
6056 2010-12-31  Bruno Haible  <bruno@clisp.org>
6057
6058         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
6059         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
6060
6061 2010-12-31  Bruno Haible  <bruno@clisp.org>
6062
6063         waitpid: Fix link error in C++ mode.
6064         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
6065
6066 2010-12-31  Bruno Haible  <bruno@clisp.org>
6067
6068         isnan: Use GCC built-ins when possible.
6069         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
6070         __builtin_isnan.
6071         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
6072         (isnan): Define using GCC built-ins for GCC >= 4.0.
6073
6074 2010-12-31  Bruno Haible  <bruno@clisp.org>
6075
6076         isnand: Fix mistake.
6077         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
6078         __builtin_isnand.
6079
6080 2010-12-31  Bruno Haible  <bruno@clisp.org>
6081
6082         open: Avoid C++ error on HP-UX 11.
6083         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
6084
6085 2010-12-31  Bruno Haible  <bruno@clisp.org>
6086
6087         time_r: Add missing declarations on HP-UX 11.
6088         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
6089         instead of HAVE_LOCALTIME_R.
6090         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
6091         HAVE_LOCALTIME_R always.
6092         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
6093         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
6094         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
6095         HAVE_LOCALTIME_R.
6096         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
6097         * doc/posix-functions/localtime_r.texi: Likewise.
6098
6099 2010-12-29  Eric Blake  <eblake@redhat.com>
6100
6101         mountlist: tweak previous commit
6102         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
6103         Reported by Paul Eggert.
6104
6105         mountlist: fix local drive detection on cygwin
6106         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
6107         that works for cygwin.
6108
6109 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
6110
6111         ftoastr, snprintf: ftoastr + snprintf module
6112         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
6113         since the snprintf module now should be good enough here.
6114         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
6115         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
6116         and gl_MODULE_INDICATOR([snprintf]), but the former enables
6117         GNULIB_SNPRINTF only for the test directory, and the latter
6118         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
6119         seems to suffice by itself.
6120
6121 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
6122
6123         alloca: one step towards thread-safety
6124         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
6125         need for a static variable.  All callers changed.  This does not
6126         make the alloca replacement thread-safe, but it's one step.
6127
6128         tests: minor indenting change
6129         * tests/init.sh: Sync from coreutils housekeeping patch
6130         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
6131         to keep lines within 80 columns.
6132
6133 2010-12-28  Jim Meyering  <meyering@redhat.com>
6134
6135         regex: don't infloop on persistent failing calloc
6136         * lib/regexec.c (build_trtable): Return failure indication upon
6137         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
6138         In glibc, this was fixed for version 2.13:
6139         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
6140
6141 2010-12-28  Bruno Haible  <bruno@clisp.org>
6142             Paul Eggert <eggert@cs.ucla.edu>
6143
6144         linkat: Make implementation robust against system behaviour variations.
6145         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
6146         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
6147         way, and to -2 if it needs a generic runtime test.
6148         * lib/linkat.c (solaris_optimized_link_immediate,
6149         solaris_optimized_link_follow): New functions.
6150         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
6151         (check_same_link): Use it.
6152
6153 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
6154
6155         New module 'unigbrk/base'.
6156         * modules/unigbrk/base: New file.
6157         * lib/unigbrk.in.h: New file.
6158
6159         New module 'unigbrk/uc-gbrk-prop'.
6160         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
6161         * modules/unigbrk/uc-gbrk-prop: New file.
6162         * lib/unigbrk/gbrkprop.h: New file.
6163         * lib/unigbrk/uc-gbrk-prop.c: New file.
6164
6165         New module 'unigbrk/uc-is-grapheme-break'.
6166         * modules/unigbrk/uc-is-grapheme-break: New file.
6167         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
6168         * lib/unigbrk/uc-is-grapheme-break.c: New file.
6169         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
6170         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
6171         * tests/unigbrk/GraphemeBreakTest.txt: New file.
6172
6173         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
6174
6175 2010-12-27  Bruno Haible  <bruno@clisp.org>
6176
6177         linkat test: Avoid failure on Solaris 11 2010-11.
6178         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
6179
6180 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
6181
6182         utimens: work around glibc rounding bug on more platforms
6183         * lib/utimens.c (fdutimens): Work around rounding bug even if
6184         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
6185         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
6186
6187 2010-12-27  Bruno Haible  <bruno@clisp.org>
6188
6189         select tests: Improve comments.
6190         * tests/test-select.c (do_select): Add comments.
6191
6192 2010-12-27  Bruno Haible  <bruno@clisp.org>
6193
6194         select tests: Safer way of handling timeout.
6195         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
6196         at every invocation.
6197
6198 2010-12-27  Bruno Haible  <bruno@clisp.org>
6199
6200         select tests: Use 'bool' where appropriate.
6201         * tests/test-select.c (connect_to_socket): Change argument type to
6202         'bool'.
6203
6204 2010-12-27  Bruno Haible  <bruno@clisp.org>
6205
6206         select tests: Use existing modules.
6207         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
6208         (configure.ac): Don't test for unistd.h.
6209         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
6210         declared in <unistd.h>.
6211
6212 2010-12-27  Bruno Haible  <bruno@clisp.org>
6213
6214         mbrtowc: Work around a Solaris 7 bug.
6215         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
6216         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
6217         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
6218         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
6219         MBRTOWC_NULL_ARG1_BUG.
6220         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
6221         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
6222         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
6223         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
6224
6225 2010-12-27  Jim Meyering  <meyering@redhat.com>
6226
6227         read-file.c: tweak syntax
6228         * lib/read-file.c (fread_file): Remove space after "*" in function
6229         definitions.
6230
6231 2010-12-27  Bruno Haible  <bruno@clisp.org>
6232
6233         times test: Avoid gcc warnings on OSF/1.
6234         * tests/test-times.c (main): Cast printf arguments from clock_t to
6235         'long int'.
6236
6237 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
6238
6239         utimens: work around glibc rounding bug on older Linux kernels
6240         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
6241         on Linux with a glibc whose utimes might not work, then work
6242         around a longstanding glibc bug involving rounding rather than
6243         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
6244         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
6245
6246 2010-12-26  Bruno Haible  <bruno@clisp.org>
6247
6248         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
6249         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
6250         _GL_CXXALIAS_SYS.
6251         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
6252
6253 2010-12-26  Bruno Haible  <bruno@clisp.org>
6254
6255         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
6256         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
6257         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
6258         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
6259         looking for the declaration.
6260         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
6261         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
6262         problem.
6263         * doc/posix-functions/inet_pton.texi: Likewise.
6264
6265 2010-12-26  Bruno Haible  <bruno@clisp.org>
6266
6267         arpa_inet: Use the common idioms with C++ support.
6268         * lib/arpa_inet.in.h: Include c++defs.h.
6269         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
6270         support.
6271         * modules/arpa_inet (Depends-on): Add c++defs.
6272         (Makefile.am): Substitute the contents of c++defs.h.
6273         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
6274         * modules/arpa_inet-c++-tests: New file.
6275         * tests/test-arpa_inet-c++.cc: New file.
6276
6277 2010-12-25  Bruno Haible  <bruno@clisp.org>
6278
6279         Fix more C++ link errors on Solaris 8.
6280         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
6281         $(LIB_EACCESS).
6282         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
6283         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
6284         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
6285         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
6286         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
6287
6288 2010-12-25  Bruno Haible  <bruno@clisp.org>
6289
6290         printf-posix: Fix link error when a non-GCC compiler is used.
6291         * lib/stdio.in.h (printf): When not using GCC, override printf
6292         correctly.
6293         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
6294
6295 2010-12-25  Bruno Haible  <bruno@clisp.org>
6296
6297         strerror_r-posix: Update doc.
6298         * doc/posix-functions/strerror_r.texi: Update doc about the return
6299         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
6300
6301 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
6302
6303         utimens: simplify the logic of the previous change
6304         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
6305         This should not affect whether the test succeeds or fails.
6306
6307         utimens: configure better on hosts with NFS clock skew
6308         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
6309         uses the clock of the local host.  It might use the clock of the
6310         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
6311         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
6312
6313 2010-12-25  Bruno Haible  <bruno@clisp.org>
6314
6315         ptsname test: Avoid failure on Solaris.
6316         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
6317         open a pseudo-terminal; don't use BSD-style ptys.
6318         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
6319
6320 2010-12-25  Bruno Haible  <bruno@clisp.org>
6321
6322         ptsname: Avoid ERANGE failure on some systems.
6323         * lib/ptsname.c (buffer): Increase size.
6324
6325 2010-12-25  Bruno Haible  <bruno@clisp.org>
6326
6327         rename, renameat: Avoid test failures at NFS mounted locations.
6328         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
6329         so that subsequent mkdir calls succeed.
6330
6331 2010-12-25  Bruno Haible  <bruno@clisp.org>
6332
6333         iswblank: Fix C++ link error on Solaris 8.
6334         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
6335         _GL_FUNCDECL_SYS.
6336
6337 2010-12-25  Bruno Haible  <bruno@clisp.org>
6338
6339         unistd: Fix C++ link error on Solaris 8.
6340         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
6341
6342 2010-12-25  Bruno Haible  <bruno@clisp.org>
6343
6344         readlink doc: Mention an old glibc bug.
6345         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
6346
6347 2010-12-25  Bruno Haible  <bruno@clisp.org>
6348
6349         fcntl-h: Fix for use of C++ on glibc systems.
6350         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
6351         also on glibc systems in C++ mode.
6352         Reported by Gary V. Vaughan <gary@gnu.org>.
6353
6354 2010-12-25  Bruno Haible  <bruno@clisp.org>
6355
6356         roundl-ieee: Make it work on OSF/1 5.1 with cc.
6357         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
6358
6359 2010-12-25  Bruno Haible  <bruno@clisp.org>
6360
6361         truncl-ieee: Make it work on OSF/1 5.1 with cc.
6362         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
6363         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
6364         test whether truncl works according to ISO C 99 with IEC 60559.
6365         * m4/truncl-ieee.m4: New file.
6366         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
6367         m4/signbit.m4.
6368         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
6369
6370 2010-12-25  Bruno Haible  <bruno@clisp.org>
6371
6372         ceill-ieee: Make it work on OSF/1 5.1 with cc.
6373         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
6374         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
6375         test whether ceill works according to ISO C 99 with IEC 60559.
6376         * m4/ceill-ieee.m4: New file.
6377         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
6378         m4/signbit.m4.
6379         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
6380
6381 2010-12-25  Bruno Haible  <bruno@clisp.org>
6382
6383         Ensure all prerequisites of <wchar.h> are included.
6384         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
6385         before <wchar.h>.
6386         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
6387         gl_MBRLEN_NUL_RETVAL): Likewise.
6388         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
6389         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
6390         AC_FUNC_MBRTOWC): Likewise.
6391         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
6392         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
6393         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
6394         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
6395         Likewise.
6396         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
6397         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
6398         (gl_WCHAR_H): Improve comments.
6399         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
6400
6401 2010-12-25  Bruno Haible  <bruno@clisp.org>
6402
6403         strtok_r: Fix C syntax error in autoconf macro.
6404         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
6405         characters in test program.
6406
6407 2010-12-24  Bruno Haible  <bruno@clisp.org>
6408
6409         ceil, trunc, round: Fix gcc warnings.
6410         * lib/ceil.c (MIN): Undefine before redefining.
6411         * lib/trunc.c (MIN): Likewise.
6412         * lib/round.c (MIN): Likewise.
6413         Include <math.h> first.
6414
6415 2010-12-24  Bruno Haible  <bruno@clisp.org>
6416
6417         select tests: Avoid failures on OSF/1 5.1.
6418         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
6419         failure of closing the last socket; it may fail with ECONNRESET.
6420
6421 2010-12-24  Eric Blake  <eblake@redhat.com>
6422
6423         stdint: avoid HP-UX 10.20 preprocessor bug
6424         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
6425         than #if.
6426         * tests/test-floor2.c (main): Likewise.
6427         Reported by Peter O'Gorman.
6428
6429         pipe: make obsoletion transition easier
6430         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
6431         * modules/pipe (Files): Include revived file.
6432         (Include): Drop reference, to mirror getdate's behavior.
6433
6434 2010-12-24  Bruno Haible  <bruno@clisp.org>
6435
6436         sys_socket: Hide mismatch of declarations on NonStop Kernel.
6437         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
6438         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
6439         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
6440
6441 2010-12-24  Bruno Haible  <bruno@clisp.org>
6442
6443         gethostname: Ensure declaration on NonStop Kernel.
6444         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
6445         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
6446
6447 2010-12-24  Bruno Haible  <bruno@clisp.org>
6448
6449         sys_select: Ensure all necessary types on NonStop Kernel.
6450         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
6451         include <sys/time.h>.
6452         * doc/posix-headers/sys_select.texi: Mention that it's missing on
6453         NonStop Kernel.
6454         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
6455
6456 2010-12-24  Bruno Haible  <bruno@clisp.org>
6457
6458         sys_select: Remove unneeded include.
6459         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
6460         have <sys/select.h>.
6461
6462 2010-12-24  Bruno Haible  <bruno@clisp.org>
6463
6464         gethostname: Provide a fallback for HOST_NAME_MAX.
6465         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
6466         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
6467         instead.
6468         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
6469
6470 2010-12-24  Bruno Haible  <bruno@clisp.org>
6471
6472         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
6473         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
6474         (SA_RESTART): Likewise.
6475         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
6476
6477 2010-12-24  Bruno Haible  <bruno@clisp.org>
6478
6479         signal: Define NSIG.
6480         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
6481         * tests/test-signal.c (nsig): New variable.
6482         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
6483
6484 2010-12-24  Bruno Haible  <bruno@clisp.org>
6485
6486         rename, renameat: Avoid test failures on OSF/1 5.1.
6487         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
6488         alternative error codes.
6489         * tests/test-renameat.c (main): Likewise.
6490
6491 2010-12-24  Bruno Haible  <bruno@clisp.org>
6492
6493         *printf: Detect large precisions bug on Solaris 10/SPARC.
6494         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
6495         by Paul Eggert.
6496         * tests/test-snprintf-posix.h (test_function): Add this test code here
6497         too.
6498         * tests/test-sprintf-posix.h (test_function): Likewise.
6499         * tests/test-vasnprintf-posix.c (test_function): Likewise.
6500         * tests/test-vasprintf-posix.c (test_function): Likewise.
6501         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
6502         around by gnulib.
6503         * doc/posix-functions/printf.texi: Likewise.
6504         * doc/posix-functions/snprintf.texi: Likewise.
6505         * doc/posix-functions/sprintf.texi: Likewise.
6506         * doc/posix-functions/vfprintf.texi: Likewise.
6507         * doc/posix-functions/vprintf.texi: Likewise.
6508         * doc/posix-functions/vsnprintf.texi: Likewise.
6509         * doc/posix-functions/vsprintf.texi: Likewise.
6510         * doc/posix-functions/dprintf.texi: Undo last commit.
6511         * doc/posix-functions/vdprintf.texi: Likewise.
6512
6513 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
6514
6515         tests: port test-fdutimensat.c to Solaris 8
6516         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
6517         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
6518         On Solaris 8, it fails with errno == ENOSYS, because there is no
6519         futimens (so it can't use the fd), and there is no lutimens (so it
6520         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
6521
6522         vsnprintf: make more consistent with snprintf; doc fixes
6523
6524         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
6525         the byte count return problem was promoted from the snprintf-posix
6526         to the snprintf module.
6527         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
6528         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
6529         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
6530         * tests/test-snprintf.c (main): Check the byte count returned.
6531         * tests/test-vsnprintf.c (main): Likewise.
6532
6533 2010-12-23  Eric Blake  <eblake@redhat.com>
6534
6535         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
6536         * modules/sigpipe (License): Relax license.
6537
6538 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
6539
6540         doc: document Solaris printf bug with large float precisions
6541         * doc/posix-functions/dprintf.texi (dprintf):
6542         * doc/posix-functions/fprintf.texi (fprintf):
6543         * doc/posix-functions/printf.texi (printf):
6544         * doc/posix-functions/snprintf.texi (snprintf):
6545         * doc/posix-functions/sprintf.texi (sprintf):
6546         * doc/posix-functions/vdprintf.texi (vdprintf):
6547         * doc/posix-functions/vfprintf.texi (vfprintf):
6548         * doc/posix-functions/vprintf.texi (vprintf):
6549         * doc/posix-functions/vsnprintf.texi (vsnprintf):
6550         * doc/posix-functions/vsprintf.texi (vsprintf):
6551         Mention that these functions mishandle large floating point
6552         precisions on Solaris 10.  The same bug is also present in Solaris
6553         8, and I assume earlier.  This causes "cd gnulib-tests; make
6554         check" to fail on Solaris 8 (and I assume, later) when building
6555         the latest coreutils, in test-vasprintf-posix's call to
6556         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
6557         the wide flavors (e.g., wprintf) so this patch just updates the
6558         documentation for the narrow ones.
6559
6560         test-posixtm.c: add two tests
6561         * tests/test-posixtm.c: Add two tests, to highlight the
6562         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
6563         around this bug; this is merely to document it.
6564
6565 2010-12-22  Bruno Haible  <bruno@clisp.org>
6566
6567         getlogin_r: Work around portability problem on OSF/1.
6568         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
6569         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
6570         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
6571         test for a truncated result.
6572         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
6573         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
6574         * modules/getlogin_r (Depends-on): Add memchr.
6575         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
6576
6577 2010-12-22  Bruno Haible  <bruno@clisp.org>
6578
6579         ptsname: Avoid test failure on OSF/1 5.1.
6580         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
6581         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
6582         (same_slave): New function.
6583         (main): Use it to compare ptsname's result with the expected file name.
6584
6585 2010-12-22  Bruno Haible  <bruno@clisp.org>
6586
6587         Port extended stdio modules to HP NonStop Kernel.
6588         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
6589         macros.
6590         * lib/fbufmode.c: Update comments.
6591         * lib/fflush.c: Likewise.
6592         * lib/fpurge.c: Likewise.
6593         * lib/freadable.c: Likewise.
6594         * lib/freadahead.c: Likewise.
6595         * lib/freading.c: Likewise.
6596         * lib/freadptr.c: Likewise.
6597         * lib/freadseek.c: Likewise.
6598         * lib/fseeko.c: Likewise.
6599         * lib/fseterr.c: Likewise.
6600         * lib/fwritable.c: Likewise.
6601         * lib/fwriting.c: Likewise.
6602         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
6603
6604 2010-12-22  Bruno Haible  <bruno@clisp.org>
6605
6606         ttyname_r: Work around bug on OSF/1 5.1.
6607         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
6608         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
6609         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
6610         present.
6611         * lib/ttyname_r.c (ttyname_r): Update comments.
6612
6613 2010-12-22  Bruno Haible  <bruno@clisp.org>
6614
6615         round: Implement result sign according to IEEE 754.
6616         * lib/round.c (MIN, MINUS_ZERO): New macros.
6617         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
6618         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
6619         * tests/test-round-ieee.c (main): Likewise.
6620         * tests/test-roundl-ieee.c (main): Likewise.
6621
6622         trunc: Implement result sign according to IEEE 754.
6623         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
6624         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
6625         * tests/test-trunc2.c: Include minus-zero.h.
6626         (MINUS_ZERO): New macro.
6627         (trunc_reference): Keep in sync with lib/trunc.c.
6628         * tests/test-truncf2.c: Include minus-zero.h.
6629         (MINUS_ZERO): New macro.
6630         (truncf_reference): Keep in sync with lib/trunc.c.
6631         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
6632         * tests/test-trunc-ieee.c (main): Likewise.
6633         * tests/test-truncl-ieee.c (main): Likewise.
6634
6635         ceil: Implement result sign according to IEEE 754.
6636         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
6637         (FUNC): Return -0.0 for -1 < x < 0.
6638         * tests/test-ceil2.c: Include minus-zero.h.
6639         (MINUS_ZERO): New macro.
6640         (ceil_reference): Keep in sync with lib/ceil.c.
6641         * tests/test-ceilf2.c: Include minus-zero.h.
6642         (MINUS_ZERO): New macro.
6643         (ceilf_reference): Keep in sync with lib/ceil.c.
6644         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
6645         * tests/test-ceil-ieee.c (main): Likewise.
6646         * tests/test-ceill-ieee.c (main): Likewise.
6647
6648         floor: Implement result sign according to IEEE 754.
6649         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
6650         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
6651         * tests/test-floorf2.c (floorf_reference): Likewise.
6652         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
6653         * tests/test-floor-ieee.c (main): Likewise.
6654         * tests/test-floorl-ieee.c (main): Likewise.
6655
6656 2010-12-22  Bruno Haible  <bruno@clisp.org>
6657
6658         getaddrinfo: Update doc.
6659         * doc/posix-functions/gai_strerror.texi: Return type is also different
6660         on AIX and HP-UX.
6661
6662 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
6663
6664         getaddrinfo, inet_ntop: Update doc for Solaris.
6665         * doc/posix-functions/gai_strerror.texi: Return type is also an
6666         issue on Solaris 9 and earlier.
6667         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
6668         on Solaris 10 and earlier.
6669
6670 2010-12-21  Bruno Haible  <bruno@clisp.org>
6671
6672         New module 'roundl-ieee'.
6673         * modules/roundl-ieee: New file.
6674         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
6675         test whether roundl works according to ISO C 99 with IEC 60559.
6676         * m4/roundl-ieee.m4: New file.
6677         * modules/roundl-ieee-tests: New file.
6678         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
6679         * tests/test-roundl.c (main): Remove signbit tests.
6680         * modules/roundl-tests (Depends-on): Remove signbit.
6681         * doc/posix-functions/roundl.texi: Mention the new module.
6682
6683 2010-12-21  Bruno Haible  <bruno@clisp.org>
6684
6685         New module 'truncl-ieee'.
6686         * modules/truncl-ieee: New file.
6687         * modules/truncl-ieee-tests: New file.
6688         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
6689         * tests/test-truncl.c (main): Remove signbit tests.
6690         * modules/truncl-tests (Depends-on): Remove signbit.
6691         * doc/posix-functions/truncl.texi: Mention the new module.
6692
6693 2010-12-21  Bruno Haible  <bruno@clisp.org>
6694
6695         New module 'ceill-ieee'.
6696         * modules/ceill-ieee: New file.
6697         * modules/ceill-ieee-tests: New file.
6698         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
6699         * tests/test-ceill.c (main): Remove signbit tests.
6700         * modules/ceill-tests (Depends-on): Remove signbit.
6701         * doc/posix-functions/ceill.texi: Mention the new module.
6702
6703 2010-12-21  Bruno Haible  <bruno@clisp.org>
6704
6705         New module 'floorl-ieee'.
6706         * modules/floorl-ieee: New file.
6707         * modules/floorl-ieee-tests: New file.
6708         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
6709         * tests/test-floorl.c (main): Remove signbit tests.
6710         * modules/floorl-tests (Depends-on): Remove signbit.
6711         * doc/posix-functions/floorl.texi: Mention the new module.
6712
6713 2010-12-21  Bruno Haible  <bruno@clisp.org>
6714
6715         New module 'round-ieee'.
6716         * modules/round-ieee: New file.
6717         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
6718         whether round works according to ISO C 99 with IEC 60559.
6719         * m4/round-ieee.m4: New file.
6720         * modules/round-ieee-tests: New file.
6721         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
6722         * tests/test-round1.c (main): Remove signbit tests.
6723         * modules/round-tests (Depends-on): Remove 'signbit'.
6724         * doc/posix-functions/round.texi: Mention the new module.
6725
6726 2010-12-21  Bruno Haible  <bruno@clisp.org>
6727
6728         New module 'trunc-ieee'.
6729         * modules/trunc-ieee: New file.
6730         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
6731         whether trunc works according to ISO C 99 with IEC 60559.
6732         * m4/trunc-ieee.m4: New file.
6733         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
6734         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
6735         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
6736         * modules/trunc-ieee-tests: New file.
6737         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
6738         * tests/test-trunc1.c (main): Remove signbit tests.
6739         * modules/trunc-tests (Depends-on): Remove 'signbit'.
6740         * doc/posix-functions/trunc.texi: Mention the new module.
6741
6742 2010-12-21  Bruno Haible  <bruno@clisp.org>
6743
6744         New module 'ceil-ieee'.
6745         * modules/ceil-ieee: New file.
6746         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
6747         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
6748         ISO C 99 with IEC 60559.
6749         * m4/ceil-ieee.m4: New file.
6750         * modules/ceil (Files): Add lib/ceil.c.
6751         (Depends-on): Add 'float'.
6752         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
6753         * lib/math.in.h (ceil): New declaration.
6754         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
6755         REPLACE_CEIL.
6756         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
6757         * modules/ceil-ieee-tests: New file.
6758         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
6759         * tests/test-math-c++.cc: Check the signature of 'ceil'.
6760         * doc/posix-functions/ceil.texi: Mention the new module.
6761
6762 2010-12-21  Bruno Haible  <bruno@clisp.org>
6763
6764         New module 'floor-ieee'.
6765         * modules/floor-ieee: New file.
6766         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
6767         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
6768         ISO C 99 with IEC 60559.
6769         * m4/floor-ieee.m4: New file.
6770         * modules/floor (Files): Add lib/floor.c.
6771         (Depends-on): Add 'float'.
6772         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
6773         * lib/math.in.h (floor): New declaration.
6774         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
6775         REPLACE_FLOOR.
6776         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
6777         * modules/floor-ieee-tests: New file.
6778         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
6779         * tests/test-math-c++.cc: Check the signature of 'floor'.
6780         * doc/posix-functions/floor.texi: Mention the new module.
6781
6782 2010-12-21  Bruno Haible  <bruno@clisp.org>
6783
6784         New module 'roundf-ieee'.
6785         * modules/roundf-ieee: New file.
6786         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
6787         test whether roundf works according to ISO C 99 with IEC 60559.
6788         * m4/roundf-ieee.m4: New file.
6789         * modules/roundf-ieee-tests: New file.
6790         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
6791         * tests/test-roundf1.c (main): Remove signbit tests.
6792         * modules/roundf-tests (Depends-on): Remove 'signbit'.
6793         * doc/posix-functions/roundf.texi: Mention the new module.
6794
6795 2010-12-21  Bruno Haible  <bruno@clisp.org>
6796
6797         New module 'truncf-ieee'.
6798         * modules/truncf-ieee: New file.
6799         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
6800         test whether truncf works according to ISO C 99 with IEC 60559.
6801         * m4/truncf-ieee.m4: New file.
6802         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
6803         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
6804         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
6805         * modules/truncf-ieee-tests: New file.
6806         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
6807         * tests/test-truncf1.c (main): Remove signbit tests.
6808         * modules/truncf-tests (Depends-on): Remove 'signbit'.
6809         * doc/posix-functions/truncf.texi: Mention the new module.
6810
6811 2010-12-21  Bruno Haible  <bruno@clisp.org>
6812
6813         New module 'ceilf-ieee'.
6814         * modules/ceilf-ieee: New file.
6815         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
6816         test whether ceilf works according to ISO C 99 with IEC 60559.
6817         * m4/ceilf-ieee.m4: New file.
6818         * modules/ceilf-ieee-tests: New file.
6819         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
6820         * tests/test-ceilf1.c (main): Remove signbit tests.
6821         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
6822         * doc/posix-functions/ceilf.texi: Mention the new module.
6823
6824 2010-12-21  Bruno Haible  <bruno@clisp.org>
6825
6826         New module 'floorf-ieee'.
6827         * modules/floorf-ieee: New file.
6828         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
6829         test whether floorf works according to ISO C 99 with IEC 60559.
6830         * m4/floorf-ieee.m4: New file.
6831         * modules/floorf-ieee-tests: New file.
6832         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
6833         * tests/test-floorf1.c (main): Remove signbit tests.
6834         * modules/floorf-tests (Depends-on): Remove 'signbit'.
6835         * doc/posix-functions/floorf.texi: Mention the new module.
6836
6837 2010-12-21  Bruno Haible  <bruno@clisp.org>
6838
6839         Support for minus zero in autoconf macros.
6840         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
6841         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
6842         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
6843         * tests/minus-zero.h: Update comments.
6844
6845 2010-12-21  Bruno Haible  <bruno@clisp.org>
6846
6847         Tests for module 'ceil'.
6848         * modules/ceil-tests: New file.
6849         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
6850         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
6851
6852 2010-12-21  Bruno Haible  <bruno@clisp.org>
6853
6854         Tests for module 'floor'.
6855         * modules/floor-tests: New file.
6856         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
6857         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
6858
6859 2010-12-21  Bruno Haible  <bruno@clisp.org>
6860
6861         math: Fix indentation.
6862         * lib/math.in.h (floorf): Fix indentation.
6863
6864 2010-12-21  Bruno Haible  <bruno@clisp.org>
6865
6866         Fix cross-compilation guesses on Solaris.
6867         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
6868         not match "solaris2.10".
6869         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
6870         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
6871         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
6872
6873 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
6874
6875         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
6876         This fixes a problem observed with the latest coreutils snapshot
6877         that caused a test to fail on Solaris 8.  src/csplit.c's call
6878         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
6879         earlier, instead of returning the number of bytes that would have
6880         been generated; this causes csplit to incorrectly report memory
6881         exhaustion.
6882         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
6883         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
6884         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
6885         comments to match.
6886         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
6887         Fix typo in matching older versions of Solaris: "solaris2.10"
6888         is matched by the shell pattern "solaris2.[0-9]*".  This matters
6889         only for guessing while cross-compiling.
6890         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
6891
6892 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
6893
6894         ftoastr: fix comment again
6895         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
6896         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
6897         Also, simplify example a bit by using flags = 0.
6898
6899 2010-12-20  Bruno Haible  <bruno@clisp.org>
6900
6901         round*, trunc*: Update documentation regarding glibc.
6902         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
6903         * doc/posix-functions/round.texi: Likewise.
6904         * doc/posix-functions/roundl.texi: Likewise.
6905         * doc/posix-functions/truncf.texi: Likewise.
6906         * doc/posix-functions/trunc.texi: Likewise.
6907         * doc/posix-functions/truncl.texi: Likewise.
6908
6909 2010-12-20  Bruno Haible  <bruno@clisp.org>
6910
6911         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
6912         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
6913         * doc/posix-functions/round.texi: Likewise.
6914         * doc/posix-functions/roundl.texi: Likewise.
6915
6916 2010-12-20  Bruno Haible  <bruno@clisp.org>
6917
6918         ttyname_r: Add missing declaration on HP-UX 11.
6919         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
6920         HAVE_TTYNAME_R.
6921         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
6922         declared. Set HAVE_TTYNAME_R always.
6923         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
6924         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
6925         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
6926         HAVE_TTYNAME_R.
6927         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
6928
6929 2010-12-20  Bruno Haible  <bruno@clisp.org>
6930
6931         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
6932         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
6933         * doc/posix-functions/getlogin_r.texi: Likewise.
6934         * tests/test-getlogin.c: Include <errno.h>.
6935         (main): Avoid test failure on HP-UX 11.11.
6936         * tests/test-getlogin_r.c (main): Likewise.
6937
6938 2010-12-20  Bruno Haible  <bruno@clisp.org>
6939
6940         getlogin_r: Add missing declaration on HP-UX 11.
6941         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
6942         declared also when it exists as a function.
6943         * doc/posix-functions/getlogin_r.texi: Document this workaround.
6944
6945 2010-12-20  Bruno Haible  <bruno@clisp.org>
6946
6947         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
6948         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
6949         through wcrtomb.
6950
6951 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
6952
6953         ftoastr: fix comment
6954         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
6955         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
6956
6957 2010-12-19  Bruno Haible  <bruno@clisp.org>
6958
6959         isnan: Ensure it is a macro.
6960         * lib/math.in.h (isnan): Define as a macro if not already a macro.
6961         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
6962         Solaris.
6963
6964 2010-12-19  Bruno Haible  <bruno@clisp.org>
6965
6966         ldexpl test: Fix link error on OSF/1 5.1.
6967         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
6968
6969 2010-12-19  Bruno Haible  <bruno@clisp.org>
6970
6971         wctype: Make it work in C++ mode on OSF/1 5.1.
6972         * lib/wctype.in.h (iswblank): Declare but not define here.
6973         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
6974         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
6975         * modules/wctype (Files): Add lib/iswblank.c.
6976
6977 2010-12-19  Bruno Haible  <bruno@clisp.org>
6978
6979         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
6980         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
6981         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
6982
6983 2010-12-19  Bruno Haible  <bruno@clisp.org>
6984
6985         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
6986         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
6987         _POSIX_PII_SOCKET.
6988         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
6989         * doc/posix-functions/recvfrom.texi: Likewise.
6990         * doc/posix-functions/send.texi: Likewise.
6991         * doc/posix-functions/sendto.texi: Likewise.
6992
6993 2010-12-19  Bruno Haible  <bruno@clisp.org>
6994
6995         tcgetsid: Add missing declaration on OSF/1 5.1.
6996         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
6997         HAVE_TCGETSID.
6998         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
6999         Don't set HAVE_TCGETSID.
7000         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
7001         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
7002         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
7003         HAVE_TCGETSID.
7004         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
7005
7006 2010-12-19  Bruno Haible  <bruno@clisp.org>
7007
7008         stdio: Fix problem with popen() declaration on OSF/1 5.1.
7009         * lib/stdio.in.h: During the include_next statement, let recursive
7010         includes of this file include only the system header file.
7011
7012 2010-12-19  Bruno Haible  <bruno@clisp.org>
7013
7014         iconv_open: Fix regression from 2010-12-04.
7015         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
7016         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
7017
7018 2010-12-19  Bruno Haible  <bruno@clisp.org>
7019
7020         stdbool test: Avoid a gcc warning.
7021         * tests/test-stdbool.c (main): Fail if e1 is false.
7022         Reported by Jim Meyering.
7023
7024 2010-12-19  Jim Meyering  <meyering@redhat.com>
7025
7026         setenv: restore to working order
7027         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
7028         mistakenly removed.
7029         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
7030         HAVE_SETENV.
7031         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
7032         HAVE_SETENV.
7033
7034 2010-12-19  Bruno Haible  <bruno@clisp.org>
7035
7036         Document some different function declarations on OSF/1 5.1.
7037         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
7038         * doc/posix-functions/inet_ntop.texi: Likewise.
7039         * doc/posix-functions/gethostname.texi: Likewise.
7040         * lib/unistd.in.h (gethostname): Update comment.
7041
7042 2010-12-19  Bruno Haible  <bruno@clisp.org>
7043
7044         doc: Mention vasprintf-posix module.
7045         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
7046         the 'vasprintf-posix' module.
7047         * doc/glibc-functions/vasprintf.texi: Likewise.
7048
7049 2010-12-19  Bruno Haible  <bruno@clisp.org>
7050
7051         unsetenv: Add missing declaration on OSF/1 5.1.
7052         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
7053         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
7054         Don't set HAVE_UNSETENV. In the test program, set _BSD.
7055         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
7056         not HAVE_UNSETENV.
7057         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
7058         HAVE_UNSETENV.
7059         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
7060
7061 2010-12-19  Bruno Haible  <bruno@clisp.org>
7062
7063         setenv: Add missing declaration on OSF/1 5.1.
7064         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
7065         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
7066         declared. Don't set HAVE_SETENV.
7067         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
7068         not HAVE_SETENV.
7069         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
7070         HAVE_SETENV.
7071         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
7072
7073 2010-12-19  Bruno Haible  <bruno@clisp.org>
7074
7075         nl_langinfo tests: Avoid gcc warning.
7076         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
7077
7078 2010-12-19  Bruno Haible  <bruno@clisp.org>
7079
7080         mknod: Avoid error in C++ mode on OSF/1 with GCC.
7081         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
7082         _GL_CXXALIAS_SYS.
7083
7084 2010-12-19  Bruno Haible  <bruno@clisp.org>
7085
7086         stdbool: Relax test.
7087         * tests/test-stdbool.c (e): Don't require that casts from a variable's
7088         address to 'bool' work in static initializer, for compilers other than
7089         GCC.
7090
7091 2010-12-19  Bruno Haible  <bruno@clisp.org>
7092
7093         ftello: Add missing declaration on OSF/1 5.1.
7094         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
7095         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
7096         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
7097         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
7098         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
7099
7100 2010-12-19  Bruno Haible  <bruno@clisp.org>
7101
7102         fseeko: Add missing declaration on OSF/1 5.1.
7103         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
7104         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
7105         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
7106         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
7107         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
7108
7109 2010-12-19  Bruno Haible  <bruno@clisp.org>
7110
7111         fchdir: Add missing declaration on OSF/1 5.1.
7112         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
7113         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
7114         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
7115         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
7116         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
7117
7118 2010-12-19  Bruno Haible  <bruno@clisp.org>
7119
7120         relocatable-prog-wrapper: Separate from relocatable-prog.
7121         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
7122         uninstall-relocwrapper rule here.
7123         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
7124         Reported by Ian Beckwith <ianb@erislabs.net>.
7125
7126 2010-12-19  Bruno Haible  <bruno@clisp.org>
7127
7128         unistr/u8-mbsnlen: Add missing dependency.
7129         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
7130         Reported by Ian Beckwith <ianb@erislabs.net>.
7131
7132 2010-12-19  Bruno Haible  <bruno@clisp.org>
7133
7134         iconv: Make it possible again to use this module without 'iconv-h'.
7135         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
7136         if it is not defined.
7137         Reported by Ian Beckwith <ianb@erislabs.net>.
7138
7139 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
7140
7141         acl: port to Solaris 8 when copying from tmpfs to ufs
7142         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
7143         error number.  Problem observed on Solaris 8 with latest
7144         coreutils, with "mv A B", where A is on a tmpfs file system and B
7145         is on a ufs file system.  This caused coreutils' mv/part-symlink
7146         test to fail.
7147
7148         tests: set fail=0 at start
7149         * tests/init.sh (setup_): Move fail=0 initialization here ...
7150         (mktempd_): ... from here, so that tests can rely on fail being
7151         set to 0 initially.  This fixes a problem in coreutils; see:
7152         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
7153
7154 2010-12-18  Bruno Haible  <bruno@clisp.org>
7155
7156         memmem-simple: Stylistic changes.
7157         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
7158         Fix preprocessor directive indentation.
7159
7160 2010-12-15  Pádraig Brady <P@draigBrady.com>
7161
7162         memmem, memmem-simple: reorganize and expand empty needle check
7163         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
7164         functional checks to memmem-simple so that one has a fully functional
7165         memmem by using just this module.
7166         Restrict the performance only check to the memmem module.
7167         Also expand the empty needle check to ensure the correct
7168         pointer is returned, not just a non NULL pointer.
7169         * doc/glibc-functions/memmem.texi: Rearrange the portability
7170         documentation to correlate with the rearranged checks.
7171         Clarify exactly how the memmem and memmem-simple modules
7172         relate to each other.
7173
7174 2010-12-15  Pádraig Brady <P@draigBrady.com>
7175             Bruno Haible  <bruno@clisp.org>
7176
7177         Improve cross-compilation guesses for uClibc.
7178         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
7179         that uClibc does not have the glibc bug.
7180         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
7181         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
7182
7183 2010-12-14  Eric Blake  <eblake@redhat.com>
7184
7185         configmake: provide fallbacks for oldest supported autotools
7186         * m4/configmake.m4: New file.
7187         * modules/configmake (Files): Ship it.
7188         (configure.ac): Use it to guarantee fallbacks.
7189
7190 2010-12-13  Pádraig Brady <P@draigBrady.com>
7191
7192         read-file: Improve handling of large files
7193         * lib/read-file.c (fread_file): Minimize realloc()s
7194         for regular files, and better manage sizes around SIZE_MAX.
7195
7196 2010-12-13  Eric Blake  <eblake@redhat.com>
7197
7198         cloexec, fcntl: relax license
7199         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
7200         consent from all contributors.
7201         * modules/fcntl (License): Likewise.
7202
7203 2010-12-10  Bruno Haible  <bruno@clisp.org>
7204
7205         Tests for module 'pipe-posix'.
7206         * modules/pipe-posix-tests: New file.
7207         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
7208
7209 2010-12-10  Bruno Haible  <bruno@clisp.org>
7210
7211         pipe-posix: Make it work in C++ mode.
7212         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
7213         (pipe): Use common idiom, not a macro definition.
7214         * lib/pipe.c: New file.
7215         * m4/pipe.m4: New file.
7216         * modules/pipe-posix (Description): Enhance.
7217         (Files): Add lib/pipe.c, m4/pipe.m4.
7218         (configure.ac): Invoke gl_FUNC_PIPE.
7219         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
7220         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
7221         * tests/test-unistd-c++.cc: Check the signature of pipe.
7222
7223 2010-12-10  Bruno Haible  <bruno@clisp.org>
7224
7225         Rename module 'pipe' to 'spawn-pipe'.
7226         * modules/spawn-pipe: New file, renamed from modules/pipe.
7227         (Files, configure.ac, Makefile.am): Update.
7228         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
7229         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
7230         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
7231         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
7232         "spawn-pipe.h" instead of "pipe.h".
7233         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
7234         to gl_SPAWN_PIPE.
7235         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
7236         (Files, Makefile.am): Update.
7237         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
7238         Update.
7239         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
7240         Include "spawn-pipe.h" instead of "pipe.h".
7241         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
7242         * lib/javacomp.c: Likewise.
7243         * lib/javaversion.c: Likewise.
7244         * lib/pipe-filter-gi.c: Likewise.
7245         * lib/pipe-filter-ii.c: Likewise.
7246         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
7247         * modules/javacomp (Depends-on): Likewise.
7248         * modules/javaversion (Depends-on): Likewise.
7249         * modules/pipe-filter-gi (Depends-on): Likewise.
7250         * modules/pipe-filter-ii (Depends-on): Likewise.
7251         * MODULES.html.sh (Executing programs): Update.
7252         * NEWS: Mention the change.
7253
7254 2010-12-10  Eric Blake  <eblake@redhat.com>
7255
7256         pipe-posix: new module
7257         * modules/pipe-posix: New file.
7258         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
7259         (gl_UNISTD_H): Check for declaration.
7260         * modules/unistd (Makefile.am): Substitute it.
7261         * lib/unistd.in.h (pipe): Provide it for mingw.
7262         * doc/posix-functions/pipe.texi (pipe): Update documentation.
7263         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
7264
7265 2010-12-07  Bruno Haible  <bruno@clisp.org>
7266
7267         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
7268         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
7269         u8_strcmp_gnu.
7270         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
7271
7272 2010-12-06  Bruno Haible  <bruno@clisp.org>
7273
7274         Update internal documentation.
7275         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
7276
7277 2010-12-04  Bruno Haible  <bruno@clisp.org>
7278
7279         Put more information about failed tests into the test return codes.
7280         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
7281         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
7282         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
7283         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
7284         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
7285         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
7286         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
7287         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
7288         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
7289         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
7290         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
7291         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
7292         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
7293         * m4/stdint.m4 (gl_STDINT_H): Likewise.
7294         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
7295         returns a bit mask.
7296         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
7297         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
7298         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
7299         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
7300         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
7301         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
7302         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
7303         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
7304         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
7305         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
7306         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
7307         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
7308         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
7309         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
7310         * m4/link.m4 (gl_FUNC_LINK): Likewise.
7311         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
7312         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
7313         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
7314         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
7315         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
7316         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
7317         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
7318         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
7319         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
7320         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
7321         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
7322         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
7323         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
7324         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
7325         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
7326         gl_PRINTF_PRECISION): Likewise.
7327         * m4/regex.m4 (gl_REGEX): Likewise.
7328         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
7329         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
7330         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
7331         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
7332         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
7333         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
7334         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
7335         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
7336         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
7337         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
7338         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
7339         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
7340         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
7341         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
7342         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
7343         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
7344         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
7345         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
7346         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
7347         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
7348         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
7349         enumerated value.
7350         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
7351
7352 2010-12-04  Bruno Haible  <bruno@clisp.org>
7353
7354         Update for Solaris 11 2010-11.
7355         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
7356         Express, released in November 2010.
7357
7358 2010-12-04  Bruno Haible  <bruno@clisp.org>
7359
7360         nproc: Relax license.
7361         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
7362         and Paul Eggert.
7363         Requested by Ludovic Courtès <ludo@gnu.org>.
7364
7365 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
7366
7367         utimecmp: fine-grained src to nearby coarse-grained dest
7368
7369         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
7370         and the source is on a file system with higher-resolution time
7371         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
7372         not work, and the time stamps are close together, the algorithm to
7373         determine the exact resolution from the read-back mtime was buggy:
7374         it had a "!=" where it should have had an "==".  This bug has been
7375         in the code ever since it was introduced to gnulib.
7376         Problem reported by Dan Jacobson in
7377         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
7378
7379 2010-11-30  Bruno Haible  <bruno@clisp.org>
7380
7381         strerror_r-posix: Fix autoconf test.
7382         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
7383
7384 2010-11-28  Bruno Haible  <bruno@clisp.org>
7385             Paul Eggert  <eggert@cs.ucla.edu>
7386
7387         Tests for module 'getdomainname'.
7388         * modules/getdomainname-tests: New file.
7389         * tests/test-getdomainname.c: New file, based on
7390         tests/test-gethostname.c.
7391
7392 2010-11-28  Bruno Haible  <bruno@clisp.org>
7393             Paul Eggert  <eggert@cs.ucla.edu>
7394
7395         getdomainname: Use the system function when possible.
7396         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
7397         (getdomainname): Replace if needed. Provide the declaration if it is
7398         missing. Don't use _GL_CXXALIAS_SYS_CAST.
7399         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
7400         (getdomainname): When the system has getdomainname, call the system
7401         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
7402         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
7403         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
7404         found in libnsl. Look for the declaration also in <netdb.h>. Replace
7405         the function if its second argument is of type 'int' or if it is found
7406         in libnsl.
7407         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
7408         <sys/systeminfo.h> and sysinfo().
7409         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
7410         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
7411         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
7412         HAVE_GETDOMAINNAME.
7413         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
7414         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
7415         * doc/glibc-functions/getdomainname.texi: Document the problems with
7416         the getdomainname declaration.
7417
7418 2010-11-28  Bruno Haible  <bruno@clisp.org>
7419
7420         sys_socket: Ensure ss_family field on AIX.
7421         * lib/sys_socket.in.h (ss_family): New macro definition.
7422         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
7423         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
7424         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
7425         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
7426         * modules/sys_socket (Makefile.am): Substitute
7427         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
7428         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
7429
7430 2010-11-27  Bruno Haible  <bruno@clisp.org>
7431
7432         readline: Improve configure output.
7433         * m4/readline.m4 (gl_FUNC_READLINE): Make the
7434         "checking for readline..." result understandable.
7435
7436 2010-11-27  Bruno Haible  <bruno@clisp.org>
7437
7438         *printf-posix: Detect a bug on Solaris 10/x86.
7439         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
7440         for floating-point output.
7441         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
7442         directive.
7443         * tests/test-snprintf-posix.h (test_function): Likewise.
7444         * tests/test-sprintf-posix.h (test_function): Likewise.
7445         * tests/test-vasprintf-posix.c (test_function): Likewise.
7446         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
7447         * doc/posix-functions/printf.texi: Likewise.
7448         * doc/posix-functions/snprintf.texi: Likewise.
7449         * doc/posix-functions/sprintf.texi: Likewise.
7450         * doc/posix-functions/vfprintf.texi: Likewise.
7451         * doc/posix-functions/vprintf.texi: Likewise.
7452         * doc/posix-functions/vsnprintf.texi: Likewise.
7453         * doc/posix-functions/vsprintf.texi: Likewise.
7454         * doc/glibc-functions/obstack_printf.texi: Likewise.
7455         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
7456
7457 2010-11-27  Bruno Haible  <bruno@clisp.org>
7458
7459         Fix link error when module libunistring-optional is in use.
7460         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
7461         * modules/striconveha-tests (Makefile.am): Likewise.
7462
7463 2010-11-27  Bruno Haible  <bruno@clisp.org>
7464
7465         regex: Mention link dependencies.
7466         * modules/regex (Link): New section.
7467         * modules/rpmatch (Link): Likewise.
7468         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
7469
7470 2010-11-27  Bruno Haible  <bruno@clisp.org>
7471
7472         ftoastr: Fix compilation error on Solaris.
7473         * lib/ftoastr.c: Include <config.h>.
7474
7475 2010-11-27  Bruno Haible  <bruno@clisp.org>
7476
7477         getloadavg: Update documentation.
7478         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
7479
7480 2010-11-27  Bruno Haible  <bruno@clisp.org>
7481
7482         sys_socket: Fix test whether the functions are declared.
7483         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
7484         not <sys/select.h>.
7485
7486 2010-11-27  Bruno Haible  <bruno@clisp.org>
7487
7488         getpass: Make sure to get system declaration on some platforms.
7489         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
7490         gl_USE_SYSTEM_EXTENSIONS.
7491         * modules/getpass (Depends-on): Add extensions.
7492
7493 2010-11-26  Bruno Haible  <bruno@clisp.org>
7494
7495         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
7496         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
7497         'iconv' module is present.
7498         (ICONV_CONST): New macro.
7499         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
7500         ICONV_CONST.
7501         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
7502         set ICONV_CONST.
7503         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
7504         here.
7505         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
7506         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
7507         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
7508         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
7509         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
7510         present.
7511
7512 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
7513
7514         ftoastr: comment fix
7515         * lib/ftoastr.c: "little" -> "little or no" in comment
7516
7517 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
7518
7519         stdint: port to GCC 4.3 + OSX + Octave
7520         On this platform, stdint.h is buggy and defines int64_t to long
7521         long int.  The replacement defined it to long int, causing
7522         problems with C++ style name mangling.  Instead, trust the system
7523         definition if INT64_MAX is defined, and likewise for the unsigned
7524         variant.   Problem reported by Jarno Rajahalme in
7525         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
7526         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
7527         and don't mess with int64_t and INT64_MAX in this case.
7528         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
7529
7530 2010-11-24  Bruno Haible  <bruno@clisp.org>
7531
7532         doc: Corrections regarding MacOS X 10.4 and 10.5.
7533         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
7534         MacOS X.
7535         Reported by Simon Josefsson.
7536
7537 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
7538
7539         Uninstall ".bin" files installed by relocwrapper.
7540         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
7541         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
7542         unless it is already there.
7543
7544 2010-11-21  Bruno Haible  <bruno@clisp.org>
7545
7546         Update for NetBSD 5.0.
7547         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
7548         NetBSD; the test fails on NetBSD 5.0.
7549         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
7550         about NetBSD.
7551
7552 2010-11-21  Bruno Haible  <bruno@clisp.org>
7553
7554         Update for HP-UX 11.23 and HP-UX 11.31.
7555         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
7556         HP-UX.
7557
7558 2010-11-21  Bruno Haible  <bruno@clisp.org>
7559
7560         Update for MacOS X 10.5.
7561         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
7562         MacOS X; the test fails on MacOS X 10.5.8.
7563         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
7564         about MacOS X.
7565
7566 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
7567
7568         bootstrap: add bootstrap_sync option.
7569         See discussion at
7570         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
7571         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
7572         * build-aux/bootstrap: Accept --bootstrap-sync to update
7573         bootstrap if it is not identical to the local gnulib's
7574         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
7575         enable this by default.  Accept --no-bootstrap-sync to disable
7576         it.
7577
7578 2010-11-20  Bruno Haible  <bruno@clisp.org>
7579
7580         Ensure that <features.h> is included before __GLIBC__ is tested.
7581         * lib/printf-parse.h: Include <features.h>.
7582         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
7583         Reported by Mike Frysinger <vapier@gentoo.org>.
7584
7585         Ensure that <features.h> is included before __GLIBC__ is tested.
7586         * lib/wchar.in.h: Include <features.h>.
7587         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
7588         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
7589         Reported by Mike Frysinger <vapier@gentoo.org>.
7590
7591         Ensure that <features.h> is included before __GLIBC__ is tested.
7592         * lib/arpa_inet.in.h: Include <features.h>.
7593         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
7594         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
7595         Reported by Mike Frysinger <vapier@gentoo.org>.
7596
7597         Ensure that <features.h> is included before __GLIBC__ is tested.
7598         * build-aux/link-warning.h: Include <features.h>.
7599         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
7600         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
7601         Reported by Mike Frysinger <vapier@gentoo.org>.
7602
7603         Ensure that <features.h> is included before __GLIBC__ is tested.
7604         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
7605         Reported by Mike Frysinger <vapier@gentoo.org>.
7606
7607 2010-11-20  Bruno Haible  <bruno@clisp.org>
7608
7609         memmem: Fix autoconf test.
7610         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
7611
7612 2010-11-20  Bruno Haible  <bruno@clisp.org>
7613
7614         Port to uClibc.
7615         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
7616         * lib/fcntl.in.h: Likewise.
7617         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
7618         * lib/mbrtowc.c (mbrtowc): Likewise.
7619         * lib/relocatable.c (find_shared_library_fullname): Likewise.
7620         * lib/strerror_r.c: Likewise.
7621         * lib/unistr/u8-strnlen.c: Likewise.
7622         * lib/vasnprintf.c (decimal_point_char): Likewise.
7623         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
7624         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
7625         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
7626         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
7627         * tests/test-sigaction.c (handler, main): Likewise.
7628         * lib/freading.h: Treat uClibc like a non-glibc platform.
7629         * lib/freading.c: Likewise.
7630         * lib/gettext.h: Likewise.
7631         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
7632         Likewise.
7633         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
7634         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
7635         * lib/propername.c (proper_name_utf8): Likewise.
7636         * lib/spawn.in.h: Likewise.
7637         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
7638         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
7639         mem_cd_iconveh_internal): Likewise.
7640         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
7641         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
7642         strstr, strcasestr): Likewise.
7643         * lib/unicodeio.c (unicode_to_mb): Likewise.
7644         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
7645         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
7646         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
7647         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
7648         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
7649         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
7650         * lib/unistr/u8-stpncpy.c: Likewise.
7651         * lib/vasnprintf.c (VASNPRINTF): Likewise.
7652         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
7653         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
7654         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
7655         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
7656         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
7657         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
7658         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
7659         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
7660         Likewise.
7661         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
7662         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
7663         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
7664         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
7665         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
7666         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
7667         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
7668         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
7669         * tests/test-getopt.h (OPTIND_MIN): Likewise.
7670         * tests/test-striconveha.c (main): Likewise.
7671         * tests/test-vasnprintf-posix.c (test_function): Likewise.
7672         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
7673         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
7674         * doc/posix-functions/getline.texi: Likewise.
7675         Reported by Mike Frysinger <vapier@gentoo.org>.
7676
7677 2010-11-20  Bruno Haible  <bruno@clisp.org>
7678
7679         nproc: Fix condition.
7680         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
7681         HAVE_PTHREAD_AFFINITY_NP.
7682
7683 2010-11-20  Bruno Haible  <bruno@clisp.org>
7684
7685         Fix a comment.
7686         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
7687
7688 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
7689
7690         ftoastr: don't assume snprintf
7691         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
7692         Implement a subset of snprintf here, by using sprintf safely.
7693         * modules/ftoastr (Depends-on): Remove snprintf.
7694
7695 2010-11-19  Jim Meyering  <meyering@redhat.com>
7696
7697         test-rename.h: fix compilation failure
7698         * tests/test-rename.h (test_rename): Add omitted "}".
7699
7700 2010-11-17  Jim Meyering  <meyering@redhat.com>
7701
7702         maint.mk: add a URL discussing the no-@acronym policy
7703         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
7704
7705 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
7706
7707         ftoastr: depend on snprintf, improve comments
7708         * lib/ftoastr.c: Also mention Loitsch's draft.
7709         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
7710         needed in the current implementation, but it might simplify
7711         speeding up the code later.
7712         * modules/ftoastr: Depend on snprintf; this improves portability.
7713         Suggested by Bruno Haible in the same email.
7714
7715         ftoastr: port to hosts lacking strtof and strtold
7716         Problem reported by Bruno Haible in
7717         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
7718         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
7719         environment and strtold (and presumably strtof) are not available.
7720         * modules/ftoastr (Files): Add m4/c-strtod.m4.
7721         (configure.ac): Require gl_C99_STRTOLD.
7722
7723 2010-11-18  Bruno Haible  <bruno@clisp.org>
7724
7725         c-strtold: Avoid link error on AIX 7.
7726         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
7727         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
7728         (gl_C_STRTOLD): Test whether strtold_l exists.
7729         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
7730
7731 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
7732
7733         intprops: new macro INT_BITS_STRLEN_BOUND
7734         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
7735         ftoastr.h.  This exposes an internal of intprops.h that was formerly
7736         not exposed.  Also, it uses a slightly tighter bound than before;
7737         though this makes no practical difference, we might as well be as
7738         tight as we easily can.
7739
7740         ftoastr: new module, for lossless conversion of floats to short strings
7741         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
7742         * modules/ftoastr: New files.
7743
7744 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
7745
7746         bootstrap: port to Solaris sed
7747         * build-aux/bootstrap (get_version): Port to Solaris sed.
7748         See Ralf Wildenhues's note in
7749         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
7750
7751 2010-11-14  Jim Meyering  <meyering@redhat.com>
7752
7753         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
7754         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
7755         and move definition closer to sole use.
7756
7757 2010-11-13  Jim Meyering  <meyering@redhat.com>
7758
7759         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
7760         Now we require at least autoconf-2.59, which means the work-around
7761         is no longer needed.
7762         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
7763         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
7764         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
7765         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
7766         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
7767
7768 2010-11-13  Bruno Haible  <bruno@clisp.org>
7769
7770         rename, renameat: Avoid test failures at NFS mounted locations.
7771         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
7772         functions.
7773         (test_rename): Use assert_nonexistent.
7774         * tests/test-rename.c: Include <dirent.h>.
7775         * tests/test-renameat.c: Likewise.
7776         Reported by Gary V. Vaughan <gary@gnu.org>.
7777
7778         rename, renameat: Document Linux bug with NFS
7779         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
7780         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
7781         * doc/posix-functions/renameat.texi: Likewise.
7782         Suggested by Eric Blake.
7783
7784 2010-11-13  Bruno Haible  <bruno@clisp.org>
7785
7786         rename test: Add comments.
7787         * tests/test-rename.h (test_rename): Add structure and comments.
7788
7789 2010-11-13  Eric Blake  <eblake@redhat.com>
7790
7791         maintainer-makefile: cover a few more files
7792         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
7793         scripts generated within C files, for libvirt.
7794
7795 2010-11-13  Bruno Haible  <bruno@clisp.org>
7796
7797         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
7798         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
7799         character, return the number of bytes that belong together, not always
7800         1.
7801         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
7802         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
7803         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
7804         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
7805         number of bytes of an invalid character.
7806         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
7807         (main): Invoke it.
7808         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
7809         results.
7810         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
7811         malformed byte sequences.
7812         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
7813         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
7814         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
7815         Reported by Ben Pfaff and Paolo Bonzini.
7816
7817 2010-11-13  Bruno Haible  <bruno@clisp.org>
7818
7819         openat: Work around glibc bug with fchownat() and empty file names.
7820         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
7821         (gl_FUNC_FCHOWNAT): Invoke it.
7822         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
7823         * doc/posix-functions/fchownat.texi: Document the glibc bug.
7824         Reported by Gary V. Vaughan <gary@gnu.org>.
7825
7826 2010-11-13  Bruno Haible  <bruno@clisp.org>
7827
7828         openat: Ensure autoconf macro ordering.
7829         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
7830         gl_USE_SYSTEM_EXTENSIONS.
7831         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
7832
7833 2010-11-13  Bruno Haible  <bruno@clisp.org>
7834
7835         Update comments.
7836         * lib/unistr/u8-check.c: Update file name in comments.
7837         * lib/unistr/u8-mblen.c: Likewise.
7838         * lib/unistr/u8-prev.c: Likewise.
7839         * lib/unistr/u8-strmblen.c: Likewise.
7840         * lib/unistr/u8-strmbtouc.c: Likewise.
7841
7842 2010-11-13  Jim Meyering  <meyering@redhat.com>
7843
7844         tests: avoid test failure on Solaris 10 due to lack of PATH export
7845         * tests/test-update-copyright.sh: Don't forget to export PATH.
7846
7847         init.sh: ensure that IFS is defined, just in case...
7848         * tests/init.sh (setup_): Ensure that IFS is defined,
7849         so that saving and restoring it works as expected.  This
7850         appears to be useful at least for an old version of dash
7851         from a long time ago (RH 6).  See here for details:
7852         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
7853
7854         maint.mk: tighten "test a == b" check
7855         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
7856         test to files that contain something like #!/bin/sh.
7857         Without this, coreutils would get two false positives in
7858         the comments of C source files.
7859
7860 2010-11-12  Eric Blake  <eblake@redhat.com>
7861
7862         bootstrap: fix typo in previous attempt
7863         * build-aux/bootstrap (buildreq): Correct the grouping.
7864         Reported by Paul Eggert.
7865
7866         maintainer-makefile: prohibit test x == x
7867         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
7868         Based on a report by Matthias Bolte.
7869
7870         bootstrap: allow FreeBSD gzip
7871         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
7872         which has no '.' and goes to stderr.
7873         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
7874         Reported by Matthias Bolte.
7875
7876         maintainer-makefile: check for i18n setup
7877         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
7878         will likely work.
7879
7880 2010-11-12  Bruno Haible  <bruno@clisp.org>
7881
7882         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
7883         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
7884         * lib/nanosleep.c (nanosleep): Likewise.
7885
7886 2010-11-11  Bruno Haible  <bruno@clisp.org>
7887
7888         fcntl-h: Fix for use of C++ on glibc systems.
7889         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
7890         also on glibc systems in C++ mode.
7891         Reported by Gary V. Vaughan <gary@gnu.org>.
7892
7893 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
7894
7895         mknod: avoid false failure with dash
7896         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
7897
7898 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
7899
7900         unlink: Fix "is it should" typo in diagnostic.
7901         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
7902         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
7903
7904 2010-11-11  Bruno Haible  <bruno@clisp.org>
7905
7906         Tests for module 'strerror_r-posix'.
7907         * modules/strerror_r-posix-tests: New file.
7908         * tests/test-strerror_r.c: New file.
7909         * tests/test-string-c++.cc: Check the signature of strerror_r.
7910
7911         New module 'strerror_r-posix'.
7912         * lib/string.in.h (strerror_r): New declaration.
7913         * lib/strerror_r.c: New file.
7914         * m4/strerror_r.m4: New file.
7915         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
7916         of strerror_r.
7917         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
7918         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
7919         * modules/strerror_r-posix: New file.
7920         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
7921         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
7922         * doc/posix-functions/strerror_r.texi: Mention the new module and the
7923         portability problems.
7924
7925 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
7926
7927         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
7928         line is also considered for output. Quoted function name in shell
7929         command, so temporary files for functions like MyClass::operator()
7930         are removed correctly without errors.
7931
7932 2010-11-09  Bruno Haible  <bruno@clisp.org>
7933
7934         * doc/posix-functions/strerror.texi: List more failing platforms.
7935
7936         * doc/posix-functions/strerror.texi: Add a comment.
7937
7938 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
7939
7940         fdopendir: fix bug on MacOS X when low on file descriptors
7941
7942         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
7943         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
7944         All callers changed.
7945         (fdopendir): Invoke save_cwd at the top level, not after using
7946         multiple dup() calls to use up file descriptors.  Then retry
7947         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
7948         less than the maximum number of open file descriptors, because
7949         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
7950         on Mac OS X 10.6.4 for tar 1.24
7951         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
7952         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
7953         and for tar 1.25
7954         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
7955
7956 2010-11-07  Bruno Haible  <bruno@clisp.org>
7957
7958         vasnprintf: Support I flag on glibc systems.
7959         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
7960         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
7961         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
7962         snprintf function.
7963         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
7964         glibc systems.
7965         * tests/test-vasnprintf-posix3.c: New file.
7966         * modules/vasnprintf-posix-tests (Files): Add it.
7967         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
7968
7969 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
7970
7971         [html] Fix copy/paste bug: Use unique name for compiler warnings.
7972         * MODULES.html.sh: For compiler warnings, use name
7973         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
7974
7975 2010-11-05  Eric Blake  <eblake@redhat.com>
7976
7977         ceil, floor: avoid spurious failure with icc
7978         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
7979         [denormals-as-zero] when optimizing without -mieee-fp option.
7980         * tests/test-floorf2.c (floorf_reference): Likewise.
7981         * tests/test-ceilf1.c (dummy): New function.
7982         (main): Use it to outsmart icc's optimization.
7983         * tests/test-floorf1.c (dummy, main): Likewise.
7984
7985         tests: require working signbit
7986         * modules/ceilf-tests (Depends-on): Add signbit.
7987         * modules/ceill-tests (Depends-on): Likewise.
7988         * modules/floorf-tests (Depends-on): Likewise.
7989         * modules/floorl-tests (Depends-on): Likewise.
7990         * modules/round-tests (Depends-on): Likewise.
7991         * modules/roundf-tests (Depends-on): Likewise.
7992         * modules/roundl-tests (Depends-on): Likewise.
7993         * modules/trunc-tests (Depends-on): Likewise.
7994         * modules/truncf-tests (Depends-on): Likewise.
7995         * modules/truncl-tests (Depends-on): Likewise.
7996
7997         strtod: work around icc bug
7998         * lib/strtod.c (minus_zero): Define to working value.
7999         (strtod): Use it to avoid icc bug.
8000
8001         copysign: enhance tests
8002         * modules/copysign-tests (Files): Add minus-zero.h.
8003         * tests/test-copysign.c (main): Also test zeros.
8004
8005 2010-11-04  Eric Blake  <eblake@redhat.com>
8006
8007         ceil, floor, round, trunc: enhance tests of -0
8008         * tests/test-ceilf1.c (main): Ensure correct sign of result.
8009         * tests/test-ceill.c (main): Likewise.
8010         * tests/test-floorf1.c (main): Likewise.
8011         * tests/test-floorl.c (main): Likewise.
8012         * tests/test-round1.c (main): Likewise.
8013         * tests/test-roundf1.c (main): Likewise.
8014         * tests/test-roundl.c (main): Likewise.
8015         * tests/test-trunc1.c (main): Likewise.
8016         * tests/test-truncf1.c (main): Likewise.
8017         * tests/test-truncl.c (main): Likewise.
8018
8019 2010-11-04  Eric Blake  <eblake@redhat.com>
8020
8021         frexp, tests: work around ICC bug with -zero
8022         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
8023         works with more compilers.
8024         * tests/minus-zero.h: New file.
8025         * modules/ceilf-tests (Files): Include it.
8026         * modules/ceill-tests (Files): Likewise.
8027         * modules/floorf-tests (Files): Likewise.
8028         * modules/floorl-tests (Files): Likewise.
8029         * modules/frexp-nolibm-tests (Files): Likewise.
8030         * modules/frexp-tests (Files): Likewise.
8031         * modules/frexpl-nolibm-tests (Files): Likewise.
8032         * modules/frexpl-tests (Files): Likewise.
8033         * modules/isnan-tests (Files): Likewise.
8034         * modules/isnand-nolibm-tests (Files): Likewise.
8035         * modules/isnand-tests (Files): Likewise.
8036         * modules/isnanf-nolibm-tests (Files): Likewise.
8037         * modules/isnanf-tests (Files): Likewise.
8038         * modules/isnanl-nolibm-tests (Files): Likewise.
8039         * modules/isnanl-tests (Files): Likewise.
8040         * modules/round-tests (Files): Likewise.
8041         * modules/roundf-tests (Files): Likewise.
8042         * modules/roundl-tests (Files): Likewise.
8043         * modules/ldexpl-tests (Files): Likewise.
8044         * modules/signbit-tests (Files): Likewise.
8045         * modules/snprintf-posix-tests (Files): Likewise.
8046         * modules/sprintf-posix-tests (Files): Likewise.
8047         * modules/strtod-tests (Files): Likewise.
8048         * modules/trunc-tests (Files): Likewise.
8049         * modules/truncf-tests (Files): Likewise.
8050         * modules/truncl-tests (Files): Likewise.
8051         * modules/vsnprintf-posix-tests (Files): Likewise.
8052         * modules/vsprintf-posix-tests (Files): Likewise.
8053         * modules/vasnprintf-posix-tests (Files): Likewise.
8054         * modules/vasprintf-posix-tests (Files): Likewise.
8055         * tests/test-ceilf1.c (main): Use it.
8056         * tests/test-ceill.c (main): Likewise.
8057         * tests/test-floorf1.c (main): Likewise.
8058         * tests/test-floorl.c (main): Likewise.
8059         * tests/test-frexp.c (main): Likewise.
8060         * tests/test-frexpl.c (main): Likewise.
8061         * tests/test-isnan.c (main): Likewise.
8062         * tests/test-isnand.h (main): Likewise.
8063         * tests/test-isnanf.h (main): Likewise.
8064         * tests/test-isnanl.h (main): Likewise.
8065         * tests/test-ldexpl.c (main): Likewise.
8066         * tests/test-round.c (main): Likewise.
8067         * tests/test-roundf.c (main): Likewise.
8068         * tests/test-roundl.c (main): Likewise.
8069         * tests/test-signbit.c (test_signbitf, test_signbitd)
8070         (test_signbitl): Likewise.
8071         * tests/test-snprintf-posix.h (test_function): Likewise.
8072         * tests/test-sprintf-posix.h (test_function): Likewise.
8073         * tests/test-strtod.c (main): Likewise.
8074         * tests/test-trunc1.c (main): Likewise.
8075         * tests/test-truncf1.c (main): Likewise.
8076         * tests/test-truncl.c (main): Likewise.
8077
8078         isnanl: work around icc bug
8079         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
8080
8081 2010-11-03  Eric Blake  <eblake@redhat.com>
8082
8083         tests: fix compiler warnings
8084         * tests/test-getopt.h (test_getopt): Fix condition.
8085         * tests/test-getopt_long.h (test_getopt_long): Likewise.
8086         * tests/test-pipe2.c (main): Likewise.
8087         * tests/test-quotearg-simple.c (main): Avoid icc warning.
8088
8089         utimens: fix broken m4 test
8090         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
8091
8092 2010-10-28  Bruno Haible  <bruno@clisp.org>
8093
8094         posix_spawn*, getdtablesize: Relax license.
8095         * modules/posix_spawn (License): Change to LGPLv2+.
8096         * modules/posix_spawnp (License): Likewise.
8097         * modules/posix_spawn-internal (License): Likewise.
8098         * modules/posix_spawnattr_init (License): Likewise.
8099         * modules/posix_spawnattr_getflags (License): Likewise.
8100         * modules/posix_spawnattr_setflags (License): Likewise.
8101         * modules/posix_spawnattr_getpgroup (License): Likewise.
8102         * modules/posix_spawnattr_setpgroup (License): Likewise.
8103         * modules/posix_spawnattr_getschedparam (License): Likewise.
8104         * modules/posix_spawnattr_setschedparam (License): Likewise.
8105         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
8106         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
8107         * modules/posix_spawnattr_getsigdefault (License): Likewise.
8108         * modules/posix_spawnattr_setsigdefault (License): Likewise.
8109         * modules/posix_spawnattr_getsigmask (License): Likewise.
8110         * modules/posix_spawnattr_setsigmask (License): Likewise.
8111         * modules/posix_spawnattr_destroy (License): Likewise.
8112         * modules/posix_spawn_file_actions_init (License): Likewise.
8113         * modules/posix_spawn_file_actions_addclose (License): Likewise.
8114         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
8115         * modules/posix_spawn_file_actions_addopen (License): Likewise.
8116         * modules/posix_spawn_file_actions_destroy (License): Likewise.
8117         * modules/getdtablesize (License): Likewise.
8118         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
8119
8120 2010-10-26  Bruno Haible  <bruno@clisp.org>
8121
8122         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
8123         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
8124         Cygwin and mingw.
8125         Suggested by Eric Blake.
8126
8127 2010-10-26  Bruno Haible  <bruno@clisp.org>
8128
8129         stdio: Work around compilation error due to renameat() on Solaris 10.
8130         * lib/stdio.in.h: Include <unistd.h> on Solaris.
8131         * lib/renameat.c: Don't include <unistd.h> here.
8132         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
8133         Reported by Paul Eggert and Eric Blake.
8134
8135 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
8136
8137         renameat: port to Solaris 10, which declares renameat in unistd.h
8138
8139         * lib/renameat.c: Include unistd.h before stdio.h, because
8140         Solaris 10 declares renameat in unistd.h.  Problem encountered
8141         when building GNU tar 1.24 on Solaris 10.
8142
8143 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
8144
8145         fdopendir: fix C89 compilation
8146         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
8147         compilers.
8148
8149 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
8150
8151         inttostr: simplify by removing unnecessary redundancy
8152         * lib/anytostr.c: Don't include verify.h.
8153         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
8154         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
8155         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
8156         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
8157         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
8158         Likewise.
8159         * modules/inttostr (Depends-on): Remove 'verify'.
8160
8161 2010-10-23  Bruno Haible  <bruno@clisp.org>
8162
8163         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
8164         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
8165         Reported by Eric Blake.
8166
8167 2010-10-23  Bruno Haible  <bruno@clisp.org>
8168
8169         Tests: Fix LOCALE_JA on MirBSD 10.
8170         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
8171         to an UTF-8 locale.
8172         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
8173         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
8174         Reported by Eric Blake.
8175
8176 2010-10-21  Bruno Haible  <bruno@clisp.org>
8177
8178         nl_langinfo test: Avoid test failure on NetBSD 5.
8179         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
8180         Reported by Eric Blake.
8181
8182 2010-10-21  Eric Blake  <eblake@redhat.com>
8183
8184         c-stack: work around libsigsegv 2.8 bug
8185         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
8186         overflow on at least PowerPC64.
8187
8188 2010-10-17  Bruno Haible  <bruno@clisp.org>
8189
8190         userspec: Drop redundant file.
8191         * modules/userspec (Files): Remove lib/inttostr.h.
8192
8193 2010-10-17  Bruno Haible  <bruno@clisp.org>
8194
8195         nl_langinfo tests: Silence some warnings.
8196         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
8197         Reported by Jim Meyering.
8198
8199 2010-10-17  Bruno Haible  <bruno@clisp.org>
8200
8201         Make use of GCC's attribute __alloc_size__.
8202         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
8203         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
8204         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
8205         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
8206         __alloc_size__.
8207         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
8208         Suggested by Jim Meyering.
8209
8210 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
8211
8212         bootstrap: anchor .gitignore entries.
8213         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
8214         with...
8215         (insert_vc_ignore): ... this new function, which prepends `/' to
8216         all .gitignore entries before passing them to
8217         insert_sorted_if_absent.
8218
8219 2010-10-16  Bruno Haible  <bruno@clisp.org>
8220
8221         nextafter: Fix configure check.
8222         * modules/nextafter (configure.ac): Correct expected prototype.
8223
8224 2010-10-16  Bruno Haible  <bruno@clisp.org>
8225
8226         termios: Update documentation.
8227         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
8228
8229 2010-10-16  Bruno Haible  <bruno@clisp.org>
8230
8231         tests: Make them compile with TinyCC.
8232         * tests/test-strstr.c (main): Remove parentheses around array
8233         initializer.
8234
8235 2010-10-15  Eric Blake  <eblake@redhat.com>
8236
8237         ignore-value: make header idempotent
8238         * lib/ignore-value.h: Add double-inclusion guards.
8239         Reported by Stefan Berger.
8240
8241 2010-10-15  Jim Meyering  <meyering@redhat.com>
8242
8243         GNUmakefile: handle "stable" target, not "major"
8244         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
8245         lists in maint.mk and announce-gen.  Without this, "make stable"
8246         would fail to ensure that $(VERSION) is up to date.
8247
8248 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
8249
8250         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
8251         & co.
8252
8253 2010-10-14  Bruno Haible  <bruno@clisp.org>
8254
8255         vasnprintf: Don't set errno to 0.
8256         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
8257         block that sets it to 0.
8258         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
8259
8260 2010-10-14  Bruno Haible  <bruno@clisp.org>
8261
8262         socketlib: Fix.
8263         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
8264         gl_PREREQ_SYS_H_WINSOCK2.
8265         Reported by Ian Beckwith <ianb@erislabs.net>.
8266
8267 2010-10-13  Jim Meyering  <meyering@redhat.com>
8268
8269         test-select-stdin.c: avoid warn_unused_result warnings
8270         * tests/test-select-stdin.c: Include "macros.h".
8271         ASSERT that read and fflush succeed.
8272
8273 2010-10-13  Jim Meyering  <meyering@redhat.com>
8274
8275         git-version-gen: do require git-VC'd files in cwd
8276         * build-aux/git-version-gen: Reject a git version string
8277         if there are no commits associated with the current directory.
8278         This avoids an unlikely false-positive (unrelated dir whose parent
8279         repository also contains a tag matching v*), as pointed out
8280         by Giuseppe Scrivano in
8281         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
8282
8283 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
8284
8285         argv-iter: omit nonconforming declaration
8286         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
8287         enum arg_iter_err declaration, which doesn't conform to C99.
8288         Solaris 10 cc warns about this.
8289
8290 2010-10-13  Eric Blake  <eblake@redhat.com>
8291
8292         termios: fix compilation on mingw
8293         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
8294         (gl_TERMIOS_H): Adjust it on mingw.
8295         * modules/termios (Makefile.am): Substitute new key.
8296         * lib/termios.in.h (includes): Make include_next conditional.
8297         * doc/posix-headers/termios.texi (termios.h): Update
8298         documentation.
8299         Reported by Daniel P. Berrange.
8300
8301 2010-10-13  Jim Meyering  <meyering@redhat.com>
8302
8303         git-version-gen: don't require that .git/ be in the current dir
8304         * build-aux/git-version-gen: Adjust this script so that it works
8305         when run from any working directory beneath the top-level .git/-
8306         containing directory.  Inspired by a patch from Giuseppe Scrivano,
8307         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
8308
8309         test-select: avoid warn_unused_result warnings
8310         * tests/test-select.c: Include "macros.h".
8311         ASSERT that each call to read, write, and pipe succeeds.
8312         While not technically required, also check each "close".
8313         * modules/select-tests (Files): Add tests/macros.h.
8314
8315         test-symlinkat: remove declaration of unused local
8316         * tests/test-symlinkat.c (main): Remove unused local, "buf".
8317
8318         test-inttostr: avoid shadowing warnings
8319         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
8320         and use malloc rather than the stack for the same reason as
8321         mentioned in the comment justifying the other allocation.
8322
8323 2010-10-11  Bruno Haible  <bruno@clisp.org>
8324
8325         stdlib: Allow multiple gnulib generated replacements to coexist.
8326         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
8327         Reported by Sam Steingold <sds@gnu.org>.
8328
8329 2010-10-11  Jim Meyering  <meyering@redhat.com>
8330
8331         fix a documentation typo
8332         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
8333
8334 2010-10-11  Eric Blake  <eblake@redhat.com>
8335
8336         futimens: work around Solaris 11 bug
8337         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
8338         * tests/test-futimens.h (test_futimens): Enhance, rather than
8339         weaken test.
8340         * doc/posix-functions/futimens.texi (futimens): Document the bug.
8341
8342 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
8343
8344         Indentation.
8345         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
8346         higher-level operators more to the left.
8347
8348 2010-10-11  Jim Meyering  <meyering@redhat.com>
8349
8350         test-futimens: avoid unwarranted test failure on Solaris 5.11
8351         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
8352         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
8353         because it tries to dereference the NULL name argument.
8354
8355 2010-10-11  Bruno Haible  <bruno@clisp.org>
8356
8357         Indentation.
8358         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
8359         indentation.
8360
8361 2010-10-11  Jim Meyering  <meyering@redhat.com>
8362
8363         spawn.in.h: make indentation consistent with parentheses
8364         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
8365         Make indentation consistent with parentheses.
8366
8367 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
8368
8369         Fix mismatched parens in previous commit
8370         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
8371         parens.
8372
8373 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
8374
8375         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
8376
8377         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
8378         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
8379         * lib/malloca.c: Include "verify.h".
8380         (verify1): Remove, replacing with a verify call.
8381         * lib/relocwrapper.c (verify1): Likewise.
8382         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
8383         Likewise.
8384         * modules/malloca (Depends-on): Add 'verify'.
8385         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
8386         * modules/vasnprintf (Depends-on): Add 'verify'.
8387         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
8388         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
8389         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
8390         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
8391         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
8392         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
8393         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
8394
8395         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
8396
8397         Formerly the style was sometimes 2*X - 1, because the C standard
8398         was wrongly thought to disallow ?: in integral constant expressions.
8399         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
8400         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
8401         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
8402         * lib/stdint.in.h (_verify_intmax_size): Likewise.
8403         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
8404         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
8405         verify that time_t cannot be floating.
8406
8407 2010-10-08  Eric Blake  <eblake@redhat.com>
8408
8409         time: enforce recent POSIX ruling that time_t is integral
8410         * lib/time.in.h (__time_t_must_be_integral): Detect any
8411         problematic systems, allowing the rest of gnulib to assume POSIX.
8412
8413 2010-10-08  Jim Meyering  <meyering@redhat.com>
8414
8415         fdopendir: fix a bug on systems lacking openat and /proc support
8416         OpenBSD 4.7 is one such system.  The most noticeable effect was
8417         failure of any application making nontrivial use of fts: rm, du,
8418         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
8419           ./rm: traversal failed: `a': Bad file descriptor
8420         Debugging that, you see that even though FD 6 was closed just
8421         prior to the opendir call in fd_clone_opendir, its resulting
8422         dir->dd_fd was 8, rather than the expected value of 6:
8423
8424         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
8425         93                close (fd);
8426         (gdb) n
8427         94                dir = fd_clone_opendir (dupfd);
8428         (gdb) n
8429         95                saved_errno = errno;
8430         (gdb) p dir->dd_fd
8431         $11 = 8
8432
8433         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
8434         The problem is that on OpenBSD, fd_clone_opendir has to resort
8435         to using the old-style save/restore CWD mechanism, due to its
8436         lack of openat/proc support, and *that* would steal the FD (6)
8437         that opendir was supposed to use.
8438
8439         The fix is to squirrel away the desired FD so that save_cwd uses a
8440         different one, and then free the dest FD right before calling opendir.
8441         That guarantees opendir will use the required file descriptor.
8442
8443         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
8444
8445 2010-10-08  Bruno Haible  <bruno@clisp.org>
8446
8447         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
8448         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
8449
8450 2010-10-08  Bruno Haible  <bruno@clisp.org>
8451
8452         nanosleep: Make replacement POSIX compliant.
8453         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
8454         is out of range.
8455         Reported by Jim Meyering.
8456
8457 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
8458
8459         bootstrap: add hook for altering gnulib.mk, for Bison
8460         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
8461         the Bison bootstrapping process can rewrite file names and variables
8462         in this file before later parts of 'bootstrap' use the file.
8463         Bison wants to include lib/gnulib.mk from the top-level makefile,
8464         so it needs the file names in this file to be relative to the top
8465         level, not relative to lib; plus it needs variable names to be
8466         rewritten.
8467         (slurp): Use the new function.
8468
8469         bootstrap: reformat for readability
8470         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
8471
8472 2010-10-08  Eric Blake  <eblake@redhat.com>
8473
8474         docs: update cygwin progress
8475         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
8476         1.7.7.
8477         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
8478         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
8479         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
8480         * doc/posix-functions/carg.texi (carg): Likewise.
8481         * doc/posix-functions/cargf.texi (cargf): Likewise.
8482         * doc/posix-functions/casin.texi (casin): Likewise.
8483         * doc/posix-functions/casinf.texi (casinf): Likewise.
8484         * doc/posix-functions/casinh.texi (casinh): Likewise.
8485         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
8486         * doc/posix-functions/catan.texi (catan): Likewise.
8487         * doc/posix-functions/catanf.texi (catanf): Likewise.
8488         * doc/posix-functions/catanh.texi (catanh): Likewise.
8489         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
8490         * doc/posix-functions/ccos.texi (ccos): Likewise.
8491         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
8492         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
8493         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
8494         * doc/posix-functions/cexp.texi (cexp): Likewise.
8495         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
8496         * doc/posix-functions/cimag.texi (cimag): Likewise.
8497         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
8498         * doc/posix-functions/clog.texi (clog): Likewise.
8499         * doc/posix-functions/clogf.texi (clogf): Likewise.
8500         * doc/posix-functions/conj.texi (conj): Likewise.
8501         * doc/posix-functions/conjf.texi (conjf): Likewise.
8502         * doc/posix-functions/cpow.texi (cpow): Likewise.
8503         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
8504         * doc/posix-functions/cproj.texi (cproj): Likewise.
8505         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
8506         * doc/posix-functions/creal.texi (creal): Likewise.
8507         * doc/posix-functions/crealf.texi (crealf): Likewise.
8508         * doc/posix-functions/csin.texi (csin): Likewise.
8509         * doc/posix-functions/csinf.texi (csinf): Likewise.
8510         * doc/posix-functions/csinh.texi (csinh): Likewise.
8511         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
8512         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
8513         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
8514         * doc/posix-functions/ctan.texi (ctan): Likewise.
8515         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
8516         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
8517         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
8518         * doc/posix-headers/complex.texi (complex.h): Likewise.
8519
8520 2010-10-07  Jim Meyering  <meyering@redhat.com>
8521
8522         parse-datetime: avoid compilation failure on OpenBSD 4.7
8523         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
8524         This works around a compilation failure on OpenBSD 4.7:
8525         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
8526
8527 2010-10-07  Eric Blake  <eblake@redhat.com>
8528
8529         docs: update cygwin progress
8530         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
8531         1.7.6.
8532         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
8533         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
8534         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
8535         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
8536         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
8537         Likewise.
8538         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
8539         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
8540         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
8541         Likewise.
8542         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
8543         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
8544         Likewise.
8545         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
8546         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
8547         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
8548         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
8549         Likewise.
8550         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
8551         Likewise.
8552         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
8553
8554         docs: update parse-datetime history
8555         * doc/parse-datetime.texi (Authors of parse_datetime): Better
8556         documentation of this function's history and alternatives.
8557
8558         cygwin: use more robust version check
8559         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
8560         exclude an eventual cygwin 1.9.1.
8561         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
8562         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
8563         (gl_FUNC_STRCASESTR): Likewise.
8564         Reported by Bruno Haible.
8565
8566 2010-10-06  Bruno Haible  <bruno@clisp.org>
8567
8568         string, sys_select: Avoid #including large headers unless necessary.
8569         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
8570         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
8571         OSF/1, BeOS, Haiku.
8572         Reported by Jim Meyering.
8573
8574 2010-10-05  Eric Blake  <eblake@redhat.com>
8575
8576         memmem, strstr, strcasestr: fix bug with long periodic needle
8577         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
8578         periodic needle having false positive.
8579         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
8580         and cygwin 1.7.7.
8581         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
8582         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
8583         (gl_FUNC_STRCASESTR): Likewise.
8584         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
8585         * tests/test-memmem.c (main): Expose the bug.
8586         * tests/test-strcasestr.c (main): Likewise.
8587         * tests/test-strstr.c (main): Likewise.
8588         * tests/test-c-strcasestr.c (main): Likewise.
8589         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
8590         * doc/posix-functions/strstr.texi (strstr): Likewise.
8591         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
8592         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
8593
8594 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
8595
8596         parse-datetime: do some more renaming
8597         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
8598         parse_datetime, not get_date.  Mention the renaming.
8599         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
8600         in comments.
8601         * m4/bison.m4: Likewise.
8602
8603 2010-10-05  Eric Blake  <eblake@redhat.com>
8604
8605         parse-datetime: better name than get_date
8606         * NEWS: Reword the deprecation notice.
8607         * modules/get_date: Rename to modules/parse-datetime.
8608         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
8609         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
8610         * lib/get_date.y: Rename to lib/parse-datetime.y.
8611         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
8612         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
8613         * doc/getdate.texi: Provide fallback wrapper.
8614         * lib/getdate.h: Move guts, and wrap...
8615         * lib/parse-datetime.h: ...new file.
8616         * lib/parse-datetime.y (get_date): Rename...
8617         (parse_datetime): ...to this.
8618         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
8619         (gl_PARSE_DATETIME): ...to this.
8620         * doc/posix-functions/getdate.texi (get_date): Provide fallback
8621         documentation.
8622         * modules/getdate (Files): Provide fallback docs and header.
8623         (Notice, Depends-on): Update references.
8624         * tests/test-parse-datetime.c: Likewise.
8625         * DEPENDENCIES: Likewise.
8626         * MODULES.html.sh (Date and time <time.h>): Likewise.
8627         * doc/parse-datetime.texi (Date input formats)
8628         (Authors of parse_datetime): Likewise.
8629         * modules/parse-datetime (Files, configure.ac, Makefile.am)
8630         (Include): Likewise.
8631         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
8632         * gnulib-tool: Likewise.
8633         * m4/bison.m4 (gl_BISON): Likewise.
8634         Suggested by Bruno Haible.
8635
8636 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
8637
8638         more ports to Solaris tr, which needs [] around ranges
8639         * gnulib-tool: Solaris tr needs [] around ranges.
8640         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
8641         * tests/test-pipe-filter-gi1.c (main): Likewise.
8642         * tests/test-pipe-filter-ii1.c (main): Likewise.
8643
8644 2010-10-05  Eric Blake  <eblake@redhat.com>
8645
8646         bootstrap: fix Solaris regression
8647         * build-aux/bootstrap (check_versions): Solaris tr still needs []
8648         around ranges.
8649         Reported by Pádraig Brady.
8650
8651         bootstrap: work with pkg-config
8652         * build-aux/bootstrap (check_versions): Also transliterate - in
8653         prerequisite name.
8654         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
8655         prerequisites that were already found, to avoid confusion.
8656         Reported by Justin Clift.
8657
8658         faccessat: remove unused wrappers
8659         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
8660         presence of these wrappers dragged in -lgen on Solaris.
8661         Reported by Clemens Brogi; fix suggested by Paul Eggert.
8662
8663 2010-10-05  Jim Meyering  <meyering@redhat.com>
8664
8665         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
8666         * Makefile (sc_pragma_columns): New syntax-check rule.
8667
8668 2010-10-04  Bruno Haible  <bruno@clisp.org>
8669
8670         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
8671         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
8672         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
8673         Reported by Bruce Korb and Eric Blake.
8674
8675 2010-10-04  Bruno Haible  <bruno@clisp.org>
8676
8677         threadlib: Make option --with-libpth-prefix work.
8678         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
8679         use $LIBPTH, not just -lpth.
8680
8681 2010-10-04  Bruno Haible  <bruno@clisp.org>
8682
8683         Avoid line length limitation from HP NonStop system header files.
8684         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
8685         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
8686         * lib/ctype.in.h: Likewise.
8687         * lib/dirent.in.h: Likewise.
8688         * lib/errno.in.h: Likewise.
8689         * lib/fcntl.in.h: Likewise.
8690         * lib/float.in.h: Likewise.
8691         * lib/getopt.in.h: Likewise.
8692         * lib/iconv.in.h: Likewise.
8693         * lib/inttypes.in.h: Likewise.
8694         * lib/langinfo.in.h: Likewise.
8695         * lib/locale.in.h: Likewise.
8696         * lib/math.in.h: Likewise.
8697         * lib/netdb.in.h: Likewise.
8698         * lib/netinet_in.in.h: Likewise.
8699         * lib/poll.in.h: Likewise.
8700         * lib/pthread.in.h: Likewise.
8701         * lib/pty.in.h: Likewise.
8702         * lib/sched.in.h: Likewise.
8703         * lib/se-selinux.in.h: Likewise.
8704         * lib/search.in.h: Likewise.
8705         * lib/signal.in.h: Likewise.
8706         * lib/spawn.in.h: Likewise.
8707         * lib/stdarg.in.h: Likewise.
8708         * lib/stddef.in.h: Likewise.
8709         * lib/stdint.in.h: Likewise.
8710         * lib/stdio.in.h: Likewise.
8711         * lib/stdlib.in.h: Likewise.
8712         * lib/string.in.h: Likewise.
8713         * lib/strings.in.h: Likewise.
8714         * lib/sys_file.in.h: Likewise.
8715         * lib/sys_ioctl.in.h: Likewise.
8716         * lib/sys_select.in.h: Likewise.
8717         * lib/sys_socket.in.h: Likewise.
8718         * lib/sys_stat.in.h: Likewise.
8719         * lib/sys_time.in.h: Likewise.
8720         * lib/sys_times.in.h: Likewise.
8721         * lib/sys_utsname.in.h: Likewise.
8722         * lib/sys_wait.in.h: Likewise.
8723         * lib/sysexits.in.h: Likewise.
8724         * lib/termios.in.h: Likewise.
8725         * lib/time.in.h: Likewise.
8726         * lib/unistd.in.h: Likewise.
8727         * lib/wchar.in.h: Likewise.
8728         * lib/wctype.in.h: Likewise.
8729         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
8730         * modules/ctype (Makefile.am): Likewise.
8731         * modules/dirent (Makefile.am): Likewise.
8732         * modules/errno (Makefile.am): Likewise.
8733         * modules/fcntl-h (Makefile.am): Likewise.
8734         * modules/float (Makefile.am): Likewise.
8735         * modules/getopt-posix (Makefile.am): Likewise.
8736         * modules/iconv-h (Makefile.am): Likewise.
8737         * modules/inttypes (Makefile.am): Likewise.
8738         * modules/langinfo (Makefile.am): Likewise.
8739         * modules/locale (Makefile.am): Likewise.
8740         * modules/math (Makefile.am): Likewise.
8741         * modules/netdb (Makefile.am): Likewise.
8742         * modules/netinet_in (Makefile.am): Likewise.
8743         * modules/poll-h (Makefile.am): Likewise.
8744         * modules/pthread (Makefile.am): Likewise.
8745         * modules/pty (Makefile.am): Likewise.
8746         * modules/sched (Makefile.am): Likewise.
8747         * modules/search (Makefile.am): Likewise.
8748         * modules/selinux-h (Makefile.am): Likewise.
8749         * modules/signal (Makefile.am): Likewise.
8750         * modules/spawn (Makefile.am): Likewise.
8751         * modules/stdarg (Makefile.am): Likewise.
8752         * modules/stddef (Makefile.am): Likewise.
8753         * modules/stdint (Makefile.am): Likewise.
8754         * modules/stdio (Makefile.am): Likewise.
8755         * modules/stdlib (Makefile.am): Likewise.
8756         * modules/string (Makefile.am): Likewise.
8757         * modules/strings (Makefile.am): Likewise.
8758         * modules/sys_file (Makefile.am): Likewise.
8759         * modules/sys_ioctl (Makefile.am): Likewise.
8760         * modules/sys_select (Makefile.am): Likewise.
8761         * modules/sys_socket (Makefile.am): Likewise.
8762         * modules/sys_stat (Makefile.am): Likewise.
8763         * modules/sys_time (Makefile.am): Likewise.
8764         * modules/sys_times (Makefile.am): Likewise.
8765         * modules/sys_utsname (Makefile.am): Likewise.
8766         * modules/sys_wait (Makefile.am): Likewise.
8767         * modules/sysexits (Makefile.am): Likewise.
8768         * modules/termios (Makefile.am): Likewise.
8769         * modules/time (Makefile.am): Likewise.
8770         * modules/unistd (Makefile.am): Likewise.
8771         * modules/wchar (Makefile.am): Likewise.
8772         * modules/wctype (Makefile.am): Likewise.
8773
8774 2010-10-04  Bruno Haible  <bruno@clisp.org>
8775
8776         read-file tests: Avoid a test failure on NonStop Kernel.
8777         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
8778         a regular file.
8779         Reported by Joachim Schmitz <schmitz@hp.com>.
8780
8781 2010-10-03  Bruno Haible  <bruno@clisp.org>
8782
8783         gnulib-tool: Fixes for --create-testdir with --libtool.
8784         * gnulib-tool (func_get_automake_snippet): Don't augment
8785         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
8786         an executable.
8787         (func_create_testdir): Handle module 'alloca' like func_import.
8788         Reported by Bruce Korb <bruce.korb@gmail.com>.
8789
8790 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
8791
8792         Avoid some lines longer than 80 characters.
8793         * lib/stdint.in.h: Break long comment lines.
8794         * lib/math.in.h: Likewise.
8795         (_GL_NUM_UINT_WORDS): New macro, for readability.
8796         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
8797         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
8798         * lib/stdlib.in.h: Likewise.
8799         * lib/spawn.in.h: Likewise.
8800         * lib/sys_socket.in.h: Update an URL.
8801         * lib/sys_stat.in.h: Break long line.
8802
8803 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
8804
8805         Improve pmccabe2html.
8806         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
8807         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
8808         when the sources change. Remove the line in the HTML about "Used
8809         ranges" (which implied that there might be other unused ranges),
8810         rename "Resume" to "Summary" (easier to understand for more users).
8811         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
8812         styles, and some unnecessary blank lines.
8813
8814 2010-10-03  Bruno Haible  <bruno@clisp.org>
8815             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
8816
8817         acl: Add support for ACLs on NonStop Kernel.
8818         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
8819         Check whether the function aclsort() exists.
8820         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
8821         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
8822         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
8823         (acl_nontrivial [HAVE_ACLSORT]: New function.
8824         (file_has_acl): Implement for NonStop Kernel.
8825         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
8826         (qset_acl): Implement for NonStop Kernel.
8827         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
8828         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
8829         (main): Implement for NonStop Kernel.
8830         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
8831         Kernel. Handle this flavor.
8832         * tests/test-set-mode-acl.sh: Likewise.
8833         * tests/test-copy-acl.sh: Likewise.
8834         * tests/test-copy-file.sh: Likewise.
8835
8836 2010-10-03  Bruno Haible  <bruno@clisp.org>
8837
8838         Info about ACLs on NonStop Kernel.
8839         * doc/acl-resources.txt: Add info about NonStop Kernel.
8840         References by Joachim Schmitz <schmitz@hp.com>.
8841
8842 2010-10-02  Bruno Haible  <bruno@clisp.org>
8843
8844         Define missing EDQUOT on NonStop Kernel.
8845         * lib/errno.in.h (EDQUOT): Assign a value if missing.
8846         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
8847         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
8848         missing.
8849         * doc/posix-headers/errno.texi: Mention the NSK bug.
8850         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
8851         Reported by Joachim Schmitz <schmitz@hp.com>.
8852
8853 2010-10-02  Bruno Haible  <bruno@clisp.org>
8854
8855         Update doc for POSIX:2008.
8856         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
8857         Update URL of POSIX specification.
8858
8859 2010-10-02  Bruno Haible  <bruno@clisp.org>
8860
8861         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
8862         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
8863         from gnulib, not from Automake.
8864
8865 2010-10-02  Bruno Haible  <bruno@clisp.org>
8866
8867         New module 'system-posix'.
8868         * modules/system-posix: New file.
8869         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
8870         module is present.
8871         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
8872         GNULIB_SYSTEM_POSIX.
8873         * modules/stdlib (Depends-on): Remove sys_wait.
8874         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
8875         * doc/posix-functions/system.texi: Mention the new module.
8876         * doc/posix-headers/stdlib.texi: Likewise.
8877         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
8878         define test_sys_wait_macros to a no-op.
8879         Reported by Sam Steingold <sds@gnu.org>.
8880
8881 2010-09-30  Bruno Haible  <bruno@clisp.org>
8882
8883         More renaming from 'getdate' to 'get_date'.
8884         * doc/get_date.texi: Renamed from doc/getdate.texi.
8885         * modules/get_date (Files): Update.
8886         * MODULES.html.sh (Date and time <time.h>): Update.
8887         * DEPENDENCIES: Update.
8888         * gnulib-tool: Update comment.
8889         * m4/bison.m4 (gl_BISON): Likewise.
8890         * m4/get_date.m4 (gl_GET_DATE): Likewise.
8891
8892 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
8893
8894         bootstrap: support ACLOCAL_FLAGS during aclocal
8895         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
8896         can add additional -I dir for third-party .m4 files.
8897
8898 2010-09-30  Eric Blake  <eblake@redhat.com>
8899
8900         bootstrap: use glibtoolize on MacOS
8901         * build-aux/bootstrap (check_versions): Convert libtool into
8902         libtoolize.
8903         (tool search): Move libtool check earlier, and look for
8904         glibtoolize for MacOS.
8905         (gnulib_tool_options): Auto-add --libtool when appropriate.
8906         Reported by Justin Clift.
8907
8908         poll: fix typo that broke test on MacOS
8909         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
8910         Reported by Justin Clift.
8911
8912         getdate: rename to get_date
8913         Note: getdate.h is not renamed, to minimize client impact.
8914         * modules/getdate: Mark obsolete.  Move old contents...
8915         * modules/get_date: ...to new module name.
8916         * modules/getdate-tests: Move...
8917         * modules/get_date-tests: ...here.
8918         * m4/getdate.m4: Move...
8919         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
8920         * lib/getdate.y: Move...
8921         * lib/get_date.y: ...here.
8922         * tests/test-getdate.c: Move...
8923         * tests/test-get_date.c: ...here.
8924         * doc/posix-functions/getdate.texi (getdate): Update name.
8925         * NEWS: Mention the change.
8926
8927 2010-09-29  Bruno Haible  <bruno@clisp.org>
8928
8929         Separate the module 'waitpid' from the module 'sys_wait'.
8930         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
8931         present.
8932         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
8933         gl_MODULE_INDICATOR_FOR_TESTS.
8934         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
8935         * modules/sys_wait (Depends-on): Remove waitpid.
8936         (Makefile.am): Substitute GNULIB_WAITPID.
8937         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
8938         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
8939         signature only if the 'waitpid' module is present.
8940         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
8941         * NEWS: Mention the change.
8942         * modules/grantpt (Depends-on): Add waitpid.
8943         * modules/wait-process (Depends-on): Likewise.
8944
8945 2010-09-29  Bruno Haible  <bruno@clisp.org>
8946
8947         More tests for module 'sys_wait'.
8948         * modules/sys_wait-c++-tests: New file.
8949         * tests/test-sys_wait-c++.cc: New file.
8950         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
8951         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
8952
8953 2010-09-29  Bruno Haible  <bruno@clisp.org>
8954
8955         New module 'waitpid'.
8956         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
8957         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
8958         Don't include <process.h>.
8959         (waitpid): Declare only, using modern idiom.
8960         * m4/waitpid.m4: New file.
8961         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
8962         * modules/waitpid: New file.
8963         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
8964         (Makefile.am): Update.
8965         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
8966
8967 2010-09-28  Bruno Haible  <bruno@clisp.org>
8968
8969         poll: Assume ANSI C.
8970         * lib/poll.c (poll): Use an ANSI C declaration.
8971
8972 2010-09-28  Bruno Haible  <bruno@clisp.org>
8973
8974         poll-h: Create poll.h on all platforms.
8975         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
8976         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
8977         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
8978         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
8979         (gl_REPLACE_POLL_H): Don't set POLL_H.
8980         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
8981         * modules/poll-h (Depends-on): Add include_next.
8982         (Makefile.am): Create poll.h unconditionally. Substitute also
8983         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
8984
8985 2010-09-28  Bruno Haible  <bruno@clisp.org>
8986
8987         Tests for module 'poll-h'.
8988         * modules/poll-h-c++-tests: New file.
8989         * tests/test-poll-h-c++.cc: New file.
8990
8991         Tests for module 'poll-h'.
8992         * modules/poll-h-tests: New file.
8993         * tests/test-poll-h.c: New file.
8994
8995 2010-09-28  Bruno Haible  <bruno@clisp.org>
8996
8997         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
8998         * modules/poll-h (Depends-on): Add 'extensions'.
8999
9000 2010-09-28  Bruno Haible  <bruno@clisp.org>
9001
9002         New module 'poll-h'.
9003         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
9004         (poll): Use modern idiom.
9005         * modules/poll-h: New file.
9006         * modules/poll (Files): Remove lib/poll.in.h.
9007         (Depends-on): Add poll-h.
9008         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
9009         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
9010         * m4/poll_h.m4: New file.
9011         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
9012         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
9013         and invoke gl_REPLACE_POLL_H.
9014         * lib/poll.c: Use common idiom.
9015         * tests/test-poll.c: Likewise.
9016         * doc/posix-headers/poll.texi: Mention the poll-h module.
9017         Suggested by Eric Blake.
9018
9019 2010-09-26  Bruno Haible  <bruno@clisp.org>
9020
9021         sys_wait: Implement WSTOPSIG.
9022         * lib/sys_wait.in.h (WSTOPSIG): New macro.
9023         Reported by Simon Josefsson.
9024
9025 2010-09-26  Simon Josefsson  <simon@josefsson.org>
9026
9027         stdlib, sys_wait: Avoid compilation error on mingw.
9028         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
9029
9030 2010-09-26  Bruno Haible  <bruno@clisp.org>
9031
9032         stdlib tests: Avoid code duplication.
9033         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
9034         * modules/sys_wait-tests (Files): Likewise.
9035         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
9036         * tests/test-stdlib.c: Include test-sys_wait.h.
9037         (main): Invoke test_sys_wait_macros.
9038         * tests/test-sys_wait.c: Include test-sys_wait.h.
9039         (main): Invoke test_sys_wait_macros.
9040
9041 2010-09-25  Simon Josefsson  <simon@josefsson.org>
9042
9043         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
9044         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
9045         sure Windows sockets are working before calling getaddrinfo.
9046         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
9047         * doc/gnulib.texi (Windows sockets): Fix typo.
9048
9049 2010-09-25  Bruno Haible  <bruno@clisp.org>
9050
9051         Tests for module 'regex-quote'.
9052         * modules/regex-quote-tests: New file.
9053         * tests/test-regex-quote.c: New file.
9054
9055         New module 'regex-quote'.
9056         * lib/regex-quote.h: New file.
9057         * lib/regex-quote.c: New file.
9058         * modules/regex-quote: New file.
9059         Suggested by Reuben Thomas <rrt@sc3d.org>.
9060
9061 2010-09-24  Bruno Haible  <bruno@clisp.org>
9062
9063         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
9064         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
9065
9066 2010-09-23  Bruno Haible  <bruno@clisp.org>
9067
9068         setenv: Relax license.
9069         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
9070         Blake.
9071         Requested by Eric Blake.
9072
9073 2010-09-22  Bruno Haible  <bruno@clisp.org>
9074
9075         termios: Relax license.
9076         * modules/termios (License): Change to LGPLv2+.
9077         Requested by Eric Blake.
9078
9079 2010-09-22  Bruno Haible  <bruno@clisp.org>
9080
9081         threadlib: Allow the package to change the default to 'no'.
9082         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
9083         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
9084         Reported by Paul Eggert.
9085
9086 2010-09-22  Pádraig Brady  <P@draigbrady.com>
9087             Bruno Haible  <bruno@clisp.org>
9088
9089         Fix endless loop in mbmemcasecoll.
9090         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
9091         byte.
9092         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
9093
9094 2010-09-22  Bruno Haible  <bruno@clisp.org>
9095
9096         Tests for module 'memcoll'.
9097         * modules/memcoll-tests: New file.
9098         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
9099
9100         memcoll, xmemcoll: Clarify size vs. length.
9101         * modules/memcoll.c (memcoll0): Clarify specification.
9102         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
9103         passed to collate_error.
9104
9105 2010-09-22  Bruno Haible  <bruno@clisp.org>
9106
9107         Tests for module 'memcasecmp'.
9108         * modules/memcasecmp-tests: New file.
9109         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
9110
9111 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
9112
9113         * lib/pthread.in.h: Add split double-inclusion guard, and include
9114         system <pthread.h> if there is one.  Use @@-style as in other
9115         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
9116         pthread.h doesn't.
9117         (pthread_mutexattr_destroy, pthread_mutexattr_init):
9118         (pthread_mutexattr_settype, pthread_mutex_trylock):
9119         New static inline functions, if there's no system <pthread.h>.
9120         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
9121         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
9122         Approximate with mutexes if the system lacks spinlocks, as in
9123         MacOS.
9124         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
9125         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
9126         @@-style.  Check for spinlocks separately.
9127         (gl_PTHREAD_DEFAULTS): New macro.
9128         * modules/pthread: Redo to use a more typical style for in.h files.
9129
9130 2010-09-21  Eric Blake  <eblake@redhat.com>
9131
9132         net_if: enhance tests
9133         * tests/test-net_if.c (main): Move signature checks earlier.
9134         Print failures to stderr.
9135         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
9136         Document the bug that we do not yet fix.
9137
9138 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
9139
9140         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
9141         about gnulib, not GSS.
9142
9143 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
9144
9145         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
9146         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
9147         for Emacs.
9148         * build-aux/pmccabe2html: Make Makefile.am example code more
9149         cut-and-paste friendly.
9150
9151 2010-09-21  Simon Josefsson  <simon@josefsson.org>
9152
9153         * tests/test-net_if.c: New file.
9154         * modules/net_if-tests: New file.
9155
9156 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
9157
9158         pthread: add pthread_spin_destroy
9159         * lib/pthread.in.h (pthread_spin_destroy): New function.
9160
9161 2010-09-19  Bruno Haible  <bruno@clisp.org>
9162
9163         gnulib-tool: Fix --help output.
9164         * gnulib-tool (func_usage): Fix help message.
9165         Reported by Reuben Thomas <rrt@sc3d.org>.
9166
9167 2010-09-18  Jim Meyering  <meyering@redhat.com>
9168
9169         maint.mk: avoid unexpanded \n in two diagnostics
9170         * top/maint.mk (sc_prohibit_always_true_header_tests):
9171         Don't use a literal \n in a halt=... assignment.  It would not be
9172         expanded, and the two \n bytes would appear in the diagnostic output
9173         rather than the desired newline.  Use halt=$$(printf ... instead.
9174         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
9175
9176 2010-09-18  Bruno Haible  <bruno@clisp.org>
9177
9178         netinet_in: Doc tweak.
9179         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
9180         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
9181
9182 2010-09-18  Jim Meyering  <meyering@redhat.com>
9183
9184         init.sh: correct an outdated comment
9185         * tests/init.sh (create_exe_shims_):  s/function/alias/
9186
9187         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
9188         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
9189         a file named "*.exe" is removed between the glob expansion and the
9190         processing of that oddly named file.
9191
9192 2010-09-17  Eric Blake  <eblake@redhat.com>
9193
9194         mirbsd: add some more support
9195         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
9196         in BSD family.
9197         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
9198         devices as OpenBSD.
9199         * m4/host-os.m4 (mirbsd): Add MirBSD.
9200
9201         tests: fix unportable assumption on sys/wait.h
9202         * tests/test-sys_wait.c (main): Relax test.
9203         * tests/test-stdlib.c (main): Likewise.
9204
9205         init.sh: accomodate directory with no .exes
9206         * tests/init.sh: Accomodate directory containing only scripts.
9207
9208         tests: avoid compiler warning
9209         * tests/test-stdlib.c (main): Use the variable.
9210
9211         fdutimens, fdutimensat: update signature, again
9212         * lib/utimens.h (gl_futimens): Delete, and move signature...
9213         (fdutimens): ...here.
9214         (fdutimensat): Rearrange signature.
9215         (lutimensat): Rename variable for clarity.
9216         * lib/fdutimensat.c (fdutimensat): Update signature.
9217         * lib/utimens.c (fdutimens): Likewise.
9218         (gl_futimens): Delete.
9219         (utimens, lutimens): Update callers.
9220         * lib/futimens.c (futimens): Likewise.
9221         * tests/test-fdutimensat.c: Likewise.
9222         * tests/test-utimens.c: Likewise.
9223         * tests/test-futimens.h: Update comment.
9224         * NEWS: Mention this.
9225         Suggested by Paul Eggert.
9226
9227 2010-09-17  Bruno Haible  <bruno@clisp.org>
9228
9229         Take over the maintenance of some older macros from Autoconf.
9230         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
9231         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
9232         GNU Autoconf.
9233         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
9234         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
9235
9236 2010-09-17  Eric Blake  <eblake@redhat.com>
9237
9238         fdutimensat: drop atflag validation
9239         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
9240         with valid fd, to close a race scenario where futimens is
9241         unsupported and FILE was replaced by a symlink.
9242         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
9243         accordingly.
9244         Suggested by Paul Eggert.
9245
9246 2010-09-16  Bruno Haible  <bruno@clisp.org>
9247
9248         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
9249         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
9250
9251 2010-09-16  Bruno Haible  <bruno@clisp.org>
9252
9253         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
9254         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
9255         login_tty exists.
9256         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
9257
9258 2010-09-16  Bruno Haible  <bruno@clisp.org>
9259
9260         login_tty: Make the replacement code work on BSD systems.
9261         * lib/login_tty.c: Include <sys/ioctl.h>.
9262         (login_tty): Use ioctl TIOCSCTTY when available.
9263         * modules/login_tty (Depends-on): Add sys_ioctl.
9264         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
9265
9266 2010-09-16  Bruno Haible  <bruno@clisp.org>
9267
9268         login_tty: Stricter unit test.
9269         * modules/login_tty-tests (Depends-on): Add tcgetsid.
9270         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
9271         and tcgetsid() after login_tty.
9272         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
9273
9274 2010-09-16  Bruno Haible  <bruno@clisp.org>
9275
9276         New module 'tcgetsid'.
9277         * lib/tcgetsid.c: New file.
9278         * m4/tcgetsid.m4: New file.
9279         * modules/tcgetsid: New file.
9280         * modules/termios (Depends-on): Add c++defs, warn-on-use.
9281         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
9282         GNULIB_TCGETSID, HAVE_TCGETSID.
9283         * lib/termios.in.h: Include <sys/types.h>.
9284         (tcgetsid): New declaration.
9285         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
9286         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
9287         * doc/posix-functions/tcgetsid.texi: Mention the new module.
9288         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
9289
9290 2010-09-16  Bruno Haible  <bruno@clisp.org>
9291
9292         Tests for module 'termios'.
9293         * modules/termios-c++-tests: New file.
9294         * modules/termios-tests: New file.
9295         * tests/test-termios-c++.cc: New file.
9296         * tests/test-termios.c: New file.
9297
9298         New module 'termios'.
9299         * modules/termios: New file.
9300         * lib/termios.in.h: New file.
9301         * m4/termios_h.m4: New file.
9302         * doc/posix-headers/termios.texi: Mention the new module.
9303
9304 2010-09-16  Eric Blake  <eblake@redhat.com>
9305
9306         fdutimensat: add an atflag parameter
9307         * lib/fdutimensat.c (fdutimensat): Add new parameter.
9308         * lib/utimens.h (fdutimensat): Update prototype.
9309         * tests/test-fdutimensat.c: Adjust test to match.
9310         * NEWS: Document the change.
9311         Suggested by Paul Eggert.
9312
9313 2010-09-16  Bruno Haible  <bruno@clisp.org>
9314
9315         Fix typos in comments.
9316         * lib/striconveh.h: Fix typo in comment.
9317         * lib/login_tty.c (login_tty): Likewise.
9318
9319 2010-09-15  Bruno Haible  <bruno@clisp.org>
9320
9321         stdlib: clarify MirBSD WEXITSTATUS bug
9322         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
9323         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
9324
9325 2010-09-15  Eric Blake  <eblake@redhat.com>
9326
9327         stdlib: work around MirBSD WEXITSTATUS bug
9328         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
9329         * modules/stdlib (Depends-on): Add sys_wait.
9330         * tests/test-sys_wait.c (main): Enhance test.
9331         * tests/test-stdlib.c (main): Likewise.
9332         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
9333
9334         docs: mention MacOS issue with WEXITSTATUS(constant)
9335         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
9336         issue.
9337         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
9338
9339         strnlen: add tests
9340         * modules/strnlen-tests: New file.
9341         * tests/test-strnlen.c: Likewise.
9342
9343 2010-09-14  Bruno Haible  <bruno@clisp.org>
9344
9345         unistr/base: Avoid link errors when module 'libunistring' is also used.
9346         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
9347         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
9348         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
9349         Declare also when HAVE_LIBUNISTRING is set.
9350         Reported by Pádraig Brady <P@draigbrady.com>.
9351
9352 2010-09-14  Eric Blake  <eblake@redhat.com>
9353
9354         test-rawmemchr: make more robust
9355         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
9356         (Depends-on, configure.ac): Add needed prerequisites to use it.
9357         * modules/memchr-tests (Files, Depends-on, configure.ac):
9358         Likewise, to avoid implicit reliance on memchr module prereqs.
9359         * tests/test-memchr.c (main): Ensure proper masking.
9360         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
9361         reads.
9362
9363         memchr: detect glibc Alpha bug
9364         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
9365         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
9366         Alpha.
9367         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
9368         * tests/test-memchr.c (main): Enhance test.
9369         Reported by Nelson H. F. Beebe.
9370
9371 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
9372
9373         fts, getcwd, glob: audit for dirfd returning -1
9374         * lib/fts.c (opendir): Remove #define; no longer used.
9375         (opendirat): New arg PDIR_FD.  All callers changed.
9376         (fts_build, _opendir2): Use new opendirat to avoid the need for
9377         dirfd, or for checking whether dirfd returns a negative value.
9378         Don't use opendir; always use openat followed by fdopendir.
9379         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
9380         it.
9381         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
9382         returns -1 here.
9383         * modules/fts (Depends-on): Remove dirfd.
9384         * modules/getcwd (Depends-on): Likewise.
9385
9386 2010-09-13  Eric Blake  <eblake@redhat.com>
9387
9388         float: fix broken MirBSD header
9389         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
9390         * doc/posix-headers/float.texi (float.h): Document it.
9391
9392 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
9393
9394         fts: use O_NOFOLLOW to avoid race condition when opening a directory
9395         * lib/fts.c (opendirat): New arg extra_flags.
9396         (__opendir2): Use it to avoid following symlinks when opening
9397         a directory, if symlinks are not supposed to be followed.  See
9398         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
9399
9400         fdopendir: preserve argument fd before returning
9401         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
9402         (fdopendir_with_dup, fd_clone_opendir): New static functions.
9403         (fdopendir): Use them, arranging for FD to be open to the same
9404         directory that it was when it started.  (It might be temporarily
9405         closed while fdopendir is running, so this not thread- or
9406         signal-safe.)  Be careful to do the right thing even when file
9407         descriptors are scarce and dup fails with errno == EMFILE.  See
9408         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
9409
9410 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
9411
9412         regex: Pass the system regex if its only problem is 32-bit regoff_t.
9413         * NEWS: Document change.
9414         * m4/regex.m4: Disable test for regoff_t size.
9415
9416 2010-09-13  Jim Meyering  <meyering@redhat.com>
9417
9418         fts: don't operate on an invalid file descriptor after failed dup
9419         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
9420         negative file descriptor.
9421
9422 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
9423
9424         savedir: add streamsavedir, deprecate fdsavedir
9425         * NEWS: Mention deprecation of fdsavedir.
9426         * lib/savedir.c (streamsavedir): New extern function, whose name
9427         ends in "savedir" to be consistent with the others.  This differs
9428         from savedirstream in that it doesn't close its argument.  The
9429         next version of GNU tar will use this instead of fdsavedir, to
9430         avoid some race conditions and conserve file descriptors.
9431         (savedirstream): Reimplement as a wrapper around streamsavedir.
9432         (fdsavedir): Add a comment deprecating this function.  As far as
9433         I know, only GNU tar used it, and GNU tar doesn't need it any more.
9434         * lib/savedir.h (streamsavedir): New decl.
9435         (fdsavedir): Add a comment deprecating this.
9436
9437 2010-09-10  Bruno Haible  <bruno@clisp.org>
9438
9439         langinfo: Fix last commit.
9440         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
9441         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
9442         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9443
9444 2010-09-10  Bruno Haible  <bruno@clisp.org>
9445
9446         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
9447         * lib/progreloc.c (O_EXEC): Define fallback.
9448
9449 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
9450
9451         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
9452         * NEWS: Document recent changes to fcntl-h.
9453         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
9454         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
9455         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
9456         Similarly for O_SEARCH; this last was already true, but not documented.
9457         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
9458         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
9459         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
9460         Likewise.
9461         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
9462         is zero, not whether it is defined.
9463         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
9464         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
9465         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
9466
9467 2010-09-10  Bruno Haible  <bruno@clisp.org>
9468
9469         langinfo, nl_langinfo: Fix for IRIX 5.3.
9470         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
9471         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
9472         HAVE_LANGINFO_YESEXPR.
9473         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
9474         HAVE_LANGINFO_YESEXPR.
9475         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
9476         HAVE_LANGINFO_T_FMT_AMPM is 0.
9477         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
9478         HAVE_LANGINFO_YESEXPR is 0.
9479         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
9480         NOEXPR.
9481         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
9482         * doc/posix-functions/nl_langinfo.texi: Likewise.
9483         Reported by Eric Blake.
9484
9485 2010-09-10  Bruno Haible  <bruno@clisp.org>
9486
9487         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
9488         * doc/glibc-functions/login_tty.texi: Mention the include file problem
9489         on FreeBSD 8.0 and OpenBSD 4.6.
9490         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
9491         * m4/pty_h.m4 (gl_PTY_H): Likewise.
9492         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
9493         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
9494         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
9495         ac_includes_default.
9496         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
9497
9498 2010-09-09  Eric Blake  <eblake@redhat.com>
9499
9500         strsignal: work around NetBSD bug
9501         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
9502         * lib/string.in.h (includes): Likewise.
9503         * doc/posix-functions/strsignal.texi (strsignal): Document the
9504         bug.
9505         Reported by Nelson H. F. Beebe.
9506
9507         gnulib-tool: work with NetBSD /bin/sh
9508         * gnulib-tool (func_cache_var, func_cache_lookup_module)
9509         (func_get_description, func_get_comment, func_get_status)
9510         (func_get_notice, func_get_applicability, func_get_filelist)
9511         (func_get_dependencies, func_get_autoconf_early_snippet)
9512         (func_get_autoconf_snippet, func_get_automake_snippet)
9513         (func_get_include_directive, func_get_link_directive)
9514         (func_get_license, func_get_maintainer, func_import): Avoid
9515         shell syntax errors from parsing syntax extensions.
9516
9517 2010-09-09  Bruno Haible  <bruno@clisp.org>
9518
9519         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
9520         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
9521         a reliable way to determine whether the 'alias' command works.
9522
9523 2010-09-08  Jim Meyering  <meyering@redhat.com>
9524
9525         init.sh: penalize a set-x-impaired shell; don't disqualify it
9526         * tests/init.sh: Too many shells corrupt application stderr when
9527         you set -x, so we can't afford to disqualify them, since at least
9528         on Irix-6.5, that would disqualify all bourne shells.
9529         Instead, use a two-pass approach.
9530         On the first pass, try to find a shell that meets the stricter
9531         condition that set -x does not corrupt stderr.
9532         If no shell meets the stricter condition, retest each candidate
9533         shell, but without that extra condition.  Finally, when
9534         VERBOSE=yes is requested and set -x might cause trouble, simply
9535         issue a warning and refrain from enabling debug output.
9536
9537 2010-09-08  Eric Blake  <eblake@redhat.com>
9538
9539         unsetenv: fix OpenBSD bug
9540         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
9541         * doc/posix-functions/unsetenv.texi (unsetenv): Update
9542         documentation.
9543         Reported by Jim Meyering.
9544
9545         strtod: work around IRIX 6.5 bug
9546         * lib/strtod.c (strtod): Reparse number on shorter string if
9547         exponent parse was invalid.
9548         * tests/test-strtod.c (main): Add check for "0x1p 2".
9549         Reported by Tom G. Christensen.
9550
9551         getopt: optimize previous patch
9552         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
9553         empty variable.  Speed up awk script.
9554         Reported by Paolo Bonzini.
9555
9556 2010-09-08  Jim Meyering  <meyering@redhat.com>
9557
9558         test.sh: disqualify shells for which set -x corrupts stderr
9559         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
9560         and OpenBSD 4.7.  They make it so with "set -x", environment settings
9561         appear in stderr output.  For example, this command:
9562             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
9563         prints "P=1" on those two systems:
9564
9565 2010-09-08  Bruno Haible  <bruno@clisp.org>
9566
9567         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
9568         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
9569         commands, because some shells ignore redirections when there is an
9570         error in the command lookup.
9571         Reported by Eric Blake.
9572
9573 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
9574
9575         * lib/regex.h: Fix a mention of `regex_compile' (should be
9576         `re_compile_pattern').
9577         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
9578         (re_set_registers): Correct name of parameter in comment.
9579
9580         * doc/regex.texi: Add documentation for missing syntax flags.
9581         Remove commented-out documentation of defunct syntax option
9582         RE_NO_EMPTY_ALTS.
9583         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
9584         Add documentation of re_set_registers.
9585         Document trick to re-use a pattern buffer by setting fastmap manually.
9586         Update documentation of struct re_pattern_buffer per public members.
9587         Uncomment documentation of equivalence class operators and
9588         collating symbol operators, since they are now implemented,
9589         Explain leftmost-longest matching in relation to alternatives.
9590         Tidy documentation of substring matching.
9591         Remove POSIX documentation, which is done better in
9592         glibc, and refer the reader there. Keep BSD API documentation, as
9593         that is not readily available elsewhere.
9594
9595 2010-09-07  Eric Blake  <eblake@redhat.com>
9596
9597         getopt: handle POSIXLY_CORRECT set but not exported
9598         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
9599         export state of POSIXLY_CORRECT, due to bash set -o posix.
9600         Reported by Dustin J. Mitchell.
9601
9602 2010-09-05  Bruno Haible  <bruno@clisp.org>
9603
9604         gnulib-tool: Highlight the changed options.
9605         * gnulib-tool (func_usage): Display the --import, --add-import,
9606         --remove-import explanations in bold font.
9607
9608 2010-09-06  Karl Berry  <karl@gnu.org>
9609
9610         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
9611
9612 2010-09-05  Bruno Haible  <bruno@clisp.org>
9613
9614         uniwidth/width: Update comment.
9615         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
9616         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
9617
9618 2010-09-05  Bruno Haible  <bruno@clisp.org>
9619
9620         isinf, isnan: Relax license.
9621         * modules/isinf (License): Change from GPL to LGPL, with consent from
9622         Ben Pfaff.
9623         * modules/isnan (License): Likewise.
9624         Requested by Ludovic Courtès.
9625
9626 2010-09-04  Bruno Haible  <bruno@clisp.org>
9627
9628         gnulib-tool: Help migration from --import to --add-import or --update.
9629         * gnulib-tool: Emit a verbose error message when --import is used
9630         without any module name.
9631
9632 2010-09-04  Bruno Haible  <bruno@clisp.org>
9633
9634         Update doc about gnulib-tool.
9635         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
9636         'gnulib-tool --update' in more detail.
9637         Reported by Eric Blake.
9638
9639 2010-09-04  Bruno Haible  <bruno@clisp.org>
9640
9641         gnulib-tool: Change --import. New options --add/remove-import.
9642         * gnulib-tool: New options --add-import, --remove-import.
9643         (func_usage): Document them.
9644         (have_associative): Define always.
9645         (func_import): In import mode, don't merge the specified settings with
9646         the cached settings. Implement remove-import mode.
9647         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
9648         Explain when to use them versus --import.
9649         (Simple update): Use --add-import instead of --import.
9650         * NEWS: Mention the change.
9651
9652 2010-09-04  Bruno Haible  <bruno@clisp.org>
9653
9654         * doc/gnulib-tool.texi (Initial import): Update paragraph about
9655         separate gnulib.mk.
9656
9657 2010-09-04  Bruno Haible  <bruno@clisp.org>
9658
9659         gnulib-tool: Don't talk about CVS any more.
9660         * gnulib-tool (func_usage, func_import): Write "version control"
9661         instead of CVS.
9662
9663 2010-09-04  Jim Meyering  <meyering@redhat.com>
9664
9665         maint.mk: avoid obscure sc_copyright_check failure in coreutils
9666         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
9667         false positives (whose names may be ill-chosen) when searching
9668         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
9669         would cause a false-positive.
9670
9671         avoid coreutils "make distcheck" failure
9672         Coreutils tests with an absolute build directory name that contains
9673         a space.  Not quoting this directory name caused a failure.
9674         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
9675         * tests/test-vc-list-files-cvs.sh: Likewise.
9676
9677 2010-09-04  Bruno Haible  <bruno@clisp.org>
9678
9679         gnulib-tool: Avoid error when run in a package without Makefile.am.
9680         * gnulib-tool: When collecting the m4dirs in a package that does not
9681         have a Makefile.am, eliminate those directories that contain no
9682         gnulib-cache.m4. Fix expression that counts these directories.
9683
9684 2010-09-04  Bruno Haible  <bruno@clisp.org>
9685
9686         update-copyright test: Improve output when perl is missing or too old.
9687         * tests/test-update-copyright.sh: Move test of Perl version down after
9688         the test whether Perl exists. Provide an explanation relating Perl's
9689         error message to Automake's SKIP: message.
9690
9691 2010-09-04  Bruno Haible  <bruno@clisp.org>
9692
9693         Don't augment PATH in TESTS_ENVIRONMENT.
9694         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
9695         set abs_aux_dir instead of augmenting PATH.
9696         * modules/vc-list-files-tests (Makefile.am): Likewise.
9697         * tests/test-update-copyright.sh: Augment PATH here.
9698         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
9699         path_prepend_.
9700         * tests/test-vc-list-files-git.sh: Likewise.
9701
9702 2010-09-04  Jim Meyering  <meyering@redhat.com>
9703
9704         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
9705         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
9706
9707 2010-09-04  Bruno Haible  <bruno@clisp.org>
9708
9709         strdup: Fix compilation error in C++ mode.
9710         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
9711         the macro.
9712
9713 2010-09-04  Bruno Haible  <bruno@clisp.org>
9714
9715         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
9716         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
9717         macro into a function.
9718         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
9719
9720 2010-09-04  Bruno Haible  <bruno@clisp.org>
9721
9722         Set PATH_SEPARATOR the same way autoconf does.
9723         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
9724         the value of PATH_SEPARATOR the same way autoconf-generated configure
9725         scripts do.
9726         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
9727         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
9728
9729 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
9730
9731         Set PATH_SEPARATOR the same way autoconf does.
9732         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
9733         the same way autoconf-generated configure scripts do.
9734         * posix-modules: Likewise.
9735
9736 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
9737
9738         hash: fix safe_hasher const typo
9739         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
9740         const; otherwise, there is a type error later.
9741
9742 2010-09-02  Jim Meyering  <meyering@redhat.com>
9743
9744         test-update-copyright.sh: require perl 5.8.0
9745         * tests/test-update-copyright.sh: Require 5.8.0,
9746         which Tom G. Christensen has confirmed is adequate,
9747         while 5.6.1 is not.
9748
9749 2010-09-02  Eric Blake  <eblake@redhat.com>
9750
9751         tests: init.sh improvements for re-exec'ing with zsh
9752         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
9753         -vx through shell re-exec.
9754         Reported by Tom G. Christensen.
9755
9756         wctype: fix typo in previous commit
9757         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
9758         Reported by Ludovic Courtès.
9759
9760 2010-09-02  Jim Meyering  <meyering@redhat.com>
9761
9762         test-update-copyright.sh: skip test if Perl is too old
9763         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
9764         Reported by Tom G. Christensen.
9765
9766 2010-09-02  Bruno Haible  <bruno@clisp.org>
9767
9768         wctype: Avoid compilation error on IRIX 6.5.30.
9769         * lib/wctype.in.h (iswblank): Declare with a replacement if
9770         REPLACE_ISWBLANK is set.
9771         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
9772         declared. Set REPLACE_ISWBLANK.
9773         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
9774         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
9775         * doc/posix-headers/wctype.texi: Likewise.
9776         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9777
9778 2010-09-01  Bruno Haible  <bruno@clisp.org>
9779
9780         New module 'socketlib'.
9781         * modules/socketlib: New file.
9782         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
9783         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
9784         * modules/sockets (Depends-on): Add socketlib.
9785         Suggested by Sam Steingold <sds@gnu.org>.
9786
9787 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
9788
9789         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
9790
9791         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
9792         when one needs search access to a directory but not read access.
9793         On systems where it is available, it works in some cases where
9794         O_RDONLY does not, namely on directories that are searchable but
9795         not readable, and which need only to be searchable.  If O_SEARCH
9796         is not available, fall back to the traditional method of using
9797         O_RDONLY.
9798
9799         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
9800         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
9801         when opening a directory that needs only to be searchable.
9802         * lib/chdir-safer.c (chdir_no_follow): Likewise.
9803         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
9804         * lib/openat-proc.c (openat_proc_name): Likewise.
9805         * lib/openat.c (openat_needs_fchdir): Likewise.
9806         * lib/save-cwd.c (save_cwd): Likewise.
9807         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
9808
9809 2010-08-28  Bruno Haible  <bruno@clisp.org>
9810
9811         New module 'host-cpu-c-abi'.
9812         * modules/host-cpu-c-abi: New file.
9813         * m4/host-cpu-c-abi.m4: New file, based on part of
9814         clisp/src/m4/general.m4.
9815         Requested by Sam Steingold <sds@gnu.org>.
9816
9817 2010-08-31  Eric Blake  <eblake@redhat.com>
9818         and Jim Meyering  <meyering@redhat.com>
9819
9820         hash: factor, and guard against misbehaving hasher function
9821         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
9822         of table->hasher's return value.  Also protect against a hash value
9823         so large that adding it to table->bucket results in a NULL pointer.
9824         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
9825         Use it in place of open-coded check-and-abort.
9826
9827 2010-08-30  Bruno Haible  <bruno@clisp.org>
9828
9829         hash: silence spurious clang warning
9830         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
9831         Reported by Eric Blake.
9832
9833 2010-08-30  Eric Blake  <eblake@redhat.com>
9834
9835         strstr, memmem, strcasestr: avoid leaked shell message
9836         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
9837         FreeBSD.
9838         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
9839         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
9840
9841         tests: silence clang warning
9842         * tests/test-malloca.c (do_allocation): Avoid dead store.
9843
9844 2010-08-29  Bruno Haible  <bruno@clisp.org>
9845
9846         gettext: Fix recent mistake.
9847         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
9848
9849 2010-08-29  Bruno Haible  <bruno@clisp.org>
9850
9851         selinux-h: Offer a --without-selinux option.
9852         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
9853         --without-selinux was specified, skip all tests and define
9854         HAVE_SELINUX_SELINUX_H to 0.
9855         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
9856         set LIB_SELINUX to empty.
9857         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
9858         gl_LIBSELINUX. If --without-selinux was specified, replace
9859         selinux/context.h.
9860         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
9861
9862 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9863             Bruno Haible  <bruno@clisp.org>
9864
9865         Make the module 'realloc-gnu' work again on AIX and OSF/1.
9866         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
9867         of HAVE_REALLOC.
9868         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
9869         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
9870         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
9871         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
9872
9873 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9874             Bruno Haible  <bruno@clisp.org>
9875
9876         Make the module 'calloc-gnu' work again on AIX and OSF/1.
9877         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
9878         HAVE_CALLOC.
9879         * lib/xmalloc.c: Update accordingly.
9880         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
9881         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
9882         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
9883
9884 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9885             Bruno Haible  <bruno@clisp.org>
9886
9887         Make the module 'malloc-gnu' work again on AIX and OSF/1.
9888         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
9889         HAVE_MALLOC.
9890         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
9891         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
9892         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
9893
9894 2010-08-29  Bruno Haible  <bruno@clisp.org>
9895
9896         Update modules list.
9897         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
9898         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
9899         (String handling <string.h>): Add astrxfrm.
9900         (File system functions): Add readlinkat.
9901
9902 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9903
9904         Tests for module 'realloc-gnu'.
9905         * modules/realloc-gnu-tests: New file.
9906         * tests/test-realloc-gnu.c: New file.
9907
9908         Tests for module 'calloc-gnu'.
9909         * modules/calloc-gnu-tests: New file.
9910         * tests/test-calloc-gnu.c: New file.
9911
9912         Tests for module 'malloc-gnu'.
9913         * modules/malloc-gnu-tests: New file.
9914         * tests/test-malloc-gnu.c: New file.
9915
9916 2010-08-28  Bruno Haible  <bruno@clisp.org>
9917
9918         Rename module 'realloc' -> 'realloc-gnu'.
9919         * modules/realloc-gnu: New file, copied from modules/realloc.
9920         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
9921         obsolete.
9922         * modules/mgetgroups (Depends-on): Update.
9923         * doc/posix-functions/realloc.texi: Update.
9924         * NEWS: Mention the change.
9925
9926         Rename module 'calloc' -> 'calloc-gnu'.
9927         * modules/calloc-gnu: New file, copied from modules/calloc.
9928         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
9929         obsolete.
9930         * doc/posix-functions/calloc.texi: Update.
9931         * NEWS: Mention the change.
9932
9933         Rename module 'malloc' -> 'malloc-gnu'.
9934         * modules/malloc-gnu: New file, copied from modules/malloc.
9935         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
9936         obsolete.
9937         * modules/argp (Depends-on): Update.
9938         * modules/regex (Depends-on): Update.
9939         * doc/posix-functions/malloc.texi: Update.
9940         * NEWS: Mention the change.
9941
9942 2010-08-28  Eric Blake  <eblake@redhat.com>
9943
9944         pread, pwrite: add missing dependency
9945         * modules/pread (Depends-on): Add extensions.
9946         * modules/pwrite (Depends-on): Likewise.
9947
9948 2010-08-28  Bruno Haible  <bruno@clisp.org>
9949
9950         unistr/u*-strchr: Fix tests dependencies.
9951         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
9952         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
9953         Reported by Ian Beckwith <ianb@erislabs.net>.
9954
9955 2010-08-28  Bruno Haible  <bruno@clisp.org>
9956
9957         read-file: Don't occupy too much unused memory.
9958         * lib/read-file.c (fread_file): Shrink the buffer at the end.
9959
9960 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
9961             Eric Blake  <eblake@redhat.com>
9962             Bruno Haible  <bruno@clisp.org>
9963
9964         read-file: Avoid memory reallocations with regular files.
9965         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
9966         (fread_file): With regular files, use the remaining length as the
9967         initial buffer size.  Check against overflow.
9968         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
9969         sys_stat.
9970
9971 2010-08-28  Bruno Haible  <bruno@clisp.org>
9972
9973         ftello: Relax license.
9974         * modules/ftello (License): Relax to LGPLv2+.
9975         Reported by Eric Blake.
9976
9977 2010-08-28  Bruno Haible  <bruno@clisp.org>
9978
9979         Avoid relocwrapper link errors due to gnulib replacement functions.
9980         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
9981         function.
9982         Reported by Ben Pfaff <blp@cs.stanford.edu>.
9983
9984 2010-08-28  Bruno Haible  <bruno@clisp.org>
9985
9986         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
9987         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
9988         defined.
9989         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
9990         Suggested by Eric Blake.
9991
9992 2010-08-28  Bruno Haible  <bruno@clisp.org>
9993
9994         sys_socket, netdb: Ensure socklen_t gets defined.
9995         * modules/sys_socket (Depends-on): Add socklen.
9996         * modules/netdb (Depends-on): Likewise.
9997         * modules/getaddrinfo (Depends-on): Remove socklen.
9998         * modules/getsockopt (Depends-on): Likewise.
9999         * modules/setsockopt (Depends-on): Likewise.
10000         * tests/test-sys_socket.c: Check that socklen_t is defined.
10001         * tests/test-netdb.c: Likewise.
10002         * m4/socklen.m4: Update comments.
10003         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
10004
10005 2010-08-27  Eric Blake  <eblake@redhat.com>
10006
10007         login_tty: add missing dependency
10008         * modules/login_tty (Depends-on): Add pty.
10009
10010 2010-08-26  Eric Blake  <eblake@redhat.com>
10011
10012         lib-symbol-versions: fix m4 quoting
10013         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
10014         format for AC_LINK_IFELSE.
10015
10016         glob: fix compile test
10017         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
10018
10019         btowc: fix missing file
10020         * modules/btowc (Files): Also ship locale-fr.m4.
10021
10022         lseek: fix link test
10023         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
10024         AC_LINK_IFELSE.
10025
10026         include_next: silence autoconf 2.68 warning
10027         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
10028         AC_COMPILE_IFELSE as special.
10029         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
10030         autoconf < 2.68.
10031
10032         acl: fix compilation test
10033         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
10034         AC_COMPILE_IFELSE.
10035
10036 2010-08-26  Bruno Haible  <bruno@clisp.org>
10037
10038         Modernize AC_TRY_RUN invocations.
10039         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
10040         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
10041         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
10042         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
10043         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
10044         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
10045         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
10046         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
10047         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
10048         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
10049         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
10050         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
10051         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
10052         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
10053         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
10054         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
10055         gl_MBRLEN_NUL_RETVAL): Likewise.
10056         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
10057         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
10058         Likewise.
10059         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
10060         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
10061         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
10062         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
10063         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
10064         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
10065         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
10066         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
10067         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
10068         Likewise.
10069         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
10070         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
10071         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
10072         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
10073         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
10074         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
10075         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
10076         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
10077         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
10078         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
10079
10080 2010-08-26  Bruno Haible  <bruno@clisp.org>
10081
10082         Modernize AC_TRY_LINK invocations.
10083         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
10084         AC_TRY_LINK.
10085         * m4/argp.m4 (gl_ARGP): Likewise.
10086         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
10087         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
10088         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
10089         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
10090         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
10091         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
10092         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
10093         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
10094         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
10095         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
10096         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
10097         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
10098         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
10099         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
10100         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
10101         * m4/hostent.m4 (gl_HOSTENT): Likewise.
10102         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
10103         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
10104         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
10105         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
10106         Likewise.
10107         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
10108         Likewise.
10109         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
10110         Likewise.
10111         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
10112         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
10113         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
10114         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
10115         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
10116         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
10117         * m4/servent.m4 (gl_SERVENT): Likewise.
10118         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
10119         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
10120         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
10121         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
10122         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
10123         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
10124         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
10125         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
10126         * modules/tsearch-tests (configure.ac): Likewise.
10127
10128 2010-08-26  Bruno Haible  <bruno@clisp.org>
10129
10130         Modernize AC_TRY_COMPILE invocations.
10131         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
10132         AC_TRY_COMPILE.
10133         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
10134         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
10135         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
10136         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
10137         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
10138         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
10139         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
10140         * m4/lock.m4 (gl_LOCK): Likewise.
10141         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
10142         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
10143         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
10144         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
10145         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
10146         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
10147         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
10148         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
10149         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
10150         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
10151         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
10152         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
10153         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
10154         extraneous semicolon.
10155
10156 2010-08-26  Jim Meyering  <meyering@redhat.com>
10157
10158         stat-time: relax license LGPL
10159         * modules/stat-time (License): Change from GPL to LGPL,
10160         with consent from all contributors, for use in libguile.
10161         Requested by Ludovic Courtès.
10162
10163 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
10164
10165         poll: return immediately on POLLHUP.
10166         * lib/poll.c (poll): Always set timeout before wait_timeout is
10167         computed.
10168
10169 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10170
10171         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
10172         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
10173         rmdir ("dir/.//"), unlinkat.
10174
10175 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
10176
10177         stdbool: avoid spurious failure with modern xlc
10178         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
10179
10180 2010-08-24  Bruno Haible  <bruno@clisp.org>
10181
10182         getloadavg: simplify code
10183         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
10184         gl_have_func. Update comments.
10185
10186 2010-08-24  Eric Blake  <eblake@redhat.com>
10187
10188         getloadavg: don't define SVR4 on cygwin
10189         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
10190         only define SVR4 when -lkvm is required.
10191         Reported by Yaakov Selkowitz.
10192
10193 2010-08-24  Bruno Haible  <bruno@clisp.org>
10194
10195         priv-set: fix comment
10196         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
10197
10198 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
10199
10200         priv-set: fix comments
10201         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
10202         to match code, as suggested by David Bartley in:
10203         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
10204
10205 2010-08-23  Eric Blake  <eblake@redhat.com>
10206
10207         stdbool: avoid rejecting clang
10208         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
10209         * tests/test-stdbool.c: Enable more tests if using the system
10210         <stdbool.h> instead of the gnulib replacement.
10211         (main): Move xlc bug test to a runtime test for all compilers.
10212         Reported by Anders Kaseorg.
10213
10214         argz: fix shell quoting issue
10215         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
10216         Reported by Charles Wilson.
10217
10218 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
10219             Erik Faye-Lund <kusmabite@gmail.com>
10220
10221         poll, select: handle ERROR_BROKEN_PIPE.
10222         * lib/poll.c (win32_compute_revents): Return POLLHUP when
10223         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
10224         * lib/select.c (win32_compute_revents): Do not mark a pipe
10225         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
10226
10227 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
10228
10229         fts: allow compilation with C++
10230         * lib/fts_.h: Specify extern "C" linkage with C++.
10231
10232 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10233
10234         Fix gnulib-tool sed script de-commentation for AIX sed.
10235         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
10236         sed.
10237
10238 2010-08-17  Eric Blake  <eblake@redhat.com>
10239
10240         test-stddef: test for (some) offsetof bugs
10241         * tests/test-stddef.c: Enhance test to ensure correct type of
10242         offsetof.
10243         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
10244         that we are not fixing at this time.
10245
10246 2010-08-15  Bruno Haible  <bruno@clisp.org>
10247
10248         stpncpy: Allow stpncpy to be defined as a macro.
10249         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
10250         if it's already correctly declared.
10251         * lib/string.in.h (stpncpy): Undefine before redefining.
10252         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
10253
10254 2010-08-14  Bruno Haible  <bruno@clisp.org>
10255
10256         Rename module 'memxfrm' to 'amemxfrm'.
10257         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
10258         (amemxfrm): Renamed from memxfrm.
10259         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
10260         (amemxfrm): Renamed from memxfrm.
10261         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
10262         * NEWS: Mention the change.
10263         * MODULES.html.sh (String handling <string.h>): Update.
10264         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
10265         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
10266         * lib/unicase/u16-casexfrm.c: Likewise.
10267         * lib/unicase/u32-casexfrm.c: Likewise.
10268         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
10269         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
10270         * lib/uninorm/u16-normxfrm.c: Likewise.
10271         * lib/uninorm/u32-normxfrm.c: Likewise.
10272         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
10273         memxfrm.
10274         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
10275         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
10276         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
10277         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
10278         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
10279         Suggested by Paul Eggert.
10280
10281 2010-08-14  Bruno Haible  <bruno@clisp.org>
10282
10283         Tests for module 'astrxfrm'.
10284         * modules/astrxfrm-tests: New file.
10285         * tests/test-astrxfrm.c: New file.
10286
10287         New module 'astrxfrm'.
10288         * lib/astrxfrm.h: New file.
10289         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
10290         * modules/astrxfrm: New file.
10291
10292 2010-08-14  Reuben Thomas <rrt@sc3d.org>
10293
10294         regex: Tweak doc.
10295         * doc/regex.texi (Overview): Don't mention regex.c.
10296         (GNU Regular Expression Compiling): Likewise.
10297         (Match-end-of-line Operator): Mention 'not_eol'.
10298
10299 2010-08-14  Brian Gough  <bjg@gnu.org>
10300             Bruno Haible  <bruno@clisp.org>
10301
10302         git-merge-changelog: add doc relating to use with bzr and hg.
10303         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
10304
10305 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
10306
10307         pthread: fix pthread.h creation for srcdir != builddir
10308         * modules/pthread (Makefile.am): Fix the rule to work also in a
10309         non-srcdir build.
10310
10311 2010-08-13  Karl Berry  <karl@gnu.org>
10312
10313         * doc/regex.texi (Predefined Syntaxes): @smallexample.
10314         * doc/posix-*/*: force line break before @url of POSIX
10315         specifications.
10316         Suggested by Werner Lemberg.
10317
10318 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
10319
10320         strtod: fix const diagnostic
10321         * lib/strtod.c (strtod): Don't assign const char * to char *,
10322         as this elicits a warning from GCC when warnings are enabled.
10323
10324 2010-08-10  Pádraig Brady <P@draigbrady.com>
10325         and Eric Blake  <eblake@redhat.com>
10326
10327         copy-acl: ignore ENOTSUP on HP-UX
10328         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
10329         so that it is available for HP-UX.
10330         * lib/copy-acl.c (qcopy_acl): Use it.
10331         Reported by Patrick M. Callahan.
10332
10333 2010-08-10  Eric Blake  <eblake@redhat.com>
10334
10335         open, chown: relax license
10336         * modules/open (License): Change to LGPLv2+, with consent by all
10337         authors, for use in augeas.
10338         * modules/chown (License): Likewise.
10339         * modules/lchown (Likewise): Likewise.
10340         Requested by Adam Stokes.
10341
10342 2010-08-09  Karl Berry  <karl@gnu.org>
10343
10344         * build-aux/ar-lib: new file, import from Automake.
10345         * config/srclist.txt: autocheck for updates.
10346
10347 2010-08-09  Eric Blake  <eblake@redhat.com>
10348
10349         readlinkat: adjust client modules
10350         * modules/areadlinkat (Depends-on): Use readlinkat, not
10351         symlinkat.
10352         * modules/areadlinkat-with-size (Depends-on): Likewise.
10353
10354         mknod: be more vocal about danger of running tests as root
10355         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
10356         root, since that is just asking for problems.
10357         Suggested by Bruno Haible, based on a report by Rainer Tammer.
10358
10359         readlinkat: split into its own module
10360         * modules/symlinkat: Split readlinkat...
10361         * modules/readlinkat: ...into separate module.
10362         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
10363         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
10364         * lib/symlinkat.c (readlinkat): Move...
10365         * lib/readlinkat.c: ...into new file.
10366         * modules/symlinkat-tests: Split readlinkat test...
10367         * modules/readlinkat-tests: ...into separate module.
10368         * tests/test-symlinkat.c: Split...
10369         * tests/test-readlinkat.c: ...into new file.
10370         * NEWS: Document the split.
10371         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
10372         * lib/unistd.in.h (readlinkat): Likewise.
10373         Suggested by Bruno Haible.
10374
10375 2010-08-08  Bruno Haible  <bruno@clisp.org>
10376
10377         memxfrm: Speed up.
10378         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
10379         that usually only one call to strxfrm is necessary for each string
10380         part.
10381         Reported by Paul Eggert <eggert@cs.ucla.edu>.
10382
10383 2010-08-07  Karl Berry  <karl@gnu.org>
10384
10385         * doc/posix-headers/limits.texi,
10386         * doc/posix-functions/malloc.texi,
10387         * doc/posix-functions/strsignal.texi: missing @item.
10388         * doc/ld-version-script.texi: spurious leading i.
10389         * doc/regex.texi (Interval Operators): no commas inside @var.
10390
10391 2010-08-01  Bruno Haible  <bruno@clisp.org>
10392
10393         Integrate the regex documentation.
10394         * doc/gnulib.texi: Define 'cn' index.
10395         (Regular expressions): New a chapter that includes regex.texi and
10396         regexprops-generic.texi.
10397         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
10398         syntax.
10399
10400         Whitespace cleanup.
10401         * doc/regex.texi: Remove trailing spaces.
10402
10403         Add regex documentation.
10404         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
10405         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
10406         Written by Kathy A. Hargreaves and Karl Berry.
10407
10408 2010-08-01  Bruno Haible  <bruno@clisp.org>
10409
10410         link: Update documentation.
10411         * doc/posix-functions/link.texi: Update regarding Solaris.
10412
10413 2010-07-31  Bruno Haible  <bruno@clisp.org>
10414
10415         Update modules list.
10416         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
10417         (String handling <string.h>): Add memcmp2, memxfrm.
10418         (Container data structures): Add xlist, xsublist, xoset.
10419         (Core language properties): Add alignof, unused-parameter.
10420         (Process control, Numeric conversion functions <stdlib.h>): Renamed
10421         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
10422         (Unibyte characters <ctype.h>): New section.
10423         (String handling <string.h>): New section.
10424         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
10425         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
10426         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
10427         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
10428         tan, tanh, tanl, y0, y1, yn.
10429         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
10430         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
10431         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
10432         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
10433         unlockpt, vdprintf, vdprintf-posix.
10434         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
10435         (File system functions): Add concat-filename, sys_file, sys_ioctl,
10436         xconcat-filename.
10437         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
10438         getdtablesize, pipe2, pipe2-safer.
10439         (Security): New section.
10440         (Networking functions): Add accept4.
10441         (Signal handling): Add sigpipe.
10442         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
10443         mbmemcasecoll.
10444         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
10445         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
10446         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
10447         pipe-filter-ii.
10448         (Misc): Add argp-version-etc, login_tty, parse-duration.
10449
10450 2010-07-31  Bruno Haible  <bruno@clisp.org>
10451
10452         Improve doc in MODULES.html.
10453         * modules/linkat (Description): Add the word "function".
10454         * modules/mkfifo (Description): Likewise.
10455         * modules/mknod (Description): Likewise.
10456         * modules/remove (Description): Likewise.
10457         * modules/renameat (Description): Likewise.
10458         * modules/stat (Description): Likewise.
10459         * modules/symlink (Description): Likewise.
10460         * modules/unlink (Description): Likewise.
10461
10462 2010-07-31  Bruno Haible  <bruno@clisp.org>
10463
10464         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
10465         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
10466         option --enable/disable-c++ instead of --enable/disable-cxx.
10467         * NEWS: Mention the change.
10468
10469 2010-07-31  Bruno Haible  <bruno@clisp.org>
10470
10471         readlink, areadlink: Relax test a bit.
10472         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
10473         alternative to ENOTDIR.
10474         * tests/test-areadlink.h (test_areadlink): Likewise.
10475         Reported by Rainer Tammer.
10476
10477 2010-07-31  Bruno Haible  <bruno@clisp.org>
10478
10479         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
10480         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
10481         character, perform the search using U_STRCHR.
10482         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
10483         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
10484         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
10485         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
10486         Suggested by Paolo Bonzini.
10487
10488 2010-07-31  Bruno Haible  <bruno@clisp.org>
10489
10490         unistr/u*-strstr: Fix dependencies.
10491         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
10492         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
10493         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
10494
10495 2010-07-31  Bruno Haible  <bruno@clisp.org>
10496
10497         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
10498         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
10499         the beginning of the loop.
10500         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
10501         cases in 'switch' statement.
10502
10503         unistr/u8-strchr: Fix several bugs.
10504         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
10505         the string. When not found, return NULL, not a pointer near the end.
10506
10507         More tests for unistr/u8-strchr.
10508         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
10509         that the function does not read past the first occurrence of the byte
10510         being searched.
10511         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
10512         * tests/unistr/test-u16-strchr.c (main): New function.
10513         * tests/unistr/test-u32-strchr.c (main): New function.
10514
10515 2010-07-31  Bruno Haible  <bruno@clisp.org>
10516
10517         posix-modules: Ignore backup files of documentation files.
10518         * posix-modules: grep only through files named *.texi.
10519
10520 2010-07-31  Bruno Haible  <bruno@clisp.org>
10521
10522         symlinkat: Fix documentation.
10523         * doc/posix-functions/readlinkat.texi: Fix module name.
10524
10525 2010-07-31  Bruno Haible  <bruno@clisp.org>
10526
10527         fchownat: Replace also when chown has the trailing slash bug.
10528         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
10529         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
10530         introduced on 2010-04-10.
10531         Reported by Rainer Tammer.
10532
10533 2010-07-31  Bruno Haible  <bruno@clisp.org>
10534
10535         linkat: Work around AIX 7.1 bug.
10536         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
10537         whether linkat handles trailing slash correctly. If not, replace linkat
10538         and define LINKAT_TRAILING_SLASH_BUG.
10539         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
10540         check whether (fd1,file1) points to a directory if file1 or file2 ends
10541         in a slash. Code taken from lib/link.c.
10542         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
10543         Reported by Rainer Tammer.
10544
10545 2010-07-31  Bruno Haible  <bruno@clisp.org>
10546
10547         Correctly determine whether pow is available in libc on AIX 7 with xlc.
10548         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
10549         This disables an xlc optimization that was causing wrong test results.
10550         Reported by Rainer Tammer.
10551
10552 2010-07-31  Bruno Haible  <bruno@clisp.org>
10553
10554         iconv: Work around AIX 6.1..7.1 bug.
10555         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
10556         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
10557         cross-compiling, guess no on all versions of AIX.
10558         Reported by Rainer Tammer.
10559
10560 2010-07-31  Bruno Haible  <bruno@clisp.org>
10561
10562         readlink: Relax test a bit.
10563         * tests/test-readlink.h (test_readlink): Allow different errno value
10564         when readlink is called with a file name that ends in / and refers to
10565         a file.
10566         Suggested by Eric Blake.
10567         Reported by Rainer Tammer.
10568
10569 2010-07-31  Bruno Haible  <bruno@clisp.org>
10570
10571         copysign: Does not require -lm on glibc systems.
10572         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
10573         gl_COMMON_DOUBLE_MATHFUNC.
10574         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
10575
10576 2010-07-31  Bruno Haible  <bruno@clisp.org>
10577
10578         duplocale: Work around AIX 7.1 bug.
10579         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
10580         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
10581         * lib/duplocale.c (rpl_duplocale): Update comment.
10582         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
10583         Reported by Rainer Tammer.
10584
10585 2010-07-30  Bruno Haible  <bruno@clisp.org>
10586
10587         dirfd: Avoid link error on AIX 7.1.
10588         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
10589         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
10590         exist, set REPLACE_DIRFD.
10591         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
10592         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
10593         * doc/posix-functions/dirfd.texi: Update.
10594         Reported by Rainer Tammer.
10595
10596 2010-07-30  Eric Blake  <eblake@redhat.com>
10597
10598         strtod: next round of AIX fixes
10599         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
10600         exponent.
10601         * tests/test-strtod.c (main): Enhance tests.
10602         * doc/posix-functions/strtod.texi (strtod): Document next bug.
10603         Reported by Rainer Tammer.
10604
10605         futimens: fix configure check
10606         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
10607         Reported by Bruno Haible.
10608
10609 2010-07-30  Bruno Haible  <bruno@clisp.org>
10610
10611         getline: Update regarding AIX.
10612         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
10613         Reported by Rainer Tammer.
10614
10615 2010-07-30  Bruno Haible  <bruno@clisp.org>
10616
10617         wcwidth: Drop replacement on AIX 7.
10618         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
10619         AIX 7.
10620         Reported by Rainer Tammer.
10621
10622 2010-07-30  Bruno Haible  <bruno@clisp.org>
10623
10624         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
10625         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
10626         a 'char *'.
10627         Reported by Rainer Tammer.
10628
10629 2010-07-30  Bruno Haible  <bruno@clisp.org>
10630
10631         unlink: Update regarding AIX.
10632         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
10633         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
10634         Reported by Rainer Tammer.
10635
10636 2010-07-30  Bruno Haible  <bruno@clisp.org>
10637
10638         symlink: Update regarding AIX.
10639         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
10640         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
10641         Reported by Rainer Tammer.
10642
10643 2010-07-30  Bruno Haible  <bruno@clisp.org>
10644
10645         strndup: Update regarding AIX.
10646         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
10647         AIX 7.
10648         Reported by Rainer Tammer.
10649
10650 2010-07-30  Bruno Haible  <bruno@clisp.org>
10651
10652         stat: Update regarding AIX.
10653         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
10654         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
10655         Reported by Rainer Tammer.
10656
10657 2010-07-30  Bruno Haible  <bruno@clisp.org>
10658
10659         truncl: Fix autoconf test.
10660         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
10661         whether truncl works.
10662         Reported by Rainer Tammer.
10663
10664 2010-07-30  Bruno Haible  <bruno@clisp.org>
10665
10666         round: Update regarding AIX.
10667         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
10668         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
10669         Reported by Rainer Tammer.
10670
10671 2010-07-30  Bruno Haible  <bruno@clisp.org>
10672
10673         rename: Update regarding AIX.
10674         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
10675         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
10676         Reported by Rainer Tammer.
10677
10678 2010-07-30  Bruno Haible  <bruno@clisp.org>
10679
10680         printf.m4: Update regarding AIX.
10681         * m4/printf.m4: Update comments regarding AIX.
10682         Reported by Rainer Tammer.
10683
10684 2010-07-30  Bruno Haible  <bruno@clisp.org>
10685
10686         iconv: Update regarding AIX.
10687         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
10688         AIX 7.
10689         Reported by Rainer Tammer.
10690
10691 2010-07-30  Bruno Haible  <bruno@clisp.org>
10692
10693         getopt: Update regarding AIX.
10694         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
10695         no on AIX.
10696         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
10697         Reported by Rainer Tammer.
10698
10699 2010-07-30  Bruno Haible  <bruno@clisp.org>
10700
10701         ldexpl; Update regarding AIX.
10702         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
10703         on AIX 7.
10704         Reported by Rainer Tammer.
10705
10706 2010-07-30  Bruno Haible  <bruno@clisp.org>
10707
10708         frexpl: Update regarding AIX.
10709         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
10710         on AIX 7.
10711         Reported by Rainer Tammer.
10712
10713 2010-07-30  Bruno Haible  <bruno@clisp.org>
10714
10715         open, fopen: Update regarding AIX.
10716         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
10717         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
10718         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
10719         * doc/posix-functions/fopen.texi: Likewise.
10720         Reported by Rainer Tammer.
10721
10722 2010-07-30  Bruno Haible  <bruno@clisp.org>
10723
10724         chown: Update doc regarding AIX.
10725         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
10726         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
10727         Reported by Rainer Tammer.
10728
10729 2010-07-30  Eric Blake  <eblake@redhat.com>
10730
10731         strtod: fix bug in replacement function on AIX
10732         * lib/strtod.c (strtod): Special case broken "0x" parse in
10733         underlying strtod.
10734         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
10735         * doc/posix-functions/strtod.texi (strtod): Likewise.
10736         Reported by Rainer Tammer.
10737
10738 2010-07-30  Bruno Haible  <bruno@clisp.org>
10739
10740         mbrlen: Fix cross-compilation guess for AIX.
10741         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
10742         guess. Leftover from 2008-12-22.
10743
10744 2010-07-30  Bruno Haible  <bruno@clisp.org>
10745
10746         mbrtowc: Fix cross-compilation guess for AIX.
10747         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
10748         guess. Leftover from 2008-12-21.
10749
10750 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
10751
10752         init.sh: work around trap limitation of some shells
10753         * tests/init.sh (setup_): Move exit trap outside of shell function.
10754
10755 2010-07-29  Eric Blake  <eblake@redhat.com>
10756
10757         strtod: aid debugging
10758         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
10759         understanding why strtod is rejected.
10760
10761 2010-07-28  Bruno Haible  <bruno@clisp.org>
10762
10763         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
10764         * lib/unistr/u8-chr.c: Include <string.h>.
10765         * tests/unistr/test-u8-chr.c: Likewise.
10766         * tests/unistr/test-u16-chr.c: Likewise.
10767         * tests/unistr/test-u32-chr.c: Likewise.
10768         * tests/unistr/test-u8-strchr.c: Likewise.
10769         * tests/unistr/test-u16-strchr.c: Likewise.
10770         * tests/unistr/test-u32-strchr.c: Likewise.
10771         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
10772         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
10773         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
10774         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
10775
10776 2010-07-28  Bruno Haible  <bruno@clisp.org>
10777
10778         Use spaces for indentation, not tabs.
10779         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
10780
10781 2010-07-27  Bruno Haible  <bruno@clisp.org>
10782
10783         mbspcasecmp: Fix function specification.
10784         * lib/string.in.h (mbspcasecmp): Fix specification comment.
10785         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
10786         Reported by Eric Blake <eblake@redhat.com>.
10787
10788 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
10789
10790         timespec: use cast and not conditional, as truncation isn't possible
10791         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
10792         instead of a conditional.  Comment about the situation in more detail.
10793         This undoes most of the 2009-10-29 patch.
10794
10795 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
10796
10797         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
10798         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
10799         * lib/unistr/u8-strchr.c: Likewise.
10800         * modules/unistr/u8-chr: Depend on memchr.
10801
10802         unistr/u*-strchr: add tests
10803         * modules/unistr/u8-strchr-tests: New file.
10804         * modules/unistr/u16-strchr-tests: New file.
10805         * modules/unistr/u32-strchr-tests: New file.
10806         * tests/unistr/test-strchr.h: New file.
10807         * tests/unistr/test-u8-strchr.c: New file.
10808         * tests/unistr/test-u16-strchr.c: New file.
10809         * tests/unistr/test-u32-strchr.c: New file.
10810
10811         unistr/u*-chr: test multibyte sequences more
10812         * tests/unistr/test-chr.h: Do complete testing of the characters in the
10813         test vector.
10814         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
10815         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
10816         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
10817
10818         unistr/u*-chr: test multibyte sequences
10819         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
10820
10821         unistr/u*-chr: prepare for multibyte tests
10822         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
10823         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
10824         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
10825         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
10826         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
10827         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
10828
10829 2010-07-18  Bruno Haible  <bruno@clisp.org>
10830
10831         unistr/u8-strchr: Optimize non-ASCII argument case.
10832         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
10833         because the first byte often matches anyway.
10834         Reported by Pádraig Brady <P@draigbrady.com>.
10835
10836 2010-07-15  Karl Berry  <karl@gnu.org>
10837
10838         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
10839
10840 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
10841
10842         getcwd: on Solaris, work better if ancestors are inaccessible
10843         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
10844         buffer and size, try again with a large buffer.  This works better
10845         on Solaris, since its getcwd succeeds even if the path to the root
10846         is inaccessible, and this is helpful in common cases such as .zfs
10847         hidden directories.  Problem reported by J Chapman Flack in
10848         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
10849         Use system getcwd if it's declared, not merely if it's partly
10850         working; use the partly-working test only to avoid needless effort
10851         if the system getcwd fails.
10852         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
10853         comment that was already obsolete and is now even more obsolete.
10854         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
10855         now might call strdup.
10856
10857 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
10858
10859         pthread: Add enough so that coreutils/src/sort.c compiles.
10860         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
10861         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
10862         gnulib. Include <sched.h> and <time.h>, as per POSIX.
10863         Include <sys/types.h>, in case it defines pthread_t.
10864         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
10865         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
10866         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
10867         (pthread_rwlockattr_t, pthread_spinlock_t):
10868         New typedefs, if HAVE_PTHREAD_T is not defined.
10869         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
10870         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
10871         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
10872         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
10873         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
10874         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
10875         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
10876         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
10877         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
10878         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
10879         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
10880         New macros.
10881         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
10882         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
10883         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
10884         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
10885         (pthread_spin_unlock): New dummy functions.
10886         (pthread_create): Return EAGAIN; don't set errno.
10887         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
10888         require AC_C_INLINE.
10889         * modules/pthread (Depends-on): Add sched, time.
10890         (pthread.h): Use AM_V_GEN.
10891
10892 2010-07-13  Bruno Haible  <bruno@clisp.org>
10893
10894         striconveh: Don't malloc memory if the result buffer is sufficient.
10895         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
10896         buffer if its size is sufficient.
10897         Reported by Ludovic Courtès <ludo@gnu.org>.
10898
10899 2010-07-13  Bruno Haible  <bruno@clisp.org>
10900
10901         strtod: Add safety check.
10902         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
10903
10904 2010-07-12  Bruno Haible  <bruno@clisp.org>
10905
10906         Unify tests that set gl_cv_func_ldexpl_no_libm.
10907         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
10908         gl_FUNC_LDEXPL.
10909         (gl_FUNC_LDEXPL): Invoke it.
10910         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
10911
10912 2010-07-12  Bruno Haible  <bruno@clisp.org>
10913
10914         Unify tests that set gl_cv_func_ldexp_no_libm.
10915         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
10916         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
10917         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
10918         (configure.ac): Simply invoke gl_FUNC_LDEXP.
10919         * modules/strtod (Files): Add m4/ldexp.m4.
10920
10921 2010-07-12  Bruno Haible  <bruno@clisp.org>
10922
10923         Unify tests that set gl_cv_func_frexpl_no_libm.
10924         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
10925         gl_FUNC_FREXPL_NO_LIBM.
10926         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
10927         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
10928
10929 2010-07-12  Bruno Haible  <bruno@clisp.org>
10930
10931         Unify tests that set gl_cv_func_frexp_no_libm.
10932         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
10933         gl_FUNC_FREXP_NO_LIBM.
10934         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
10935         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
10936
10937 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
10938
10939         memcoll: clarify sizes versus lengths, document better, and tweak perf
10940         * lib/memcoll.c (strcoll_loop, memcoll0):
10941         Improve quality of descriptive comments.  Name variables
10942         consistently as to whether they are lengths (which do not include
10943         terminating null) versus sizes (which do).
10944         * lib/xmemcoll.c (xmemcoll0): Likewise.
10945         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
10946         returned when s1size == 0; this is easier to compile and saves
10947         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
10948
10949 2010-07-12  Bruno Haible  <bruno@clisp.org>
10950
10951         Tests for module '_Exit'.
10952         * modules/_Exit-tests: New file.
10953         * tests/test-_Exit.sh: New file.
10954         * tests/test-_Exit.c: New file.
10955
10956         New module '_Exit'.
10957         * lib/stdlib.in.h (__attribute__): New macro.
10958         (_Exit): New declaration.
10959         * lib/_Exit.c: New file.
10960         * m4/_Exit.m4: New file.
10961         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
10962         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
10963         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
10964         * modules/_Exit: New file.
10965         * tests/test-stdlib-c++.cc (_Exit): Check signature.
10966         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
10967
10968 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
10969
10970         strtod: make it more-accurate typically, and don't require libm
10971         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
10972         Include limits.h.  Don't include string.h.
10973         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
10974         (locale_isspace): New function, so that no casts are needed to
10975         check whether *s is a space.
10976         (ldexp): Provide an unused dummy if not available.
10977         (scale_radix_exp, parse_number, underlying_strtod): New functions.
10978         (strtod): Use them.  This implementation prefers to use the
10979         underlying strtod if available, falling back on our own code
10980         only to fix known bugs.  This is more likely to produce an
10981         accurate result.  Also, it avoids the use of libm functions.
10982         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
10983         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
10984         was absent, but it caused a test failure with coreutils.
10985         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
10986         with libm.
10987         * modules/strtod (Makefile.am, Link): libm is no longer needed.
10988         * modules/strtod-tests (Makefile.am): Likewise.
10989
10990 2010-07-11  Pádraig Brady  <P@draigBrady.com>
10991             Bruno Haible  <bruno@clisp.org>
10992
10993         unistr/u8-strchr: Optimize ASCII argument case.
10994         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
10995
10996 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
10997
10998         (x)memcoll: minor tweaks
10999         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
11000         is after the type that it qualifies.
11001         (memcoll0): Likewise.
11002         * lib/memcoll.h (memcoll0): Likewise.
11003         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
11004         * lib/xmemcoll.h (xmemcoll0): Likewise.
11005         * lib/memcoll.c (memcoll0): Correct the comment.  This function
11006         differs from memcoll in that the NUL byte is part of the argument.
11007         Omit the abort-checks, as performance is a real issue here.  Plus,
11008         the checks were wrong anyway (an off-by-one error).  Omit local
11009         variable 'diff', as it's a bit clearer that way.
11010         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
11011         no longer needed.
11012
11013 2010-07-08  Chen Guo <chenguo4@yahoo.com>
11014
11015         (x)memcoll: speedup when input is known to be NUL delimited
11016         * lib/memcoll.c: Include stdlib.
11017         (memcoll0) New function.
11018         (strcoll_loop) New function, refactored for use in both memcoll
11019         and memcoll0.
11020         * lib/memcoll.h: Add prototype for memcoll0.
11021         * lib/xmemcoll.c: (xmemcoll0) New function.
11022         (collate_error) New function, refactored for use in both xmemcoll
11023         and xmemcoll0.
11024         * lib/xmemcoll.h: Add prototype for xmemcoll0.
11025         * m4/memcoll.m4: add inline invocation.
11026
11027 2010-07-06  Pádraig Brady  <P@draigBrady.com>
11028
11029         * build-aux/bootstrap: Remove any local translations
11030         from the translation project synchronization directory,
11031         so that local only translations are not distributed.
11032
11033 2010-07-04  Bruno Haible  <bruno@clisp.org>
11034
11035         fsusage: Clarify which code applies to which platforms.
11036         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
11037         platform.
11038         * lib/fsusage.c (get_fs_usage): Likewise.
11039
11040 2010-07-04  Bruno Haible  <bruno@clisp.org>
11041
11042         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
11043         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
11044         Reported by Martin Lambers <marlam@marlam.de>.
11045
11046 2010-07-04  Jim Meyering  <meyering@redhat.com>
11047
11048         hash: once again explicitly disallow insertion of NULL
11049         * lib/hash.c (hash_insert0): Reinstate just-removed test:
11050         inserting a NULL pointer cannot work with these functions.
11051         Add a comment with details.
11052         This reverts part of the 2010-07-01 commit, 5bef1a35
11053         "hash: extend module to deal with non-pointer keys".
11054
11055 2010-07-01  Bruno Haible  <bruno@clisp.org>
11056
11057         stdbool: Update doc.
11058         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
11059         Info from Christian Weisgerber <naddy@mips.inka.de>.
11060
11061 2010-07-01  Jim Meyering  <meyering@redhat.com>
11062
11063         hash: extend module to deal with non-pointer keys
11064         * lib/hash.c (hash_insert0): New interface, much like hash_insert
11065         but that allows insertion of non-pointer entries.
11066         Do not disallow an ENTRY value of NULL.
11067         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
11068         * lib/hash.h (hash_insert0): Declare.
11069
11070 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
11071
11072         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
11073         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
11074         not present (i.e. with autoconf 2.59 and when using gettextize, not
11075         gnulib), require AC_GNU_SOURCE instead.
11076
11077 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
11078
11079         idpriv-drop: Fix tests.
11080         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
11081         not to the test-idpriv-droptemp program.
11082
11083 2010-06-29  Bruno Haible  <bruno@clisp.org>
11084
11085         string: Fix syntax error with g++ 2.96.
11086         * lib/string.in.h (__pure__): Remove definition.
11087         (_GL_ATTRIBUTE_PURE): New macro.
11088         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
11089         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
11090         Reported by Christian Weisgerber <naddy@mips.inka.de>.
11091
11092 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
11093
11094         unitypes: Fix bug introduced on 2010-05-18.
11095         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
11096
11097 2010-06-22  Eric Blake  <eblake@redhat.com>
11098
11099         memmem: slight optimization
11100         * lib/str-two-way.h (critical_factorization): Update comments.
11101         Reduce work during factorization phase.
11102         Reported by Carlos Bueno <carlos@bueno.org>.
11103
11104 2010-06-21  Bruno Haible  <bruno@clisp.org>
11105
11106         Fix HAVE_CALLOC_POSIX misnomer.
11107         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
11108         !HAVE_CALLOC_POSIX.
11109         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
11110         HAVE_CALLOC_POSIX.
11111         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
11112         instead of HAVE_CALLOC_POSIX.
11113         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
11114         HAVE_CALLOC_POSIX.
11115
11116         Use modern idiom for calloc() replacement.
11117         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
11118         AC_FUNC_CALLOC.
11119         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
11120         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
11121         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
11122         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
11123         (gl_REPLACE_CALLOC): New macro.
11124
11125 2010-06-21  Bruno Haible  <bruno@clisp.org>
11126
11127         Fix HAVE_REALLOC_POSIX misnomer.
11128         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
11129         !HAVE_REALLOC_POSIX.
11130         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
11131         HAVE_REALLOC_POSIX.
11132         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
11133         instead of HAVE_REALLOC_POSIX.
11134         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
11135         HAVE_REALLOC_POSIX.
11136
11137         Use modern idiom for realloc() replacement.
11138         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
11139         AC_FUNC_REALLOC.
11140         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
11141         Autoconf's AC_FUNC_REALLOC.
11142         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
11143         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
11144         (gl_REPLACE_REALLOC): New macro.
11145         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
11146
11147 2010-06-21  Bruno Haible  <bruno@clisp.org>
11148
11149         Fix HAVE_MALLOC_POSIX misnomer.
11150         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
11151         !HAVE_MALLOC_POSIX.
11152         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
11153         HAVE_MALLOC_POSIX.
11154         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
11155         instead of HAVE_MALLOC_POSIX.
11156         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
11157         HAVE_MALLOC_POSIX.
11158
11159         Use modern idiom for malloc() replacement.
11160         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
11161         AC_FUNC_MALLOC.
11162         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
11163         Autoconf's AC_FUNC_MALLOC.
11164         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
11165         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
11166         (gl_REPLACE_MALLOC): New macro.
11167         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
11168
11169 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
11170
11171         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
11172         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
11173         This macro takes 3 arguments, not 4.
11174
11175 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
11176
11177         ipv6: fix detection under mingw
11178         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
11179         in6_addr.
11180
11181 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
11182
11183         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
11184         that strtod() works when cross-compiling to a glibc version known
11185         to work.
11186
11187 2010-06-15  Bruno Haible  <bruno@clisp.org>
11188
11189         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
11190
11191 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
11192
11193         select: Correct timeout.
11194         * lib/select.c (rpl_select): Compute wait_timeout correctly.
11195
11196 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
11197
11198         git-version-gen: init shell var to avoid env var influence
11199         * build-aux/git-version-gen (v): Init shell var to empty.
11200
11201 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
11202
11203         priv-set: Don't assume that priv.h exists merely because getppriv does.
11204         See Jan Andersen's bug report about AIX 5L in
11205         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
11206         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
11207         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
11208         * lib/priv-set.h: Likewise.
11209         * tests/test-priv-set.c: Likewise.
11210
11211 2010-06-13  Bruno Haible  <bruno@clisp.org>
11212
11213         relocatable: Make it easier to test whether to install wrappers.
11214         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
11215         RELOCATABLE_VIA_WRAPPER.
11216
11217 2010-06-13  Bruno Haible  <bruno@clisp.org>
11218
11219         gnulib-tool: Display specified modules and dependencies differently.
11220         * gnulib-tool (func_show_module_list): New function.
11221         (func_import, func_create_testdir): Invoke it.
11222         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
11223
11224 2010-06-13  Bruno Haible  <bruno@clisp.org>
11225
11226         gnulib-tool: Align code of func_import and func_create_testdir.
11227         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
11228         specified_modules.
11229
11230 2010-06-12  Jim Meyering  <meyering@redhat.com>
11231
11232         test-inttostr: avoid spurious failure on Solaris 9
11233         * tests/test-inttostr.c (main): Skip the test when snprintf fails
11234         to accept "%ju".  Reported by Bruno Haible.
11235
11236 2010-06-11  Jim Meyering  <meyering@redhat.com>
11237
11238         test-sys_socket: mark variables as used more readably
11239         * tests/test-sys_socket.c (main): Mark otherwise unused variables
11240         as "used" explicitly via (void) statement casts.  This is more
11241         readable than using them in an artificial return expression.
11242         Suggestion from Bruno Haible.
11243
11244 2010-06-11  Bruno Haible  <bruno@clisp.org>
11245
11246         Avoid some more warnings from "gcc -Wwrite-strings".
11247         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
11248         to 'const char *'.
11249         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
11250         * tests/test-c-strcasestr.c (main): Likewise.
11251         * tests/test-mbscasestr1.c (main): Likewise.
11252         * tests/test-mbscasestr2.c (main): Likewise.
11253         * tests/test-memmem.c (main): Likewise.
11254         * tests/test-strstr.c (main): Likewise.
11255         * tests/test-strcasestr.c (main): Likewise.
11256
11257 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11258
11259         init.sh: change framework_failure_ to fail with status 99, not 1
11260         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
11261         automake's parallel-tests rule that this is an unexpected failure,
11262         even if the test is listed in XFAIL_TESTS.
11263
11264 2010-06-11  Jim Meyering  <meyering@redhat.com>
11265
11266         test-inttostr: avoid warnings about 4-6KB literal strings
11267         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
11268         Include "macros.h", for its definition of ASSERT.
11269         (CK): s/assert/ASSERT/
11270         * modules/inttostr-tests (Files): Add macros.h.
11271
11272         init.sh: don't use $ME_ or skip_ before they are defined
11273         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
11274         their first uses.  Also hoist their companions: warn_, fail_,
11275         framework_failure_, $stderr_fileno.  Prompted by a patch from
11276         Stefano Lattarini.
11277
11278         test-sys_socket: avoid set-but-not-used warnings from gcc
11279         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
11280         avoid warning about set-but-not-used variables.
11281
11282         test-xvasprintf: avoid 'const' discard warnings
11283         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
11284         "const" when assigning from literal strings.
11285         (test_xasprintf): Add "void" in function argument list to placate
11286         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
11287
11288         tests: avoid compilation warnings in argmatch and exclude tests...
11289         in packages that define ARGMATCH_DIE_DECL, like coreutils.
11290         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
11291         Since it always exits, declare with the "noreturn" attribute.
11292         * tests/test-argmatch.c: Likewise.
11293
11294         tests: avoid 'const' discard warnings in mbsstr tests
11295         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
11296         * tests/test-mbsstr2.c (main): Likewise.
11297
11298         test-verify: avoid warning from gcc's -Wmissing-declarations
11299         * tests/test-verify.c (function): Declare to be static.
11300
11301         test-inttostr.c: include <string.h> for use of strcmp
11302         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
11303
11304         test-linkat: avoid failed assertion on "other" architectures
11305         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
11306         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
11307         sparc: https://bugs.launchpad.net/bugs/591968
11308
11309 2010-06-11  Jim Meyering  <meyering@redhat.com>
11310
11311         printf.m4: avoid autoconf's "Expanded Before Required" warning
11312         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
11313         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
11314         autoconf warning.
11315
11316 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
11317
11318         Replacement header templates are now named with ".in", not "_".
11319         * doc/gnulib-intro.texi: Correct.
11320
11321 2010-06-10  Jim Meyering  <meyering@redhat.com>
11322
11323         inttostr-tests: depend on snprintf, not snprintf-posix
11324         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
11325         snprintf-posix, to avoid this aclocal failure:
11326           missing file gnulib-tests/vasnprintf.c
11327           configure.ac:45: error: expected source file, required through \
11328           AC_LIBSOURCES, not found
11329
11330 2010-06-10  Jim Meyering  <meyering@redhat.com>
11331
11332         inttostr: add a new function, inttostr, and tests
11333         The namesake function was not available.  The existence of the
11334         template file, inttostr.c makes its addition nontrivial.
11335         * lib/anytostr.c: Rename from inttostr.c.
11336         (anytostr): Rename from inttostr.
11337         * lib/inttostr.c: New file.
11338         * modules/inttostr (Files): Add anytostr.c.
11339         (Makefile.am): Set lib_SOURCES instead of ...
11340         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
11341         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
11342         * lib/offtostr.c: Likewise.
11343         * lib/uinttostr.c: Likewise.
11344         * lib/umaxtostr.c: Likewise.
11345         * modules/inttostr-tests: New file.
11346         * tests/test-inttostr.c: New file.  Test these functions.
11347
11348 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
11349             Bruno Haible  <bruno@clisp.org>
11350
11351         Add "Extending Gnulib" chapter to manual.
11352         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
11353         chapter.
11354         (Extending Gnulib): New chapter.
11355         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
11356         chapter.
11357
11358 2010-06-09  Bruno Haible  <bruno@clisp.org>
11359
11360         Avoid relocwrapper link errors due to gnulib replacement functions.
11361         * lib/areadlink.c: Use the system's malloc, realloc functions.
11362         (areadlink): Set errno to ENOMEM explicitly.
11363         * modules/areadlink (Depends-on): Remove malloc-posix.
11364         Reported by Ben Pfaff <blp@cs.stanford.edu>.
11365
11366 2010-06-09  Bruno Haible  <bruno@clisp.org>
11367
11368         Avoid relocwrapper link errors due to gnulib replacement functions.
11369         * lib/canonicalize-lgpl.c: Use the system's malloc function.
11370         * lib/malloca.c: Likewise.
11371         * lib/relocatable.c: Likewise.
11372         * lib/progreloc.c: Use the system's malloc, sprintf functions.
11373         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
11374         * lib/setenv.c: Use the system's malloc, realloc functions.
11375         * lib/strerror.c: Use the system's sprintf function.
11376         Reported by Ben Pfaff <blp@cs.stanford.edu>.
11377
11378 2010-06-04  Bruno Haible  <bruno@clisp.org>
11379
11380         Prefer documented low-level autoconf macro names.
11381         * m4/lib-link.m4: Use m4_translit instead of translit.
11382         * m4/environ.m4: Likewise.
11383         * m4/mathfunc.m4: Likewise.
11384         * m4/onceonly.m4: Likewise.
11385         * m4/stdint.m4: Likewise.
11386         Suggested by Eric Blake.
11387
11388 2010-06-04  Martin Lambers  <marlam@marlam.de>
11389             Bruno Haible  <bruno@clisp.org>
11390
11391         havelib: Allow library names with '+' characters.
11392         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
11393         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
11394
11395 2010-06-09  Bruno Haible  <bruno@clisp.org>
11396
11397         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
11398         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
11399         realloc failed.
11400
11401 2010-06-08  Peter Simons  <simons@cryp.to>
11402
11403         maint.mk: make the news-check rule more configurable
11404         * top/maint.mk (news-check-lines-spec) New variable.
11405         (news-check): Use "sed -n 1,10p" in place of "head".
11406
11407 2010-06-07  Jim Meyering  <meyering@redhat.com>
11408
11409         do-release-commit-and-tag: fix typo in --help
11410         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
11411
11412         regex: avoid new dead-code warning with gcc-4.6.0
11413         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
11414         if-block containing a while-loop.  It's been unused for at least
11415         5 years.
11416
11417 2010-06-05  Bruno Haible  <bruno@clisp.org>
11418
11419         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
11420         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
11421
11422 2010-06-04  Bruno Haible  <bruno@clisp.org>
11423
11424         Update to GNU gettext 0.18.1.
11425         * modules/gettext (configure.ac): Require gettext infrastructure from
11426         version 0.18.1.
11427
11428 2010-06-03  Bruno Haible  <bruno@clisp.org>
11429
11430         Don't use AC_LIBOBJ with file names in subdirectories.
11431         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
11432         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
11433         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
11434         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
11435         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
11436         gl_LIBUNISTRING_LIBSOURCE.
11437         (Makefile.am): Augment lib_SOURCES here, conditionally.
11438         * NEWS: Drop requirement for Automake option 'subdir-objects'.
11439
11440 2010-06-03  Bruno Haible  <bruno@clisp.org>
11441
11442         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
11443         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
11444         expansion does not end with a newline.
11445         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
11446         unnecessary newline.
11447
11448 2010-06-03  Bruno Haible  <bruno@clisp.org>
11449
11450         Reduce dependencies.
11451         * tests/test-quotearg.h: New file, extracted from
11452         tests/test-quotearg.c.
11453         * tests/test-quotearg-simple.c: New file, extracted from
11454         tests/test-quotearg.c.
11455         * tests/test-quotearg.c: Don't include <ctype.h>.
11456         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
11457         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
11458         use_quote_double_quotes, use_quotearg_colon): Moved to
11459         tests/test-quotearg.h.
11460         (results_g, flag_results, custom_quotes, custom_results): Moved
11461         to tests/test-quotearg-simple.c.
11462         (main): Moved the part that does not depend on gettext to
11463         tests/test-quotearg-simple.c. Return 77 if the test cannot be
11464         performed.
11465         * modules/quotearg-simple: New file.
11466         * modules/quotearg-simple-tests: New file.
11467         * modules/quotearg (Depends-on): Add quotearg-simple.
11468         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
11469         (Files): Add tests/test-quotearg.h.
11470         Reported by Paolo Bonzini.
11471
11472 2010-06-03  Bruno Haible  <bruno@clisp.org>
11473
11474         Reduce dependencies.
11475         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
11476
11477 2010-06-03  Bruno Haible  <bruno@clisp.org>
11478
11479         time: Undefine more broken macros.
11480         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
11481         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
11482         Reported by Eric Blake.
11483
11484 2010-06-03  Bruno Haible  <bruno@clisp.org>
11485
11486         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
11487         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
11488         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
11489         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
11490         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
11491         Reported by Ludovic Courtès <ludo@gnu.org>.
11492
11493 2010-06-02  Eric Blake  <eblake@redhat.com>
11494
11495         time: work with mingw + pthreads-win32 library
11496         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
11497         if timespec is defined only in pthread.h.
11498         * modules/time (Makefile.am): Substitute it.
11499         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
11500         <pthread.h>, when needed.
11501         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
11502         from the library.
11503
11504 2010-05-31  Bruno Haible  <bruno@clisp.org>
11505
11506         Avoid expanding two macros in the wrong order.
11507         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
11508         gl_LIBUNISTRING if it is defined.
11509         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
11510         autoconf >= 2.64.
11511         Reported by Ludovic Courtès <ludo@gnu.org>.
11512
11513 2010-05-27  Jim Meyering  <meyering@redhat.com>
11514
11515         maint.mk: also prohibit "#undef" of always-defined symbols
11516         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
11517         Allow more than one space before the symbol name.
11518         (sc_prohibit_always-defined_macros): Use grep's -E, now that
11519         the regexp uses alternation.
11520
11521 2010-05-26  Eric Blake  <eblake@redhat.com>
11522
11523         maint.mk: avoid echo -e
11524         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
11525         Convert all uses of echo -* to printf.
11526         Reported by Matthias Bolte.
11527
11528 2010-05-25  Bruno Haible  <bruno@clisp.org>
11529
11530         Update to GNU gettext 0.18, part 2.
11531         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
11532         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
11533
11534 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11535
11536         Add missing include in test-pwrite.c.
11537         * tests/test-pwrite.c: Include string.h, for strcmp.
11538
11539 2010-05-24  Bruno Haible  <bruno@clisp.org>
11540
11541         * NEWS: Mention requirement for Automake option 'subdir-objects'.
11542
11543 2010-05-24  Bruno Haible  <bruno@clisp.org>
11544
11545         Don't use conversion with transliteration in u{8,16,32}_strcoll.
11546         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
11547         iconveh_error argument.
11548         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
11549         U_STRCONV_TO_LOCALE.
11550         * lib/unistr/u16-strcoll.c: Likewise.
11551         * lib/unistr/u32-strcoll.c: Likewise.
11552         * modules/unistr/u8-strcoll (Depends-on): Add
11553         uniconv/u8-strconv-to-enc, localcharset. Remove
11554         uniconv/u8-strconv-to-locale.
11555         (configure.ac): Bump version number.
11556         * modules/unistr/u16-strcoll (Depends-on): Add
11557         uniconv/u16-strconv-to-enc, localcharset. Remove
11558         uniconv/u16-strconv-to-locale.
11559         (configure.ac): Bump version number.
11560         * modules/unistr/u32-strcoll (Depends-on): Add
11561         uniconv/u32-strconv-to-enc, localcharset. Remove
11562         uniconv/u32-strconv-to-locale.
11563         (configure.ac): Bump version number.
11564
11565 2010-05-24  Bruno Haible  <bruno@clisp.org>
11566
11567         Avoid a test failure on NetBSD 5.0.
11568         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
11569         an iconv() bug.
11570
11571 2010-05-24  Bruno Haible  <bruno@clisp.org>
11572
11573         Adjust #include directive style.
11574         * modules/regex (Includes): Recommend to write <regex.h>.
11575
11576 2010-05-24  Bruno Haible  <bruno@clisp.org>
11577
11578         regex: Don't require alloca.
11579         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
11580         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
11581         only inside if (0).
11582
11583 2010-05-23  Jim Meyering  <meyering@redhat.com>
11584
11585         test-renameat.c: include <sys/stat.h>
11586         * tests/test-renameat.c: Include <sys/stat.h>; required for
11587         definition of S_IS* macros.
11588
11589 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
11590
11591         Update maintainer documentation for 'relocatable-prog' module.
11592         * doc/relocatable-maint.texi: Update.
11593         Comments by Bruno Haible.
11594
11595 2010-05-23  Bruno Haible  <bruno@clisp.org>
11596
11597         git-merge-changelog: Enable --split-merged-entry by default.
11598         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
11599         (usage): Don't mention this option any more.
11600         Reported by Ralf Wildenhues.
11601
11602 2010-05-23  Jim Meyering  <meyering@redhat.com>
11603
11604         test-pwrite: do not leave behind a test file named "out"
11605         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
11606         The trivial-looking use of init.sh is really necessary.
11607         It ensures that the temporary file, "out", is created in
11608         a temporary directory, and removed upon termination.
11609         * tests/test-pwrite.sh: Re-add file.
11610         * modules/pwrite-tests: Reference it.
11611
11612 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11613
11614         Fix output redirection buglet in init.sh.
11615         * tests/init.sh: Fix redirection of stderr.
11616
11617 2010-05-20  Simon Josefsson  <simon@josefsson.org>
11618
11619         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
11620
11621 2010-05-17  Simon Josefsson  <simon@josefsson.org>
11622
11623         * modules/valgrind-tests: New file.
11624         * m4/valgrind-tests.m4: New file.
11625         * doc/valgrind-tests.texi: New file.
11626         * doc/gnulib.texi (Running self-tests under valgrind): New
11627         section.
11628
11629 2010-05-19  Bruno Haible  <bruno@clisp.org>
11630
11631         Clean up dead code in recent commit.
11632         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
11633         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
11634         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
11635         Suggested by Paolo Bonzini.
11636
11637 2010-05-19  Bruno Haible  <bruno@clisp.org>
11638
11639         Avoid valgrind error reports from libunistring.
11640         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
11641         * modules/libunistring (Files): Add it.
11642         * modules/libunistring-optional (Files): Likewise.
11643
11644 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
11645             Bruno Haible  <bruno@clisp.org>
11646
11647         New module 'libunistring-optional'.
11648         * modules/libunistring-optional: New file.
11649         * m4/libunistring-base.m4: New file.
11650         * m4/libunistring-optional.m4: New file.
11651         * lib/unicase.in.h: Renamed from lib/unicase.h.
11652         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
11653         * lib/unictype.in.h: Renamed from lib/unictype.h.
11654         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
11655         * lib/uniname.in.h: Renamed from lib/uniname.h.
11656         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
11657         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
11658         * lib/unistr.in.h: Renamed from lib/unistr.h.
11659         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
11660         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
11661         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
11662         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
11663         gl_LIBUNISTRING. If the library was found, determine the installed
11664         version and set LIBUNISTRING_VERSION.
11665         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
11666         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
11667         handle a configuration option --with-included-libunistring.
11668         * modules/libunistring (Files): Add m4/absolute-header.m4.
11669         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
11670         Add m4/libunistring-base.m4.
11671         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
11672         (Makefile.am): Build unicase.h from unicase.in.h.
11673         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
11674         Add m4/libunistring-base.m4.
11675         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
11676         (Makefile.am): Build uniconv.h from uniconv.in.h.
11677         * modules/unictype/base (Files): Use unictype.in.h instead of
11678         unictype.h. Add m4/libunistring-base.m4.
11679         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
11680         (Makefile.am): Build unictype.h from unictype.in.h.
11681         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
11682         Add m4/libunistring-base.m4.
11683         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
11684         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
11685         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
11686         Add m4/libunistring-base.m4.
11687         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
11688         (Makefile.am): Build uniname.h from uniname.in.h.
11689         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
11690         Add m4/libunistring-base.m4.
11691         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
11692         (Makefile.am): Build uninorm.h from uninorm.in.h.
11693         * modules/unistdio/base (Files): Use unistdio.in.h instead of
11694         unistdio.h. Add m4/libunistring-base.m4.
11695         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
11696         (Makefile.am): Build unistdio.h from unistdio.in.h.
11697         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
11698         Add m4/libunistring-base.m4.
11699         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
11700         (Makefile.am): Build unistr.h from unistr.in.h.
11701         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
11702         Add m4/libunistring-base.m4.
11703         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
11704         (Makefile.am): Build unitypes.h from unitypes.in.h.
11705         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
11706         Add m4/libunistring-base.m4.
11707         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
11708         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
11709         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
11710         uniwidth.h. Add m4/libunistring-base.m4.
11711         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
11712         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
11713         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
11714         instead of augmenting lib_SOURCES.
11715         * modules/unicase/empty-suffix-context: Likewise.
11716         * modules/unicase/locale-language: Likewise.
11717         * modules/unicase/tolower: Likewise.
11718         * modules/unicase/totitle: Likewise.
11719         * modules/unicase/toupper: Likewise.
11720         * modules/unicase/u8-casecmp: Likewise.
11721         * modules/unicase/u8-casecoll: Likewise.
11722         * modules/unicase/u8-casefold: Likewise.
11723         * modules/unicase/u8-casexfrm: Likewise.
11724         * modules/unicase/u8-ct-casefold: Likewise.
11725         * modules/unicase/u8-ct-tolower: Likewise.
11726         * modules/unicase/u8-ct-totitle: Likewise.
11727         * modules/unicase/u8-ct-toupper: Likewise.
11728         * modules/unicase/u8-is-cased: Likewise.
11729         * modules/unicase/u8-is-casefolded: Likewise.
11730         * modules/unicase/u8-is-lowercase: Likewise.
11731         * modules/unicase/u8-is-titlecase: Likewise.
11732         * modules/unicase/u8-is-uppercase: Likewise.
11733         * modules/unicase/u8-prefix-context: Likewise.
11734         * modules/unicase/u8-suffix-context: Likewise.
11735         * modules/unicase/u8-tolower: Likewise.
11736         * modules/unicase/u8-totitle: Likewise.
11737         * modules/unicase/u8-toupper: Likewise.
11738         * modules/unicase/u16-casecmp: Likewise.
11739         * modules/unicase/u16-casecoll: Likewise.
11740         * modules/unicase/u16-casefold: Likewise.
11741         * modules/unicase/u16-casexfrm: Likewise.
11742         * modules/unicase/u16-ct-casefold: Likewise.
11743         * modules/unicase/u16-ct-tolower: Likewise.
11744         * modules/unicase/u16-ct-totitle: Likewise.
11745         * modules/unicase/u16-ct-toupper: Likewise.
11746         * modules/unicase/u16-is-cased: Likewise.
11747         * modules/unicase/u16-is-casefolded: Likewise.
11748         * modules/unicase/u16-is-lowercase: Likewise.
11749         * modules/unicase/u16-is-titlecase: Likewise.
11750         * modules/unicase/u16-is-uppercase: Likewise.
11751         * modules/unicase/u16-prefix-context: Likewise.
11752         * modules/unicase/u16-suffix-context: Likewise.
11753         * modules/unicase/u16-tolower: Likewise.
11754         * modules/unicase/u16-totitle: Likewise.
11755         * modules/unicase/u16-toupper: Likewise.
11756         * modules/unicase/u32-casecmp: Likewise.
11757         * modules/unicase/u32-casecoll: Likewise.
11758         * modules/unicase/u32-casefold: Likewise.
11759         * modules/unicase/u32-casexfrm: Likewise.
11760         * modules/unicase/u32-ct-casefold: Likewise.
11761         * modules/unicase/u32-ct-tolower: Likewise.
11762         * modules/unicase/u32-ct-totitle: Likewise.
11763         * modules/unicase/u32-ct-toupper: Likewise.
11764         * modules/unicase/u32-is-cased: Likewise.
11765         * modules/unicase/u32-is-casefolded: Likewise.
11766         * modules/unicase/u32-is-lowercase: Likewise.
11767         * modules/unicase/u32-is-titlecase: Likewise.
11768         * modules/unicase/u32-is-uppercase: Likewise.
11769         * modules/unicase/u32-prefix-context: Likewise.
11770         * modules/unicase/u32-suffix-context: Likewise.
11771         * modules/unicase/u32-tolower: Likewise.
11772         * modules/unicase/u32-totitle: Likewise.
11773         * modules/unicase/u32-toupper: Likewise.
11774         * modules/unicase/ulc-casecmp: Likewise.
11775         * modules/unicase/ulc-casecoll: Likewise.
11776         * modules/unicase/ulc-casexfrm: Likewise.
11777         * modules/uniconv/u8-conv-from-enc: Likewise.
11778         * modules/uniconv/u8-conv-to-enc: Likewise.
11779         * modules/uniconv/u8-strconv-from-enc: Likewise.
11780         * modules/uniconv/u8-strconv-from-locale: Likewise.
11781         * modules/uniconv/u8-strconv-to-enc: Likewise.
11782         * modules/uniconv/u8-strconv-to-locale: Likewise.
11783         * modules/uniconv/u16-conv-from-enc: Likewise.
11784         * modules/uniconv/u16-conv-to-enc: Likewise.
11785         * modules/uniconv/u16-strconv-from-enc: Likewise.
11786         * modules/uniconv/u16-strconv-from-locale: Likewise.
11787         * modules/uniconv/u16-strconv-to-enc: Likewise.
11788         * modules/uniconv/u16-strconv-to-locale: Likewise.
11789         * modules/uniconv/u32-conv-from-enc: Likewise.
11790         * modules/uniconv/u32-conv-to-enc: Likewise.
11791         * modules/uniconv/u32-strconv-from-enc: Likewise.
11792         * modules/uniconv/u32-strconv-from-locale: Likewise.
11793         * modules/uniconv/u32-strconv-to-enc: Likewise.
11794         * modules/uniconv/u32-strconv-to-locale: Likewise.
11795         * modules/unictype/bidicategory-byname: Likewise.
11796         * modules/unictype/bidicategory-name: Likewise.
11797         * modules/unictype/bidicategory-of: Likewise.
11798         * modules/unictype/bidicategory-test: Likewise.
11799         * modules/unictype/block-list: Likewise.
11800         * modules/unictype/block-test: Likewise.
11801         * modules/unictype/category-C: Likewise.
11802         * modules/unictype/category-Cc: Likewise.
11803         * modules/unictype/category-Cf: Likewise.
11804         * modules/unictype/category-Cn: Likewise.
11805         * modules/unictype/category-Co: Likewise.
11806         * modules/unictype/category-Cs: Likewise.
11807         * modules/unictype/category-L: Likewise.
11808         * modules/unictype/category-Ll: Likewise.
11809         * modules/unictype/category-Lm: Likewise.
11810         * modules/unictype/category-Lo: Likewise.
11811         * modules/unictype/category-Lt: Likewise.
11812         * modules/unictype/category-Lu: Likewise.
11813         * modules/unictype/category-M: Likewise.
11814         * modules/unictype/category-Mc: Likewise.
11815         * modules/unictype/category-Me: Likewise.
11816         * modules/unictype/category-Mn: Likewise.
11817         * modules/unictype/category-N: Likewise.
11818         * modules/unictype/category-Nd: Likewise.
11819         * modules/unictype/category-Nl: Likewise.
11820         * modules/unictype/category-No: Likewise.
11821         * modules/unictype/category-P: Likewise.
11822         * modules/unictype/category-Pc: Likewise.
11823         * modules/unictype/category-Pd: Likewise.
11824         * modules/unictype/category-Pe: Likewise.
11825         * modules/unictype/category-Pf: Likewise.
11826         * modules/unictype/category-Pi: Likewise.
11827         * modules/unictype/category-Po: Likewise.
11828         * modules/unictype/category-Ps: Likewise.
11829         * modules/unictype/category-S: Likewise.
11830         * modules/unictype/category-Sc: Likewise.
11831         * modules/unictype/category-Sk: Likewise.
11832         * modules/unictype/category-Sm: Likewise.
11833         * modules/unictype/category-So: Likewise.
11834         * modules/unictype/category-Z: Likewise.
11835         * modules/unictype/category-Zl: Likewise.
11836         * modules/unictype/category-Zp: Likewise.
11837         * modules/unictype/category-Zs: Likewise.
11838         * modules/unictype/category-and: Likewise.
11839         * modules/unictype/category-and-not: Likewise.
11840         * modules/unictype/category-byname: Likewise.
11841         * modules/unictype/category-name: Likewise.
11842         * modules/unictype/category-none: Likewise.
11843         * modules/unictype/category-of: Likewise.
11844         * modules/unictype/category-or: Likewise.
11845         * modules/unictype/category-test: Likewise.
11846         * modules/unictype/combining-class: Likewise.
11847         * modules/unictype/ctype-alnum: Likewise.
11848         * modules/unictype/ctype-alpha: Likewise.
11849         * modules/unictype/ctype-blank: Likewise.
11850         * modules/unictype/ctype-cntrl: Likewise.
11851         * modules/unictype/ctype-digit: Likewise.
11852         * modules/unictype/ctype-graph: Likewise.
11853         * modules/unictype/ctype-lower: Likewise.
11854         * modules/unictype/ctype-print: Likewise.
11855         * modules/unictype/ctype-punct: Likewise.
11856         * modules/unictype/ctype-space: Likewise.
11857         * modules/unictype/ctype-upper: Likewise.
11858         * modules/unictype/ctype-xdigit: Likewise.
11859         * modules/unictype/decimal-digit: Likewise.
11860         * modules/unictype/digit: Likewise.
11861         * modules/unictype/mirror: Likewise.
11862         * modules/unictype/numeric: Likewise.
11863         * modules/unictype/property-alphabetic: Likewise.
11864         * modules/unictype/property-ascii-hex-digit: Likewise.
11865         * modules/unictype/property-bidi-arabic-digit: Likewise.
11866         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
11867         * modules/unictype/property-bidi-block-separator: Likewise.
11868         * modules/unictype/property-bidi-boundary-neutral: Likewise.
11869         * modules/unictype/property-bidi-common-separator: Likewise.
11870         * modules/unictype/property-bidi-control: Likewise.
11871         * modules/unictype/property-bidi-embedding-or-override: Likewise.
11872         * modules/unictype/property-bidi-eur-num-separator: Likewise.
11873         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
11874         * modules/unictype/property-bidi-european-digit: Likewise.
11875         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
11876         * modules/unictype/property-bidi-left-to-right: Likewise.
11877         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
11878         * modules/unictype/property-bidi-other-neutral: Likewise.
11879         * modules/unictype/property-bidi-pdf: Likewise.
11880         * modules/unictype/property-bidi-segment-separator: Likewise.
11881         * modules/unictype/property-bidi-whitespace: Likewise.
11882         * modules/unictype/property-byname: Likewise.
11883         * modules/unictype/property-combining: Likewise.
11884         * modules/unictype/property-composite: Likewise.
11885         * modules/unictype/property-currency-symbol: Likewise.
11886         * modules/unictype/property-dash: Likewise.
11887         * modules/unictype/property-decimal-digit: Likewise.
11888         * modules/unictype/property-default-ignorable-code-point: Likewise.
11889         * modules/unictype/property-deprecated: Likewise.
11890         * modules/unictype/property-diacritic: Likewise.
11891         * modules/unictype/property-extender: Likewise.
11892         * modules/unictype/property-format-control: Likewise.
11893         * modules/unictype/property-grapheme-base: Likewise.
11894         * modules/unictype/property-grapheme-extend: Likewise.
11895         * modules/unictype/property-grapheme-link: Likewise.
11896         * modules/unictype/property-hex-digit: Likewise.
11897         * modules/unictype/property-hyphen: Likewise.
11898         * modules/unictype/property-id-continue: Likewise.
11899         * modules/unictype/property-id-start: Likewise.
11900         * modules/unictype/property-ideographic: Likewise.
11901         * modules/unictype/property-ids-binary-operator: Likewise.
11902         * modules/unictype/property-ids-trinary-operator: Likewise.
11903         * modules/unictype/property-ignorable-control: Likewise.
11904         * modules/unictype/property-iso-control: Likewise.
11905         * modules/unictype/property-join-control: Likewise.
11906         * modules/unictype/property-left-of-pair: Likewise.
11907         * modules/unictype/property-line-separator: Likewise.
11908         * modules/unictype/property-logical-order-exception: Likewise.
11909         * modules/unictype/property-lowercase: Likewise.
11910         * modules/unictype/property-math: Likewise.
11911         * modules/unictype/property-non-break: Likewise.
11912         * modules/unictype/property-not-a-character: Likewise.
11913         * modules/unictype/property-numeric: Likewise.
11914         * modules/unictype/property-other-alphabetic: Likewise.
11915         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
11916         * modules/unictype/property-other-grapheme-extend: Likewise.
11917         * modules/unictype/property-other-id-continue: Likewise.
11918         * modules/unictype/property-other-id-start: Likewise.
11919         * modules/unictype/property-other-lowercase: Likewise.
11920         * modules/unictype/property-other-math: Likewise.
11921         * modules/unictype/property-other-uppercase: Likewise.
11922         * modules/unictype/property-paired-punctuation: Likewise.
11923         * modules/unictype/property-paragraph-separator: Likewise.
11924         * modules/unictype/property-pattern-syntax: Likewise.
11925         * modules/unictype/property-pattern-white-space: Likewise.
11926         * modules/unictype/property-private-use: Likewise.
11927         * modules/unictype/property-punctuation: Likewise.
11928         * modules/unictype/property-quotation-mark: Likewise.
11929         * modules/unictype/property-radical: Likewise.
11930         * modules/unictype/property-sentence-terminal: Likewise.
11931         * modules/unictype/property-soft-dotted: Likewise.
11932         * modules/unictype/property-space: Likewise.
11933         * modules/unictype/property-terminal-punctuation: Likewise.
11934         * modules/unictype/property-test: Likewise.
11935         * modules/unictype/property-titlecase: Likewise.
11936         * modules/unictype/property-unassigned-code-value: Likewise.
11937         * modules/unictype/property-unified-ideograph: Likewise.
11938         * modules/unictype/property-uppercase: Likewise.
11939         * modules/unictype/property-variation-selector: Likewise.
11940         * modules/unictype/property-white-space: Likewise.
11941         * modules/unictype/property-xid-continue: Likewise.
11942         * modules/unictype/property-xid-start: Likewise.
11943         * modules/unictype/property-zero-width: Likewise.
11944         * modules/unictype/scripts: Likewise.
11945         * modules/unictype/syntax-c-ident: Likewise.
11946         * modules/unictype/syntax-c-whitespace: Likewise.
11947         * modules/unictype/syntax-java-ident: Likewise.
11948         * modules/unictype/syntax-java-whitespace: Likewise.
11949         * modules/unilbrk/u8-possible-linebreaks: Likewise.
11950         * modules/unilbrk/u8-width-linebreaks: Likewise.
11951         * modules/unilbrk/u16-possible-linebreaks: Likewise.
11952         * modules/unilbrk/u16-width-linebreaks: Likewise.
11953         * modules/unilbrk/u32-possible-linebreaks: Likewise.
11954         * modules/unilbrk/u32-width-linebreaks: Likewise.
11955         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
11956         * modules/unilbrk/ulc-width-linebreaks: Likewise.
11957         * modules/uniname/uniname: Likewise.
11958         * modules/uninorm/canonical-decomposition: Likewise.
11959         * modules/uninorm/composition: Likewise.
11960         * modules/uninorm/decomposing-form: Likewise.
11961         * modules/uninorm/decomposition: Likewise.
11962         * modules/uninorm/filter: Likewise.
11963         * modules/uninorm/nfc: Likewise.
11964         * modules/uninorm/nfd: Likewise.
11965         * modules/uninorm/nfkc: Likewise.
11966         * modules/uninorm/nfkd: Likewise.
11967         * modules/uninorm/u8-normalize: Likewise.
11968         * modules/uninorm/u8-normcmp: Likewise.
11969         * modules/uninorm/u8-normcoll: Likewise.
11970         * modules/uninorm/u8-normxfrm: Likewise.
11971         * modules/uninorm/u16-normalize: Likewise.
11972         * modules/uninorm/u16-normcmp: Likewise.
11973         * modules/uninorm/u16-normcoll: Likewise.
11974         * modules/uninorm/u16-normxfrm: Likewise.
11975         * modules/uninorm/u32-normalize: Likewise.
11976         * modules/uninorm/u32-normcmp: Likewise.
11977         * modules/uninorm/u32-normcoll: Likewise.
11978         * modules/uninorm/u32-normxfrm: Likewise.
11979         * modules/unistdio/u8-asnprintf: Likewise.
11980         * modules/unistdio/u8-asprintf: Likewise.
11981         * modules/unistdio/u8-snprintf: Likewise.
11982         * modules/unistdio/u8-sprintf: Likewise.
11983         * modules/unistdio/u8-u8-asnprintf: Likewise.
11984         * modules/unistdio/u8-u8-asprintf: Likewise.
11985         * modules/unistdio/u8-u8-snprintf: Likewise.
11986         * modules/unistdio/u8-u8-sprintf: Likewise.
11987         * modules/unistdio/u8-u8-vasnprintf: Likewise.
11988         * modules/unistdio/u8-u8-vasprintf: Likewise.
11989         * modules/unistdio/u8-u8-vsnprintf: Likewise.
11990         * modules/unistdio/u8-u8-vsprintf: Likewise.
11991         * modules/unistdio/u8-vasnprintf: Likewise.
11992         * modules/unistdio/u8-vasprintf: Likewise.
11993         * modules/unistdio/u8-vsnprintf: Likewise.
11994         * modules/unistdio/u8-vsprintf: Likewise.
11995         * modules/unistdio/u16-asnprintf: Likewise.
11996         * modules/unistdio/u16-asprintf: Likewise.
11997         * modules/unistdio/u16-snprintf: Likewise.
11998         * modules/unistdio/u16-sprintf: Likewise.
11999         * modules/unistdio/u16-u16-asnprintf: Likewise.
12000         * modules/unistdio/u16-u16-asprintf: Likewise.
12001         * modules/unistdio/u16-u16-snprintf: Likewise.
12002         * modules/unistdio/u16-u16-sprintf: Likewise.
12003         * modules/unistdio/u16-u16-vasnprintf: Likewise.
12004         * modules/unistdio/u16-u16-vasprintf: Likewise.
12005         * modules/unistdio/u16-u16-vsnprintf: Likewise.
12006         * modules/unistdio/u16-u16-vsprintf: Likewise.
12007         * modules/unistdio/u16-vasnprintf: Likewise.
12008         * modules/unistdio/u16-vasprintf: Likewise.
12009         * modules/unistdio/u16-vsnprintf: Likewise.
12010         * modules/unistdio/u16-vsprintf: Likewise.
12011         * modules/unistdio/u32-asnprintf: Likewise.
12012         * modules/unistdio/u32-asprintf: Likewise.
12013         * modules/unistdio/u32-snprintf: Likewise.
12014         * modules/unistdio/u32-sprintf: Likewise.
12015         * modules/unistdio/u32-u32-asnprintf: Likewise.
12016         * modules/unistdio/u32-u32-asprintf: Likewise.
12017         * modules/unistdio/u32-u32-snprintf: Likewise.
12018         * modules/unistdio/u32-u32-sprintf: Likewise.
12019         * modules/unistdio/u32-u32-vasnprintf: Likewise.
12020         * modules/unistdio/u32-u32-vasprintf: Likewise.
12021         * modules/unistdio/u32-u32-vsnprintf: Likewise.
12022         * modules/unistdio/u32-u32-vsprintf: Likewise.
12023         * modules/unistdio/u32-vasnprintf: Likewise.
12024         * modules/unistdio/u32-vasprintf: Likewise.
12025         * modules/unistdio/u32-vsnprintf: Likewise.
12026         * modules/unistdio/u32-vsprintf: Likewise.
12027         * modules/unistdio/ulc-asnprintf: Likewise.
12028         * modules/unistdio/ulc-asprintf: Likewise.
12029         * modules/unistdio/ulc-fprintf: Likewise.
12030         * modules/unistdio/ulc-snprintf: Likewise.
12031         * modules/unistdio/ulc-sprintf: Likewise.
12032         * modules/unistdio/ulc-vasnprintf: Likewise.
12033         * modules/unistdio/ulc-vasprintf: Likewise.
12034         * modules/unistdio/ulc-vfprintf: Likewise.
12035         * modules/unistdio/ulc-vsnprintf: Likewise.
12036         * modules/unistdio/ulc-vsprintf: Likewise.
12037         * modules/unistr/u8-check: Likewise.
12038         * modules/unistr/u8-chr: Likewise.
12039         * modules/unistr/u8-cmp: Likewise.
12040         * modules/unistr/u8-cmp2: Likewise.
12041         * modules/unistr/u8-cpy: Likewise.
12042         * modules/unistr/u8-cpy-alloc: Likewise.
12043         * modules/unistr/u8-endswith: Likewise.
12044         * modules/unistr/u8-mblen: Likewise.
12045         * modules/unistr/u8-mbsnlen: Likewise.
12046         * modules/unistr/u8-mbtouc: Likewise.
12047         * modules/unistr/u8-mbtouc-unsafe: Likewise.
12048         * modules/unistr/u8-mbtoucr: Likewise.
12049         * modules/unistr/u8-move: Likewise.
12050         * modules/unistr/u8-next: Likewise.
12051         * modules/unistr/u8-prev: Likewise.
12052         * modules/unistr/u8-set: Likewise.
12053         * modules/unistr/u8-startswith: Likewise.
12054         * modules/unistr/u8-stpcpy: Likewise.
12055         * modules/unistr/u8-stpncpy: Likewise.
12056         * modules/unistr/u8-strcat: Likewise.
12057         * modules/unistr/u8-strchr: Likewise.
12058         * modules/unistr/u8-strcmp: Likewise.
12059         * modules/unistr/u8-strcoll: Likewise.
12060         * modules/unistr/u8-strcpy: Likewise.
12061         * modules/unistr/u8-strcspn: Likewise.
12062         * modules/unistr/u8-strdup: Likewise.
12063         * modules/unistr/u8-strlen: Likewise.
12064         * modules/unistr/u8-strmblen: Likewise.
12065         * modules/unistr/u8-strmbtouc: Likewise.
12066         * modules/unistr/u8-strncat: Likewise.
12067         * modules/unistr/u8-strncmp: Likewise.
12068         * modules/unistr/u8-strncpy: Likewise.
12069         * modules/unistr/u8-strnlen: Likewise.
12070         * modules/unistr/u8-strpbrk: Likewise.
12071         * modules/unistr/u8-strrchr: Likewise.
12072         * modules/unistr/u8-strspn: Likewise.
12073         * modules/unistr/u8-strstr: Likewise.
12074         * modules/unistr/u8-strtok: Likewise.
12075         * modules/unistr/u8-to-u16: Likewise.
12076         * modules/unistr/u8-to-u32: Likewise.
12077         * modules/unistr/u8-uctomb: Likewise.
12078         * modules/unistr/u16-check: Likewise.
12079         * modules/unistr/u16-chr: Likewise.
12080         * modules/unistr/u16-cmp: Likewise.
12081         * modules/unistr/u16-cmp2: Likewise.
12082         * modules/unistr/u16-cpy: Likewise.
12083         * modules/unistr/u16-cpy-alloc: Likewise.
12084         * modules/unistr/u16-endswith: Likewise.
12085         * modules/unistr/u16-mblen: Likewise.
12086         * modules/unistr/u16-mbsnlen: Likewise.
12087         * modules/unistr/u16-mbtouc: Likewise.
12088         * modules/unistr/u16-mbtouc-unsafe: Likewise.
12089         * modules/unistr/u16-mbtoucr: Likewise.
12090         * modules/unistr/u16-move: Likewise.
12091         * modules/unistr/u16-next: Likewise.
12092         * modules/unistr/u16-prev: Likewise.
12093         * modules/unistr/u16-set: Likewise.
12094         * modules/unistr/u16-startswith: Likewise.
12095         * modules/unistr/u16-stpcpy: Likewise.
12096         * modules/unistr/u16-stpncpy: Likewise.
12097         * modules/unistr/u16-strcat: Likewise.
12098         * modules/unistr/u16-strchr: Likewise.
12099         * modules/unistr/u16-strcmp: Likewise.
12100         * modules/unistr/u16-strcoll: Likewise.
12101         * modules/unistr/u16-strcpy: Likewise.
12102         * modules/unistr/u16-strcspn: Likewise.
12103         * modules/unistr/u16-strdup: Likewise.
12104         * modules/unistr/u16-strlen: Likewise.
12105         * modules/unistr/u16-strmblen: Likewise.
12106         * modules/unistr/u16-strmbtouc: Likewise.
12107         * modules/unistr/u16-strncat: Likewise.
12108         * modules/unistr/u16-strncmp: Likewise.
12109         * modules/unistr/u16-strncpy: Likewise.
12110         * modules/unistr/u16-strnlen: Likewise.
12111         * modules/unistr/u16-strpbrk: Likewise.
12112         * modules/unistr/u16-strrchr: Likewise.
12113         * modules/unistr/u16-strspn: Likewise.
12114         * modules/unistr/u16-strstr: Likewise.
12115         * modules/unistr/u16-strtok: Likewise.
12116         * modules/unistr/u16-to-u32: Likewise.
12117         * modules/unistr/u16-to-u8: Likewise.
12118         * modules/unistr/u16-uctomb: Likewise.
12119         * modules/unistr/u32-check: Likewise.
12120         * modules/unistr/u32-chr: Likewise.
12121         * modules/unistr/u32-cmp: Likewise.
12122         * modules/unistr/u32-cmp2: Likewise.
12123         * modules/unistr/u32-cpy: Likewise.
12124         * modules/unistr/u32-cpy-alloc: Likewise.
12125         * modules/unistr/u32-endswith: Likewise.
12126         * modules/unistr/u32-mblen: Likewise.
12127         * modules/unistr/u32-mbsnlen: Likewise.
12128         * modules/unistr/u32-mbtouc: Likewise.
12129         * modules/unistr/u32-mbtouc-unsafe: Likewise.
12130         * modules/unistr/u32-mbtoucr: Likewise.
12131         * modules/unistr/u32-move: Likewise.
12132         * modules/unistr/u32-next: Likewise.
12133         * modules/unistr/u32-prev: Likewise.
12134         * modules/unistr/u32-set: Likewise.
12135         * modules/unistr/u32-startswith: Likewise.
12136         * modules/unistr/u32-stpcpy: Likewise.
12137         * modules/unistr/u32-stpncpy: Likewise.
12138         * modules/unistr/u32-strcat: Likewise.
12139         * modules/unistr/u32-strchr: Likewise.
12140         * modules/unistr/u32-strcmp: Likewise.
12141         * modules/unistr/u32-strcoll: Likewise.
12142         * modules/unistr/u32-strcpy: Likewise.
12143         * modules/unistr/u32-strcspn: Likewise.
12144         * modules/unistr/u32-strdup: Likewise.
12145         * modules/unistr/u32-strlen: Likewise.
12146         * modules/unistr/u32-strmblen: Likewise.
12147         * modules/unistr/u32-strmbtouc: Likewise.
12148         * modules/unistr/u32-strncat: Likewise.
12149         * modules/unistr/u32-strncmp: Likewise.
12150         * modules/unistr/u32-strncpy: Likewise.
12151         * modules/unistr/u32-strnlen: Likewise.
12152         * modules/unistr/u32-strpbrk: Likewise.
12153         * modules/unistr/u32-strrchr: Likewise.
12154         * modules/unistr/u32-strspn: Likewise.
12155         * modules/unistr/u32-strstr: Likewise.
12156         * modules/unistr/u32-strtok: Likewise.
12157         * modules/unistr/u32-to-u16: Likewise.
12158         * modules/unistr/u32-to-u8: Likewise.
12159         * modules/unistr/u32-uctomb: Likewise.
12160         * modules/uniwbrk/u8-wordbreaks: Likewise.
12161         * modules/uniwbrk/u16-wordbreaks: Likewise.
12162         * modules/uniwbrk/u32-wordbreaks: Likewise.
12163         * modules/uniwbrk/ulc-wordbreaks: Likewise.
12164         * modules/uniwbrk/wordbreak-property: Likewise.
12165         * modules/uniwidth/u8-strwidth: Likewise.
12166         * modules/uniwidth/u8-width: Likewise.
12167         * modules/uniwidth/u16-strwidth: Likewise.
12168         * modules/uniwidth/u16-width: Likewise.
12169         * modules/uniwidth/u32-strwidth: Likewise.
12170         * modules/uniwidth/u32-width: Likewise.
12171         * modules/uniwidth/width: Likewise.
12172         * modules/unicase/cased-tests (Makefile.am): Link all test programs
12173         with $(LIBUNISTRING).
12174         * modules/unicase/ignorable-tests: Likewise.
12175         * modules/unicase/locale-language-tests: Likewise.
12176         * modules/unicase/tolower-tests: Likewise.
12177         * modules/unicase/totitle-tests: Likewise.
12178         * modules/unicase/toupper-tests: Likewise.
12179         * modules/unicase/u8-casecmp-tests: Likewise.
12180         * modules/unicase/u8-casecoll-tests: Likewise.
12181         * modules/unicase/u8-casefold-tests: Likewise.
12182         * modules/unicase/u8-is-cased-tests: Likewise.
12183         * modules/unicase/u8-is-casefolded-tests: Likewise.
12184         * modules/unicase/u8-is-lowercase-tests: Likewise.
12185         * modules/unicase/u8-is-titlecase-tests: Likewise.
12186         * modules/unicase/u8-is-uppercase-tests: Likewise.
12187         * modules/unicase/u8-tolower-tests: Likewise.
12188         * modules/unicase/u8-totitle-tests: Likewise.
12189         * modules/unicase/u8-toupper-tests: Likewise.
12190         * modules/unicase/u16-casecmp-tests: Likewise.
12191         * modules/unicase/u16-casecoll-tests: Likewise.
12192         * modules/unicase/u16-casefold-tests: Likewise.
12193         * modules/unicase/u16-is-cased-tests: Likewise.
12194         * modules/unicase/u16-is-casefolded-tests: Likewise.
12195         * modules/unicase/u16-is-lowercase-tests: Likewise.
12196         * modules/unicase/u16-is-titlecase-tests: Likewise.
12197         * modules/unicase/u16-is-uppercase-tests: Likewise.
12198         * modules/unicase/u16-tolower-tests: Likewise.
12199         * modules/unicase/u16-totitle-tests: Likewise.
12200         * modules/unicase/u16-toupper-tests: Likewise.
12201         * modules/unicase/u32-casecmp-tests: Likewise.
12202         * modules/unicase/u32-casecoll-tests: Likewise.
12203         * modules/unicase/u32-casefold-tests: Likewise.
12204         * modules/unicase/u32-is-cased-tests: Likewise.
12205         * modules/unicase/u32-is-casefolded-tests: Likewise.
12206         * modules/unicase/u32-is-lowercase-tests: Likewise.
12207         * modules/unicase/u32-is-titlecase-tests: Likewise.
12208         * modules/unicase/u32-is-uppercase-tests: Likewise.
12209         * modules/unicase/u32-tolower-tests: Likewise.
12210         * modules/unicase/u32-totitle-tests: Likewise.
12211         * modules/unicase/u32-toupper-tests: Likewise.
12212         * modules/unicase/ulc-casecmp-tests: Likewise.
12213         * modules/unicase/ulc-casecoll-tests: Likewise.
12214         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
12215         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
12216         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
12217         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
12218         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
12219         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
12220         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
12221         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
12222         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
12223         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
12224         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
12225         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
12226         * modules/unictype/bidicategory-byname-tests: Likewise.
12227         * modules/unictype/bidicategory-name-tests: Likewise.
12228         * modules/unictype/bidicategory-of-tests: Likewise.
12229         * modules/unictype/bidicategory-test-tests: Likewise.
12230         * modules/unictype/block-list-tests: Likewise.
12231         * modules/unictype/block-of-tests: Likewise.
12232         * modules/unictype/block-test-tests: Likewise.
12233         * modules/unictype/category-C-tests: Likewise.
12234         * modules/unictype/category-Cc-tests: Likewise.
12235         * modules/unictype/category-Cf-tests: Likewise.
12236         * modules/unictype/category-Cn-tests: Likewise.
12237         * modules/unictype/category-Co-tests: Likewise.
12238         * modules/unictype/category-Cs-tests: Likewise.
12239         * modules/unictype/category-L-tests: Likewise.
12240         * modules/unictype/category-Ll-tests: Likewise.
12241         * modules/unictype/category-Lm-tests: Likewise.
12242         * modules/unictype/category-Lo-tests: Likewise.
12243         * modules/unictype/category-Lt-tests: Likewise.
12244         * modules/unictype/category-Lu-tests: Likewise.
12245         * modules/unictype/category-M-tests: Likewise.
12246         * modules/unictype/category-Mc-tests: Likewise.
12247         * modules/unictype/category-Me-tests: Likewise.
12248         * modules/unictype/category-Mn-tests: Likewise.
12249         * modules/unictype/category-N-tests: Likewise.
12250         * modules/unictype/category-Nd-tests: Likewise.
12251         * modules/unictype/category-Nl-tests: Likewise.
12252         * modules/unictype/category-No-tests: Likewise.
12253         * modules/unictype/category-P-tests: Likewise.
12254         * modules/unictype/category-Pc-tests: Likewise.
12255         * modules/unictype/category-Pd-tests: Likewise.
12256         * modules/unictype/category-Pe-tests: Likewise.
12257         * modules/unictype/category-Pf-tests: Likewise.
12258         * modules/unictype/category-Pi-tests: Likewise.
12259         * modules/unictype/category-Po-tests: Likewise.
12260         * modules/unictype/category-Ps-tests: Likewise.
12261         * modules/unictype/category-S-tests: Likewise.
12262         * modules/unictype/category-Sc-tests: Likewise.
12263         * modules/unictype/category-Sk-tests: Likewise.
12264         * modules/unictype/category-Sm-tests: Likewise.
12265         * modules/unictype/category-So-tests: Likewise.
12266         * modules/unictype/category-Z-tests: Likewise.
12267         * modules/unictype/category-Zl-tests: Likewise.
12268         * modules/unictype/category-Zp-tests: Likewise.
12269         * modules/unictype/category-Zs-tests: Likewise.
12270         * modules/unictype/category-and-not-tests: Likewise.
12271         * modules/unictype/category-and-tests: Likewise.
12272         * modules/unictype/category-byname-tests: Likewise.
12273         * modules/unictype/category-name-tests: Likewise.
12274         * modules/unictype/category-none-tests: Likewise.
12275         * modules/unictype/category-of-tests: Likewise.
12276         * modules/unictype/category-or-tests: Likewise.
12277         * modules/unictype/category-test-withtable-tests: Likewise.
12278         * modules/unictype/combining-class-tests: Likewise.
12279         * modules/unictype/ctype-alnum-tests: Likewise.
12280         * modules/unictype/ctype-alpha-tests: Likewise.
12281         * modules/unictype/ctype-blank-tests: Likewise.
12282         * modules/unictype/ctype-cntrl-tests: Likewise.
12283         * modules/unictype/ctype-digit-tests: Likewise.
12284         * modules/unictype/ctype-graph-tests: Likewise.
12285         * modules/unictype/ctype-lower-tests: Likewise.
12286         * modules/unictype/ctype-print-tests: Likewise.
12287         * modules/unictype/ctype-punct-tests: Likewise.
12288         * modules/unictype/ctype-space-tests: Likewise.
12289         * modules/unictype/ctype-upper-tests: Likewise.
12290         * modules/unictype/ctype-xdigit-tests: Likewise.
12291         * modules/unictype/decimal-digit-tests: Likewise.
12292         * modules/unictype/digit-tests: Likewise.
12293         * modules/unictype/mirror-tests: Likewise.
12294         * modules/unictype/numeric-tests: Likewise.
12295         * modules/unictype/property-alphabetic-tests: Likewise.
12296         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
12297         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
12298         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
12299         * modules/unictype/property-bidi-block-separator-tests: Likewise.
12300         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
12301         * modules/unictype/property-bidi-common-separator-tests: Likewise.
12302         * modules/unictype/property-bidi-control-tests: Likewise.
12303         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
12304         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
12305         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
12306         * modules/unictype/property-bidi-european-digit-tests: Likewise.
12307         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
12308         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
12309         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
12310         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
12311         * modules/unictype/property-bidi-pdf-tests: Likewise.
12312         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
12313         * modules/unictype/property-bidi-whitespace-tests: Likewise.
12314         * modules/unictype/property-byname-tests: Likewise.
12315         * modules/unictype/property-combining-tests: Likewise.
12316         * modules/unictype/property-composite-tests: Likewise.
12317         * modules/unictype/property-currency-symbol-tests: Likewise.
12318         * modules/unictype/property-dash-tests: Likewise.
12319         * modules/unictype/property-decimal-digit-tests: Likewise.
12320         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
12321         * modules/unictype/property-deprecated-tests: Likewise.
12322         * modules/unictype/property-diacritic-tests: Likewise.
12323         * modules/unictype/property-extender-tests: Likewise.
12324         * modules/unictype/property-format-control-tests: Likewise.
12325         * modules/unictype/property-grapheme-base-tests: Likewise.
12326         * modules/unictype/property-grapheme-extend-tests: Likewise.
12327         * modules/unictype/property-grapheme-link-tests: Likewise.
12328         * modules/unictype/property-hex-digit-tests: Likewise.
12329         * modules/unictype/property-hyphen-tests: Likewise.
12330         * modules/unictype/property-id-continue-tests: Likewise.
12331         * modules/unictype/property-id-start-tests: Likewise.
12332         * modules/unictype/property-ideographic-tests: Likewise.
12333         * modules/unictype/property-ids-binary-operator-tests: Likewise.
12334         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
12335         * modules/unictype/property-ignorable-control-tests: Likewise.
12336         * modules/unictype/property-iso-control-tests: Likewise.
12337         * modules/unictype/property-join-control-tests: Likewise.
12338         * modules/unictype/property-left-of-pair-tests: Likewise.
12339         * modules/unictype/property-line-separator-tests: Likewise.
12340         * modules/unictype/property-logical-order-exception-tests: Likewise.
12341         * modules/unictype/property-lowercase-tests: Likewise.
12342         * modules/unictype/property-math-tests: Likewise.
12343         * modules/unictype/property-non-break-tests: Likewise.
12344         * modules/unictype/property-not-a-character-tests: Likewise.
12345         * modules/unictype/property-numeric-tests: Likewise.
12346         * modules/unictype/property-other-alphabetic-tests: Likewise.
12347         * modules/unictype/property-other-default-ignorable-code-point-tests:
12348         Likewise.
12349         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
12350         * modules/unictype/property-other-id-continue-tests: Likewise.
12351         * modules/unictype/property-other-id-start-tests: Likewise.
12352         * modules/unictype/property-other-lowercase-tests: Likewise.
12353         * modules/unictype/property-other-math-tests: Likewise.
12354         * modules/unictype/property-other-uppercase-tests: Likewise.
12355         * modules/unictype/property-paired-punctuation-tests: Likewise.
12356         * modules/unictype/property-paragraph-separator-tests: Likewise.
12357         * modules/unictype/property-pattern-syntax-tests: Likewise.
12358         * modules/unictype/property-pattern-white-space-tests: Likewise.
12359         * modules/unictype/property-private-use-tests: Likewise.
12360         * modules/unictype/property-punctuation-tests: Likewise.
12361         * modules/unictype/property-quotation-mark-tests: Likewise.
12362         * modules/unictype/property-radical-tests: Likewise.
12363         * modules/unictype/property-sentence-terminal-tests: Likewise.
12364         * modules/unictype/property-soft-dotted-tests: Likewise.
12365         * modules/unictype/property-space-tests: Likewise.
12366         * modules/unictype/property-terminal-punctuation-tests: Likewise.
12367         * modules/unictype/property-test-tests: Likewise.
12368         * modules/unictype/property-titlecase-tests: Likewise.
12369         * modules/unictype/property-unassigned-code-value-tests: Likewise.
12370         * modules/unictype/property-unified-ideograph-tests: Likewise.
12371         * modules/unictype/property-uppercase-tests: Likewise.
12372         * modules/unictype/property-variation-selector-tests: Likewise.
12373         * modules/unictype/property-white-space-tests: Likewise.
12374         * modules/unictype/property-xid-continue-tests: Likewise.
12375         * modules/unictype/property-xid-start-tests: Likewise.
12376         * modules/unictype/property-zero-width-tests: Likewise.
12377         * modules/unictype/scripts-tests: Likewise.
12378         * modules/unictype/syntax-c-ident-tests: Likewise.
12379         * modules/unictype/syntax-c-whitespace-tests: Likewise.
12380         * modules/unictype/syntax-java-ident-tests: Likewise.
12381         * modules/unictype/syntax-java-whitespace-tests: Likewise.
12382         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
12383         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
12384         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
12385         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
12386         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
12387         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
12388         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
12389         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
12390         * modules/uniname/uniname-tests: Likewise.
12391         * modules/uninorm/canonical-decomposition-tests: Likewise.
12392         * modules/uninorm/compat-decomposition-tests: Likewise.
12393         * modules/uninorm/composition-tests: Likewise.
12394         * modules/uninorm/decomposing-form-tests: Likewise.
12395         * modules/uninorm/decomposition-tests: Likewise.
12396         * modules/uninorm/filter-tests: Likewise.
12397         * modules/uninorm/nfc-tests: Likewise.
12398         * modules/uninorm/nfd-tests: Likewise.
12399         * modules/uninorm/nfkc-tests: Likewise.
12400         * modules/uninorm/nfkd-tests: Likewise.
12401         * modules/uninorm/u8-normcmp-tests: Likewise.
12402         * modules/uninorm/u8-normcoll-tests: Likewise.
12403         * modules/uninorm/u16-normcmp-tests: Likewise.
12404         * modules/uninorm/u16-normcoll-tests: Likewise.
12405         * modules/uninorm/u32-normcmp-tests: Likewise.
12406         * modules/uninorm/u32-normcoll-tests: Likewise.
12407         * modules/unistdio/u8-asnprintf-tests: Likewise.
12408         * modules/unistdio/u8-vasnprintf-tests: Likewise.
12409         * modules/unistdio/u8-vasprintf-tests: Likewise.
12410         * modules/unistdio/u8-vsnprintf-tests: Likewise.
12411         * modules/unistdio/u8-vsprintf-tests: Likewise.
12412         * modules/unistdio/u16-asnprintf-tests: Likewise.
12413         * modules/unistdio/u16-vasnprintf-tests: Likewise.
12414         * modules/unistdio/u16-vasprintf-tests: Likewise.
12415         * modules/unistdio/u16-vsnprintf-tests: Likewise.
12416         * modules/unistdio/u16-vsprintf-tests: Likewise.
12417         * modules/unistdio/u32-asnprintf-tests: Likewise.
12418         * modules/unistdio/u32-vasnprintf-tests: Likewise.
12419         * modules/unistdio/u32-vasprintf-tests: Likewise.
12420         * modules/unistdio/u32-vsnprintf-tests: Likewise.
12421         * modules/unistdio/u32-vsprintf-tests: Likewise.
12422         * modules/unistdio/ulc-asnprintf-tests: Likewise.
12423         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
12424         * modules/unistdio/ulc-vasprintf-tests: Likewise.
12425         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
12426         * modules/unistdio/ulc-vsprintf-tests: Likewise.
12427         * modules/unistr/u8-check-tests: Likewise.
12428         * modules/unistr/u8-chr-tests: Likewise.
12429         * modules/unistr/u8-cmp-tests: Likewise.
12430         * modules/unistr/u8-cmp2-tests: Likewise.
12431         * modules/unistr/u8-cpy-alloc-tests: Likewise.
12432         * modules/unistr/u8-cpy-tests: Likewise.
12433         * modules/unistr/u8-mblen-tests: Likewise.
12434         * modules/unistr/u8-mbsnlen-tests: Likewise.
12435         * modules/unistr/u8-mbtouc-tests: Likewise.
12436         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
12437         * modules/unistr/u8-mbtoucr-tests: Likewise.
12438         * modules/unistr/u8-move-tests: Likewise.
12439         * modules/unistr/u8-next-tests: Likewise.
12440         * modules/unistr/u8-prev-tests: Likewise.
12441         * modules/unistr/u8-set-tests: Likewise.
12442         * modules/unistr/u8-stpcpy-tests: Likewise.
12443         * modules/unistr/u8-stpncpy-tests: Likewise.
12444         * modules/unistr/u8-strcat-tests: Likewise.
12445         * modules/unistr/u8-strcmp-tests: Likewise.
12446         * modules/unistr/u8-strcoll-tests: Likewise.
12447         * modules/unistr/u8-strcpy-tests: Likewise.
12448         * modules/unistr/u8-strdup-tests: Likewise.
12449         * modules/unistr/u8-strlen-tests: Likewise.
12450         * modules/unistr/u8-strmblen-tests: Likewise.
12451         * modules/unistr/u8-strmbtouc-tests: Likewise.
12452         * modules/unistr/u8-strncat-tests: Likewise.
12453         * modules/unistr/u8-strncmp-tests: Likewise.
12454         * modules/unistr/u8-strncpy-tests: Likewise.
12455         * modules/unistr/u8-strnlen-tests: Likewise.
12456         * modules/unistr/u8-to-u16-tests: Likewise.
12457         * modules/unistr/u8-to-u32-tests: Likewise.
12458         * modules/unistr/u8-uctomb-tests: Likewise.
12459         * modules/unistr/u16-check-tests: Likewise.
12460         * modules/unistr/u16-chr-tests: Likewise.
12461         * modules/unistr/u16-cmp-tests: Likewise.
12462         * modules/unistr/u16-cmp2-tests: Likewise.
12463         * modules/unistr/u16-cpy-alloc-tests: Likewise.
12464         * modules/unistr/u16-cpy-tests: Likewise.
12465         * modules/unistr/u16-mblen-tests: Likewise.
12466         * modules/unistr/u16-mbsnlen-tests: Likewise.
12467         * modules/unistr/u16-mbtouc-tests: Likewise.
12468         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
12469         * modules/unistr/u16-mbtoucr-tests: Likewise.
12470         * modules/unistr/u16-move-tests: Likewise.
12471         * modules/unistr/u16-next-tests: Likewise.
12472         * modules/unistr/u16-prev-tests: Likewise.
12473         * modules/unistr/u16-set-tests: Likewise.
12474         * modules/unistr/u16-stpcpy-tests: Likewise.
12475         * modules/unistr/u16-stpncpy-tests: Likewise.
12476         * modules/unistr/u16-strcat-tests: Likewise.
12477         * modules/unistr/u16-strcmp-tests: Likewise.
12478         * modules/unistr/u16-strcoll-tests: Likewise.
12479         * modules/unistr/u16-strcpy-tests: Likewise.
12480         * modules/unistr/u16-strdup-tests: Likewise.
12481         * modules/unistr/u16-strlen-tests: Likewise.
12482         * modules/unistr/u16-strmblen-tests: Likewise.
12483         * modules/unistr/u16-strmbtouc-tests: Likewise.
12484         * modules/unistr/u16-strncat-tests: Likewise.
12485         * modules/unistr/u16-strncmp-tests: Likewise.
12486         * modules/unistr/u16-strncpy-tests: Likewise.
12487         * modules/unistr/u16-strnlen-tests: Likewise.
12488         * modules/unistr/u16-to-u32-tests: Likewise.
12489         * modules/unistr/u16-to-u8-tests: Likewise.
12490         * modules/unistr/u16-uctomb-tests: Likewise.
12491         * modules/unistr/u32-check-tests: Likewise.
12492         * modules/unistr/u32-chr-tests: Likewise.
12493         * modules/unistr/u32-cmp-tests: Likewise.
12494         * modules/unistr/u32-cmp2-tests: Likewise.
12495         * modules/unistr/u32-cpy-alloc-tests: Likewise.
12496         * modules/unistr/u32-cpy-tests: Likewise.
12497         * modules/unistr/u32-mblen-tests: Likewise.
12498         * modules/unistr/u32-mbsnlen-tests: Likewise.
12499         * modules/unistr/u32-mbtouc-tests: Likewise.
12500         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
12501         * modules/unistr/u32-mbtoucr-tests: Likewise.
12502         * modules/unistr/u32-move-tests: Likewise.
12503         * modules/unistr/u32-next-tests: Likewise.
12504         * modules/unistr/u32-prev-tests: Likewise.
12505         * modules/unistr/u32-set-tests: Likewise.
12506         * modules/unistr/u32-stpcpy-tests: Likewise.
12507         * modules/unistr/u32-stpncpy-tests: Likewise.
12508         * modules/unistr/u32-strcat-tests: Likewise.
12509         * modules/unistr/u32-strcmp-tests: Likewise.
12510         * modules/unistr/u32-strcoll-tests: Likewise.
12511         * modules/unistr/u32-strcpy-tests: Likewise.
12512         * modules/unistr/u32-strdup-tests: Likewise.
12513         * modules/unistr/u32-strlen-tests: Likewise.
12514         * modules/unistr/u32-strmblen-tests: Likewise.
12515         * modules/unistr/u32-strmbtouc-tests: Likewise.
12516         * modules/unistr/u32-strncat-tests: Likewise.
12517         * modules/unistr/u32-strncmp-tests: Likewise.
12518         * modules/unistr/u32-strncpy-tests: Likewise.
12519         * modules/unistr/u32-strnlen-tests: Likewise.
12520         * modules/unistr/u32-to-u16-tests: Likewise.
12521         * modules/unistr/u32-to-u8-tests: Likewise.
12522         * modules/unistr/u32-uctomb-tests: Likewise.
12523         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
12524         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
12525         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
12526         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
12527         * modules/uniwidth/u8-strwidth-tests: Likewise.
12528         * modules/uniwidth/u8-width-tests: Likewise.
12529         * modules/uniwidth/u16-strwidth-tests: Likewise.
12530         * modules/uniwidth/u16-width-tests: Likewise.
12531         * modules/uniwidth/u32-strwidth-tests: Likewise.
12532         * modules/uniwidth/u32-width-tests: Likewise.
12533         * modules/uniwidth/width-tests: Likewise.
12534
12535 2010-05-18  Richard Jones  <rjones@redhat.com>
12536
12537         doc: users.txt: list hivex
12538         * users.txt: Add hivex.
12539
12540 2010-05-18  Richard Jones  <rjones@redhat.com>
12541
12542         doc: users.txt: list febootstrap
12543         * users.txt: Add febootstrap.
12544
12545 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
12546
12547         bootstrap: fix an error when gnulib is not used as a git submodule
12548         * build-aux/bootstrap (gnulib_path): If its length is zero then
12549         assign "gnulib" to it.
12550         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
12551
12552 2010-05-16  Bruno Haible  <bruno@clisp.org>
12553
12554         Avoid autoconf warnings about AM_ICONV.
12555         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
12556         2.64.
12557
12558 2010-05-16  Bruno Haible  <bruno@clisp.org>
12559
12560         absolute-header: Make the macro usable in more situations.
12561         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
12562         from gl_ABSOLUTE_HEADER.
12563         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
12564
12565 2010-05-16  James Youngman  <jay@gnu.org>
12566
12567         doc: update users.txt
12568         * users.txt: Add CSSC.
12569
12570 2010-05-16  Jim Meyering  <meyering@redhat.com>
12571
12572         init.sh: fix an error in the previous change; add more comments
12573         * tests/init.sh: Compare exit code in loop against 9, not 2.
12574         Patch by Bruno Haible.
12575         Make the two tests more similar by adding an empty "then" clause.
12576         Add comments.
12577
12578         init.sh: avoid unnecessary shell re-exec
12579         * tests/init.sh: Improve the re-exec-required check to first test the
12580         current shell.  If it passes the test, do not search for a shell that
12581         does pass, and do not re-exec.  This test is particularly contorted to
12582         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
12583         of $(...) evokes a syntax error and causes immediate shell exit with
12584         status 2.  Bruno Haible reported that the re-exec made it impossible
12585         to single-step through any init.sh-using script.
12586
12587 2010-05-16  Bruno Haible  <bruno@clisp.org>
12588
12589         Fix collision between gnulib's and libintl's printf replacements.
12590         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
12591         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
12592         (printf): When using GNU C, map the __printf__ function to rpl_printf
12593         via __asm__. When not using GNU C, define rpl_printf instead of
12594         __printf__.
12595         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
12596         commit.
12597         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
12598         commit.
12599         * m4/asm-underscore.m4: New file.
12600         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
12601         * modules/stdio (Files): Add m4/asm-underscore.m4.
12602         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
12603         Reported by Ben Pfaff.
12604
12605 2010-05-16  Bruno Haible  <bruno@clisp.org>
12606
12607         verify: Avoid skipping the test on openSUSE 11.0.
12608         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
12609
12610 2010-05-13  Bruno Haible  <bruno@clisp.org>
12611
12612         Avoid useless warnings from G++.
12613         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
12614         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
12615         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
12616
12617 2010-05-11  Jim Meyering  <meyering@redhat.com>
12618
12619         maint.mk: tweak preceding change
12620         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
12621         regexps tighter by anchoring at EOL, and make the new group "shy"
12622         for slightly decreased overhead.
12623
12624 2010-05-11  Eric Blake  <eblake@redhat.com>
12625
12626         maint.mk: gnulib doesn't guarantee NSIG
12627         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
12628
12629 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
12630
12631         test-pwrite.c: Remove unused variable declaration.
12632         * tests/test-pwrite.c (main): Remove read_buf declaration.
12633
12634         Remove useless test-pwrite.sh file.
12635         * tests/test-pwrite.sh: Delete file.
12636         * modules/pwrite-tests: Remove references.
12637         Reported by Bruno Haible.
12638
12639 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
12640
12641         init.sh: fix a typo
12642         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
12643
12644 2010-05-10  Jim Meyering  <meyering@redhat.com>
12645
12646         maint.mk: avoid using a temporary file in the always-defined-macros check
12647         * top/maint.mk (.re-defmac): Remove rule.
12648         (gl_trap_): Remove definition.
12649         (sc_prohibit_always-defined_macros): Rewrite not to create and
12650         depend on a temporary file.  Instead, depend on GNU grep's ability
12651         to read a list of regular expressions from stdin when given "-f -".
12652
12653 2010-05-09  Bruno Haible  <bruno@clisp.org>
12654
12655         Update to GNU gettext 0.18, part 1.
12656         * m4/gettext.m4: Update to GNU gettext 0.18.
12657         * m4/intl.m4: Likewise.
12658         * m4/po.m4: Likewise.
12659         * modules/gettext (Files): Add m4/fcntl-o.m4.
12660         (configure.ac): Require gettext infrastructure from version 0.18.
12661
12662 2010-05-09  Jim Meyering  <meyering@redhat.com>
12663
12664         init.sh: enable MALLOC_PERTURB_
12665         * tests/init.sh: Enable glibc's malloc-perturbing option.
12666
12667         maint.mk: improve sc_cross_check_PATH_usage_in_tests
12668         With my recent change in init.sh from the two-line form:
12669             -#   : ${srcdir=.}
12670             -#   . "$srcdir/init.sh"; path_prepend_ .
12671             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
12672         I noticed that using the one-line form would cause this test
12673         to fail with a false-positive, or to stop working altogether,
12674         depending on whether help-version changed or all the tests did.
12675         * top/maint.mk (_hv_regex): Remove this definition.
12676         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
12677         (_hv_regex_strong): Use a stronger regex to check for conformance.
12678         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
12679         Give a separate diagnostic for lack of conforming use.
12680
12681         maint.mk: prohibit definition of symbols defined by gnulib
12682         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
12683         definition of symbols defined by gnulib.
12684
12685 2010-05-09  Bruno Haible  <bruno@clisp.org>
12686
12687         acl: Avoid test failure on Cygwin-hosted mingw.
12688         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
12689
12690 2010-05-09  Bruno Haible  <bruno@clisp.org>
12691
12692         error: Use system's fcntl function.
12693         * lib/error.c (fcntl): Undefine.
12694
12695 2010-05-09  Jim Meyering  <meyering@redhat.com>
12696
12697         verify: adjust formatting to be more consistent
12698         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
12699         argument-list '('s, and after one comma.
12700
12701 2010-05-09  Bruno Haible  <bruno@clisp.org>
12702
12703         error: More reliable output on mingw.
12704         * lib/error.c: Include <windows.h>.
12705         (is_open): New function.
12706         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
12707         defined.
12708
12709 2010-05-09  Bruno Haible  <bruno@clisp.org>
12710
12711         vasnprintf: Fix syntax errors in libintl build on mingw.
12712         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
12713         pad_ourselves and prec_ourselves after use.
12714
12715 2010-05-08  Bruno Haible  <bruno@clisp.org>
12716
12717         * lib/config.charset: Update comments for Cygwin 1.7.
12718         * lib/localcharset.c: Likewise.
12719
12720 2010-05-07  Jim Meyering  <meyering@redhat.com>
12721
12722         init.sh: improve comments
12723         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
12724         . "${srcdir=.}/init.sh"; path_prepend_ .
12725         Add a note about path_prepend_ and the alternative of using
12726         TESTS_ENVIRONMENT.
12727
12728 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
12729
12730         exclude: Unescape hashed patterns in wildcard mode.
12731         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
12732         to the hash list.
12733         * tests/test-exclude8.sh: New test case.
12734         * modules/exclude-tests: Add new test.
12735
12736 2010-05-05  Eric Blake  <eblake@redhat.com>
12737
12738         verify: automate tests
12739         * modules/verify-tests: New module.
12740         * tests/test-verify.sh: New file.
12741         * tests/test-verify.c: Guard each negative test with a unique id.
12742         Also avoid warning about unused left hand of comma expressions.
12743
12744 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
12745
12746         Further improvements to verify.h, suggested by Eric Blake.
12747         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
12748         the GL_* versions, to avoid collision with OpenGL.
12749         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
12750         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
12751         than testing merely whether it's defined.
12752
12753         Modify verify.h to pacify gcc -Wredundant_decls.
12754         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
12755         These use the prefix "GL_" since they're likely to be useful elsewhere.
12756         We may need to break them out into a different .h file.
12757         (__COUNTER__): Define to 0 if the compiler doesn't support it.
12758         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
12759         of verify_function__.
12760
12761 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
12762
12763         Tests for module pwrite.
12764         * modules/pwrite-tests: New file.
12765         * tests/test-pwrite.sh: New file.
12766         * tests/test-pwrite.c: New file.
12767
12768         New module pwrite.
12769         * lib/unistd.in.h (pwrite): New declaration.
12770         * lib/pwrite.c: New file, from glibc with modifications.
12771         * m4/pwrite.m4: New file.
12772         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
12773         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
12774         REPLACE_PWRITE.
12775         * modules/pwrite: New file.
12776         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
12777         REPLACE_PWRITE.
12778         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
12779         * doc/posix-functions/pwrite.texi: Mention the new module.
12780
12781 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
12782
12783         pread: Update documentation.
12784         * doc/posix-functions/pread.texi: Mention the 'pread' module.
12785
12786 2010-05-04  Eric Blake  <eblake@redhat.com>
12787
12788         docs: update cygwin progress
12789         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
12790         this bug.
12791         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
12792         Added in cygwin 1.7.2.
12793         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
12794         Likewise.
12795         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
12796         Likewise.
12797         * doc/glibc-functions/dup3.texi (dup3): Likewise.
12798         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
12799         * doc/glibc-functions/accept4.texi (accept4): Likewise.
12800         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
12801         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
12802         Mention nproc module.
12803         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
12804         bug in cygwin 1.7.5 addition.
12805         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
12806         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
12807         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
12808         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
12809         1.7.5.
12810         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
12811         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
12812         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
12813         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
12814         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
12815         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
12816         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
12817         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
12818         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
12819         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
12820         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
12821         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
12822         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
12823         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
12824         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
12825         Likewise.
12826         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
12827         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
12828         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
12829         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
12830         Likewise.
12831         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
12832         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
12833         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
12834         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
12835         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
12836         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
12837         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
12838         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
12839         Likewise.
12840         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
12841         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
12842         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
12843         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
12844         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
12845         Likewise.
12846         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
12847         Likewise.
12848         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
12849         Likewise.
12850         * doc/glibc-functions/xdrrec_endofrecord.texi
12851         (xdrrec_endofrecord): Likewise.
12852         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
12853         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
12854         Likewise.
12855         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
12856         Likewise.
12857
12858 2010-05-04  Jim Meyering  <meyering@redhat.com>
12859
12860         gendocs.sh: make its "-s FILE" option more useful
12861         * build-aux/gendocs.sh: When honoring the -s FILE option, update
12862         $PACKAGE to reflect the probably-different basename of "FILE".
12863
12864 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
12865
12866         bootstrap: don't ignore download_po_files failure
12867         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
12868         failure.
12869
12870 2010-05-03  Jim Meyering  <meyering@redhat.com>
12871
12872         maint.mk: allow to pass options to gendocs.sh
12873         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
12874         (gendocs_options_): New overridable variable.
12875
12876         gnu-web-doc-update: don't ignore configure or build failure
12877         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
12878
12879         announce-gen: backslash-escape '@'s in --help output
12880         * build-aux/announce-gen: Fix syntax errors.
12881
12882         maint.mk, announce-gen: allow project-specific announcement mail headers
12883         * top/maint.mk (translation_project_): Define default.
12884         (announcement_Cc_, announcement_mail_headers_): Likewise.
12885         (announcement): Invoke announce-gen with new --mail-headers option.
12886         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
12887
12888         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
12889         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
12890         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
12891         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
12892         line in the "err2" output file when running "make check" in verbose
12893         mode (i.e., with set -x enabled).
12894
12895 2010-05-03  Bruno Haible  <bruno@clisp.org>
12896
12897         wctob: Fix for weird platforms.
12898         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
12899         argument value.
12900
12901 2010-05-03  Jim Meyering  <meyering@redhat.com>
12902
12903         maint.mk: prohibit unwarranted use of <strings.h>
12904         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
12905         strings.h in a file that does not also use strcasecmp, strncasecmp,
12906         ffs or ffsll.
12907
12908         maint.mk: remove obsolete comments
12909         * top/maint.mk: Remove stale, commented-out rules.
12910
12911 2010-05-02  Bruno Haible  <bruno@clisp.org>
12912
12913         wcwidth: Declare also when it's aliased.
12914         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
12915         macro.
12916
12917 2010-05-02  Bruno Haible  <bruno@clisp.org>
12918
12919         Fix regression from 2010-04-25.
12920         * gnulib-tool (func_modules_transitive_closure): Check the status of
12921         all modules, not only of the tests that are of the form foo-tests where
12922         foo is a module.
12923
12924 2010-05-02  Bruno Haible  <bruno@clisp.org>
12925
12926         wctob: Work around nasty Cygwin 1.7.2 bug.
12927         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
12928         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
12929
12930 2010-05-01  Bruno Haible  <bruno@clisp.org>
12931
12932         fpurge: Sharper test.
12933         * tests/test-fpurge.c (main): Add one more ftell check.
12934         * modules/fpurge-tests (Depends-on): Add ftell.
12935         Suggested by Eric Blake.
12936
12937 2010-05-01  Bruno Haible  <bruno@clisp.org>
12938
12939         ftello: Another test.
12940         * tests/test-ftello3.c: New file.
12941         * modules/ftello-tests (Files): Add it.
12942         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
12943         MOSTLYCLEANFILES.
12944
12945         ftell: Another test.
12946         * tests/test-ftell3.c: New file.
12947         * modules/ftell-tests (Files): Add it.
12948         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
12949         MOSTLYCLEANFILES.
12950
12951 2010-05-01  Bruno Haible  <bruno@clisp.org>
12952
12953         ftell, ftello: Work around Solaris bug.
12954         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
12955         * lib/ftello.c: Include stdio-impl.h.
12956         (ftello): On Solaris, when _IOWRT is set, compute the result without
12957         looking at _IOREAD.
12958         * modules/ftello (Files): Add lib/stdio-impl.h.
12959         * doc/posix-functions/ftell.texi: Mention Solaris bug.
12960         * doc/posix-functions/ftello.texi: Likewise.
12961         Reported by Eric Blake.
12962
12963 2010-05-01  Bruno Haible  <bruno@clisp.org>
12964
12965         freading: Adapt to special meaning of _IOREAD flag on Solaris.
12966         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
12967         the _IOWRT flag is also set.
12968
12969 2010-05-01  Bruno Haible  <bruno@clisp.org>
12970
12971         Fix doc about a HP-UX stdio bug.
12972         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
12973         * doc/posix-functions/ftello.texi: Likewise.
12974
12975 2010-05-01  Bruno Haible  <bruno@clisp.org>
12976
12977         lseek test: Fix failure on Solaris.
12978         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
12979         output.
12980
12981 2010-04-30  Jim Meyering  <meyering@redhat.com>
12982
12983         bootstrap: don't ignore failure to generate po*/Makevars
12984         * build-aux/bootstrap (with_gettext): Don't ignore failure
12985         to create po/Makevars or runtime-po/Makevars.
12986
12987 2010-04-29  Eric Blake  <eblake@redhat.com>
12988
12989         headers: relax license to LGPLv2+
12990         * modules/fcntl-h (License): Relax license.
12991         * modules/getopt-posix (License): Likewise.
12992         * modules/locale (License): Likewise.
12993         * modules/math (License): Likewise.
12994         * modules/pty (License): Likewise.
12995         * modules/sched (License): Likewise.
12996         * modules/search (License): Likewise.
12997         * modules/spawn (License): Likewise.
12998         * modules/stdarg (License): Likewise.
12999         * modules/sysexits (License): Likewise.
13000
13001 2010-04-29  Jim Meyering  <meyering@redhat.com>
13002
13003         inttypes: relax license to LGPLv2+
13004         * modules/inttypes (License): Relax license.
13005
13006 2010-04-29  Simon Josefsson  <simon@josefsson.org>
13007
13008         * top/maint.mk (indent): Run twice to produce idempotent results.
13009
13010 2010-04-28  Bruno Haible  <bruno@clisp.org>
13011
13012         getdate: Generate getdate.c in the source directory.
13013         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
13014         MOSTLYCLEANFILES.
13015         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
13016
13017 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
13018
13019         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
13020         is not declared as a const *; avoid warnings in that case.
13021
13022 2010-04-28  Eric Blake  <eblake@redhat.com>
13023
13024         canonicalize-lgpl: avoid compiler warning
13025         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
13026         declaration' / 'extraneous semicolon' warning with some compilers.
13027         Reported by Andreas Gruenbacher.
13028
13029 2010-04-28  Jim Meyering  <meyering@redhat.com>
13030
13031         init.sh: ensure a more reliable exit status when exiting via trap
13032         * tests/init.sh (setup_): Don't rely on $? in signal handler.
13033         Inspired by patches from Dmitry V. Levin.
13034         Also trap on signal 3 (SIGQUIT).
13035
13036 2010-04-27  Bruno Haible  <bruno@clisp.org>
13037
13038         Update doc about utimes().
13039         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
13040         'utimens' module.
13041         Reported by Andreas Gruenbacher <agruen@suse.de>.
13042
13043 2010-04-27  Eric Blake  <eblake@redhat.com>
13044
13045         full-read, full-write: relax license
13046         * modules/full-read (License): Drop to LGPLv2+.
13047         * modules/full-write (License): Likewise.
13048         * modules/safe-read (License): Likewise.
13049         * modules/safe-write (License): Likewise.
13050
13051         pthread: mention library for linking
13052         * modules/pthread (Link): Mention $(LIB_PTHREAD).
13053
13054 2010-04-27  Jim Meyering  <meyering@redhat.com>
13055
13056         maint.mk: fix a bug introduced in last change
13057         * top/maint.mk (gl_assured_headers_): Now that all names are on
13058         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
13059         is not anchored to end of word, it should be adequate.
13060
13061         maint.mk: avoid side-effect in latest syntax-check
13062         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
13063         to run commands via $(shell...), and hence to incur cost only when
13064         the new rule is actually run.
13065
13066         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
13067         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
13068         and use that to create a regexp used to detect all #if HAVE_..._H uses.
13069         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
13070         (gl_assured_headers_, az_, AZ_): Define.
13071         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
13072
13073 2010-04-26  Jim Meyering  <jim@meyering.net>
13074             Bruno Haible  <bruno@clisp.org>
13075
13076         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
13077         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
13078         Prompted by an exchange with Gilles Espinasse.
13079
13080 2010-04-26  Jim Meyering  <meyering@redhat.com>
13081
13082         git-version-gen: aesthetic tweak
13083         * build-aux/git-version-gen: Use "$nl" rather than a literal,
13084         so that the command remains on a single line.
13085
13086 2010-04-26  Eric Blake  <eblake@redhat.com>
13087
13088         git-version-gen: allow use on EBCDIC hosts
13089         * build-aux/git-version-gen (dirty): Use literal rather than tying
13090         ourselves to ascii.
13091         Reported by Steve Goetze.
13092
13093 2010-04-25  Bruno Haible  <bruno@clisp.org>
13094
13095         netdb: Add support for GNULIB_POSIXCHECK.
13096         * lib/netdb.in.h: Include warn-on-use.h.
13097         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
13098         functions are used when GNULIB_POSIXCHECK is defined and the
13099         getaddrinfo module is not in use.
13100         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
13101         freeaddrinfo, gai_strerror, getnameinfo are declared.
13102         * modules/netdb (Depends-on): Add warn-on-use.
13103         (Makefile.am): Include warn-on-use.h in netdb.h.
13104
13105 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
13106
13107         build: avoid "make check" failure without .git/ directory
13108         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
13109         there is no .git/ directory.
13110
13111 2010-04-25  Bruno Haible  <bruno@clisp.org>
13112
13113         ptsname: Fix misuse of ttyname_r.
13114         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
13115         of errno.
13116
13117 2010-04-25  Bruno Haible  <bruno@clisp.org>
13118
13119         ttyname_r: Make it work on Solaris 10.
13120         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
13121         if the system function has the POSIX declaration. Test whether the
13122         function fails if the buffer is less than 128 bytes large.
13123         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
13124         system's ttyname_r function. Provide a reasonably large buffer.
13125         * modules/ttyname_r (Depends-on): Add extensions.
13126         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
13127
13128 2010-04-25  Bruno Haible  <bruno@clisp.org>
13129
13130         Use the 'extensions' module for some more functions on Solaris.
13131         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
13132         module.
13133         * doc/posix-functions/ctime_r.texi: Likewise.
13134         * doc/posix-functions/getgrgid_r.texi: Likewise.
13135         * doc/posix-functions/getgrnam_r.texi: Likewise.
13136         * doc/posix-functions/getpwnam_r.texi: Likewise.
13137         * doc/posix-functions/getpwuid_r.texi: Likewise.
13138         * doc/posix-functions/readdir_r.texi: Likewise.
13139         * doc/posix-functions/sigwait.texi: Likewise.
13140         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
13141         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
13142
13143 2010-04-25  Bruno Haible  <bruno@clisp.org>
13144
13145         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
13146         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
13147         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
13148         * lib/ttyname_r.c: Include <limits.h>.
13149         (ttyname_r): Define using the system's ttyname_r function, if it exists
13150         and not on Solaris.
13151         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
13152         set.
13153         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
13154         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
13155         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
13156         Reported by Simon Josefsson.
13157
13158 2010-04-25  Bruno Haible  <bruno@clisp.org>
13159
13160         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
13161         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
13162         * doc/posix-functions/ctime_r.texi: Likewise.
13163         * doc/posix-functions/getgrgid_r.texi: Likewise.
13164         * doc/posix-functions/getgrnam_r.texi: Likewise.
13165         * doc/posix-functions/getlogin_r.texi: Likewise.
13166         * doc/posix-functions/getpwnam_r.texi: Likewise.
13167         * doc/posix-functions/getpwuid_r.texi: Likewise.
13168         * doc/posix-functions/readdir_r.texi: Likewise.
13169         * doc/posix-functions/sigwait.texi: Likewise.
13170         * doc/posix-functions/ttyname_r.texi: Likewise.
13171         Reported by Simon Josefsson.
13172
13173 2010-04-25  Bruno Haible  <bruno@clisp.org>
13174
13175         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
13176         * gnulib-tool (func_usage): Document that --with-*-tests options apply
13177         also to --create-testdir.
13178         (func_acceptable): Don't consider the status of *-tests modules here.
13179         (func_modules_transitive_closure): Consider it here, before including a
13180         test module.
13181         (func_import, func_create_testdir): Set inc_all_direct_tests,
13182         inc_all_indirect_tests.
13183         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
13184         --create-testdir and --create-megatestdir.
13185
13186 2010-04-25  Bruno Haible  <bruno@clisp.org>
13187
13188         gnulib-tool: Add --without-*-tests options.
13189         * gnulib-tool (func_usage): Document the --without-*-tests options.
13190         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
13191         excl_unportable_tests): New variables.
13192         Fail if they are specified with --import or --update.
13193         (func_acceptable): Respect the excl_*_tests variables.
13194         (func_import): Set the excl_*_tests variables to empty.
13195
13196 2010-04-25  Simon Josefsson  <simon@josefsson.org>
13197             Bruno Haible  <bruno@clisp.org>
13198
13199         Work around a MacOS X 10.4 bug with openpty.
13200         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
13201         * tests/test-openpty.c (main): Close the master side explicitly.
13202
13203 2010-04-25  Bruno Haible  <bruno@clisp.org>
13204
13205         strnlen: Fix a C++ test error on MacOS X and Solaris.
13206         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
13207         the function is not declared.
13208         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
13209         Simon Josefsson.
13210
13211 2010-04-24  Bruno Haible  <bruno@clisp.org>
13212
13213         Avoid a gcc warning.
13214         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
13215         of correct type for %08lx directive.
13216         Reported by Eric Blake.
13217
13218 2010-04-24  Bruno Haible  <bruno@clisp.org>
13219
13220         vasnprintf: Correct errno value in case of out-of-memory.
13221         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
13222         or sprintf. Use the errno value from SNPRINTF or sprintf.
13223         Reported by Ian Beckwith <ianb@erislabs.net>.
13224
13225 2010-04-24  Bruno Haible  <bruno@clisp.org>
13226
13227         ansi-c++-opt: Find correct compiler when cross-compiling.
13228         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
13229         AC_CHECK_PROGS.
13230         Reported by Simon Josefsson.
13231
13232 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
13233
13234         vc-list-files: Add support for subversion
13235         * build-aux/vc-list-files: Use "svn list" to generate the list of
13236         files controlled by subversion.
13237
13238 2010-04-23  Jim Meyering  <meyering@redhat.com>
13239
13240         vc-list-files tests: convert to use init.sh
13241         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
13242         path_prepend_.
13243         Use Exit, not exit.
13244         Use skip_ rather than open coding it.
13245         Remove trap set-up and compare definitions.
13246         * tests/test-vc-list-files-git.sh: Likewise.
13247         * modules/vc-list-files-tests (Files): Add tests/init.sh.
13248
13249 2010-04-22  Simon Josefsson  <simon@josefsson.org>
13250
13251         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
13252         backup files.
13253
13254 2010-04-21  Simon Josefsson  <simon@josefsson.org>
13255
13256         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
13257
13258 2010-04-20  Eric Blake  <eblake@redhat.com>
13259
13260         tests: be robust to ignored SIGPIPE
13261         * tests/test-select-in.sh: Consume all output.
13262         * tests/test-lseek.sh: Check correct exit status, while avoiding
13263         EPIPE.
13264
13265 2010-04-20  Simon Josefsson  <simon@josefsson.org>
13266             Bruno Haible  <bruno@clisp.org>
13267
13268         visibility: Don't use -fvisibility if it leads to a warning.
13269         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
13270         yes, don't pretend that visibility works if it leads to a warning.
13271         Reported by Mike Gran <spk121@yahoo.com>.
13272
13273 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
13274
13275         * build-aux/bootstrap: Use "git -h" for testing for supported options
13276         instead of "git --help".  The short-form option only shows a summary,
13277         and doesn't layout the full man page.  Grep for the full option name
13278         in the summary, too.
13279
13280 2010-04-19  Bruno Haible  <bruno@clisp.org>
13281
13282         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
13283         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
13284         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
13285         mention of RELOCATABLE_STRIP.
13286         Reported by Sylvain Beucler <beuc@beuc.net>.
13287
13288 2010-04-19  Bruno Haible  <bruno@clisp.org>
13289
13290         * lib/diffseq.h: Fix typo in comment.
13291         Reported by Eric Blake.
13292
13293 2010-04-19  Bruno Haible  <bruno@clisp.org>
13294
13295         ioctl: Move autoconf macro to a .m4 file.
13296         * m4/ioctl.m4: New file, extracted from modules/ioctl.
13297         * modules/ioctl (Files): Add it.
13298         (configure.ac): Simply invoke gl_FUNC_IOCTL.
13299         Reported by Ian Beckwith <ianb@erislabs.net>.
13300
13301 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
13302             Bruno Haible  <bruno@clisp.org>
13303
13304         diffseq: Accommodate use-case with abstract arrays.
13305         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
13306         is not defined.
13307         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
13308         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
13309
13310 2010-04-18  Bruno Haible  <bruno@clisp.org>
13311
13312         * doc/posix-headers/stdbool.texi: More precise wording.
13313
13314 2010-04-17  Jim Meyering  <meyering@redhat.com>
13315
13316         maint.mk: use gnu-style indentation in an embedded perl script
13317         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
13318         Rename variable: s/two/last_two_bytes/
13319
13320 2010-04-16  Eric Blake  <eblake@redhat.com>
13321
13322         test-stdbool: skip test that fails with Solaris CC
13323         * tests/test-stdbool.c (f): Skip test that causes compilation
13324         error under buggy C++ compiler.
13325         * lib/stdbool.in.h: Document the limitation.
13326         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
13327
13328         setenv: allow compilation with C++
13329         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
13330         register keyword.
13331
13332         stdint: allow test to pass with C++
13333         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
13334
13335         getopt: allow compilation with C++
13336         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
13337         struct.
13338         * lib/getopt.c (_getopt_internal_r): Use correct type.
13339         Reported by Dagobert Michelson, via Joel E. Denny.
13340
13341 2010-04-16  Bruno Haible  <bruno@clisp.org>
13342
13343         Override netdb.h always.
13344         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
13345         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
13346         Reported by Ludovic Courtès <ludo@gnu.org>.
13347
13348 2010-04-15  Bruno Haible  <bruno@clisp.org>
13349
13350         openpty: Fix mistake from 2010-03-21.
13351         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
13352         Reported by Simon Josefsson.
13353
13354 2010-04-15  Eric Blake  <eblake@redhat.com>
13355
13356         test-forkpty: fix expected signature
13357         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
13358         Reported by Simon Josefsson.
13359
13360 2010-04-15  Jim Meyering  <meyering@redhat.com>
13361
13362         maint.mk: texinfo_suffix_re_: correct the default regexp
13363         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
13364
13365         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
13366         make it configurable via texinfo_suffix_re_.
13367
13368 2010-04-14  Eric Blake  <eblake@redhat.com>
13369
13370         strtok_r: relax license to LGPLv2+
13371         * modules/strtok_r (License): Relax license.
13372         Reported by Matthias Bolte.
13373
13374 2010-04-14  Simon Josefsson  <simon@josefsson.org>
13375
13376         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
13377         version 1.4.4 by default instead of requiring the libgcrypt
13378         version used during build.  This makes it possible to use the
13379         application with older but still binary compatible libgcrypt
13380         versions.
13381
13382 2010-04-13  Eric Blake  <eblake@redhat.com>
13383
13384         getopt-gnu: match recent glibc fixes and posix ruling
13385         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
13386         '+' handling, when requesting extensions.
13387         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
13388         'W;' handling.
13389         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
13390         * doc/posix-functions/getopt.texi (getopt): Document this.
13391         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
13392         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
13393         Likewise.
13394
13395         getopt: merge bug fixes from glibc
13396         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
13397         diagnostics.  Honor '+:' correctly.  Reject ';'.
13398
13399         getopt-posix: detect MacOS bug
13400         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
13401         optind when missing a required argument.
13402         * doc/posix-functions/getopt.texi (getopt): Document the bug.
13403         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
13404         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
13405         Likewise.
13406
13407         getopt-posix: avoid spurious failure on Solaris
13408         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
13409         an indicator that setting optind=1 is sufficient for reset.
13410
13411         getopt-posix: avoid spurious failure on FreeBSD
13412         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
13413         in POSIX mode, since the m4 test uses it.
13414
13415         gnulib-tool: silence warning on BSD sh
13416         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
13417
13418 2010-04-13  Jim Meyering  <meyering@redhat.com>
13419
13420         doc: users.txt: GNU patch now uses gnulib
13421         * users.txt: Add patch.
13422
13423 2010-04-12  Jim Meyering  <meyering@redhat.com>
13424
13425         maint.mk: generate more concise timing data for syntax-check rules
13426         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
13427         " done" from each line that reports a syntax-check test duration.
13428
13429 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
13430
13431         git-version-gen: use "git update-index..." rather than "git status"
13432         * build-aux/git-version-gen: Use git update-index --refresh, not
13433         "git status".  With some versions of git, "git status" would fail
13434         to update the index and result in an unwarranted "-dirty" suffix.
13435
13436 2010-04-11  Jim Meyering  <meyering@redhat.com>
13437
13438         openat: correct formatting (no semantic change)
13439         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
13440         Suggested by Bruno Haible.
13441
13442 2010-04-11  Bruno Haible  <bruno@clisp.org>
13443
13444         Stricter declaration checking in testdirs.
13445         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
13446         If for_tests is true, augment AM_CPPFLAGS to define
13447         GNULIB_STRICT_CHECKING.
13448         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
13449         GNULIB_STRICT_CHECKING is defined, verify that the function is
13450         declared.
13451
13452 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
13453             Bruno Haible  <bruno@clisp.org>
13454
13455         libunistring: Improve configure output.
13456         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
13457         Don't say "consider installing GNU libunistring" when checking again
13458         with libiconv.
13459
13460 2010-04-11  Bruno Haible  <bruno@clisp.org>
13461
13462         libunistring: Correct value of $LTLIBUNISTRING.
13463         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
13464         correct the value of $LTLIBUNISTRING.
13465
13466 2010-04-11  Bruno Haible  <bruno@clisp.org>
13467
13468         havelib: Add static libraries to LIBS in the right order.
13469         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
13470         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
13471
13472 2010-04-11  Bruno Haible  <bruno@clisp.org>
13473
13474         libunistring: Detect libunistring also when it depends on libiconv.
13475         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
13476         the second AC_LIB_HAVE_LINKFLAGS invocation.
13477
13478 2010-04-11  James Youngman  <jay@gnu.org>
13479
13480         close-stream: declare local scalars to be "const"
13481         * lib/close-stream.c (close_stream): Make boolean variables const
13482         to document the fact that we set but do not change them.
13483
13484 2010-04-11  Bruno Haible  <bruno@clisp.org>
13485
13486         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
13487
13488 2010-04-11  Jim Meyering  <meyering@redhat.com>
13489
13490         maint.mk: don't include dist-check.mk
13491         * top/maint.mk: Remove bogus include directive.
13492
13493         maint.mk: improve empty-line-at-EOF check
13494         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
13495         solution, rather than tail+Perl-based one.  The latter would read
13496         a few kilobytes from the end of each file, and did not handle empty
13497         files properly.
13498
13499         maint.mk: print the elapsed time for each syntax-check rule
13500         * top/maint.mk (sc_m_rules_): Save start time in a file.
13501         (sc_z_rules_): New rules: remove temp file and print elapsed time.
13502         (local-check): Interpose the .z rules
13503
13504 2010-04-11  Jim Meyering  <meyering@redhat.com>
13505
13506         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
13507         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
13508         empty file with one that ends in an empty line.
13509
13510 2010-04-10  Bruno Haible  <bruno@clisp.org>
13511
13512         mkdir: Make it work on mingw64.
13513         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
13514         * lib/mkdir.c: Update comment.
13515         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
13516
13517 2010-04-10  Bruno Haible  <bruno@clisp.org>
13518
13519         Don't override improved macro from newer autoconf.
13520         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
13521         autoconf >= 2.62.
13522         Reported by Joel E. Denny <jdenny@clemson.edu>.
13523
13524 2010-04-10  Jim Meyering  <meyering@redhat.com>
13525
13526         maint.mk: new syntax-check rule: prohibit empty lines at end of file
13527         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
13528
13529         maint.mk: correct a diagnostic
13530         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
13531         in diagnostic; now use $prohibit.
13532
13533 2010-04-10  Bruno Haible  <address@hidden>
13534
13535         fchownat: Fix a C++ test error on Solaris 8.
13536         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
13537         the function does not exist.
13538
13539 2010-04-10  Bruno Haible  <bruno@clisp.org>
13540
13541         vasnprintf: Add more tests.
13542         * tests/test-vasnprintf-posix.c: Include <errno.h>.
13543         (test_function): Test converting an invalid wide string.
13544
13545         vasnprintf: Correct handling of unconvertible wide string arguments.
13546         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
13547         VASNPRINTF.
13548         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
13549         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
13550         smaller than the expected maximum need for the directive. Set errno to
13551         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
13552         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
13553         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
13554         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
13555         * modules/vasnprintf (Files): Add m4/printf.m4.
13556         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
13557
13558 2010-04-10  Bruno Haible  <bruno@clisp.org>
13559
13560         vasnprintf: Fix crash in %ls directive.
13561         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
13562         string is passed as argument to %ls, with no precision and no width.
13563         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
13564
13565 2010-04-10  Bruno Haible  <bruno@clisp.org>
13566
13567         vasnprintf: Fix multiple test failures on mingw.
13568         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
13569         _snprintf, or snwprintf, not _snwprintf.
13570
13571 2010-04-10  Bruno Haible  <bruno@clisp.org>
13572
13573         write: Fix a C++ test error on mingw.
13574         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
13575
13576 2010-04-10  Bruno Haible  <bruno@clisp.org>
13577
13578         vasnprintf test: Reduce code duplication.
13579         * tests/test-vasnprintf.c (test_function): New function, extracted from
13580         test_vasnprintf.
13581         (test_vasnprintf, test_asnprintf): Invoke it.
13582
13583 2010-04-10  Bruno Haible  <bruno@clisp.org>
13584
13585         strnlen: Fix warning in C++ mode on MacOS X.
13586         * lib/string.in.h (strnlen): Use the modern idiom.
13587         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
13588         defining strnlen as a macro already in <config.h>.
13589         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
13590         REPLACE_STRNLEN.
13591         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
13592         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
13593
13594 2010-04-08  James Youngman  <jay@gnu.org>
13595
13596         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
13597         the example.
13598
13599 2010-04-09  Jim Meyering  <meyering@redhat.com>
13600
13601         maint.mk: print better diagnostic when there is no $(_hv_file)
13602         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
13603         announce that when $(_hv_file) (aka help-version) does not exist.
13604
13605         init.sh: run tr in the "C" locale to avoid multibyte interpretation
13606         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
13607         not try to interpret its random input bytes.  Jarno Rajahalme reported
13608         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
13609         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
13610         (mktempd_): Likewise, just in case.
13611
13612         ftruncate: add two years to projected module removal date: 2012
13613         * m4/ftruncate.m4: Adjust comments.
13614
13615         ftruncate: mark module as obsolete; even MinGW provides it, now
13616         * modules/ftruncate (Status): Obsolete.
13617         (Notice): Say that.
13618         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
13619         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
13620
13621 2010-04-08  Bruno Haible  <bruno@clisp.org>
13622
13623         Fix side effects from tests-related modules.
13624         * modules/dprintf-posix (Comment): New section.
13625         * modules/fprintf-posix (Comment): Likewise.
13626         * modules/obstack-printf-posix (Comment): Likewise.
13627         * modules/printf-posix (Comment): Likewise.
13628         * modules/snprintf-posix (Comment): Likewise.
13629         * modules/sprintf-posix (Comment): Likewise.
13630         * modules/vasnprintf-posix (Comment): Likewise.
13631         * modules/vasprintf-posix (Comment): Likewise.
13632         * modules/vdprintf-posix (Comment): Likewise.
13633         * modules/vfprintf-posix (Comment): Likewise.
13634         * modules/vprintf-posix (Comment): Likewise.
13635         * modules/vsnprintf-posix (Comment): Likewise.
13636         * modules/vsprintf-posix (Comment): Likewise.
13637         * modules/xprintf-posix (Comment): Likewise.
13638         * modules/xvasprintf-posix (Comment): Likewise.
13639         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
13640         * modules/floorf-tests (Depends-on): Likewise.
13641         * modules/round-tests (Depends-on): Likewise.
13642         * modules/roundf-tests (Depends-on): Likewise.
13643         * modules/trunc-tests (Depends-on): Likewise.
13644         * modules/truncf-tests (Depends-on): Likewise.
13645         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
13646         'fprintf-posix' module is not present.
13647         * tests/test-floorf2.c (check): Likewise.
13648         * tests/test-trunc2.c (check): Likewise.
13649         * tests/test-truncf2.c (check): Likewise.
13650         * tests/test-round2.c (equal): Likewise.
13651         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
13652
13653 2010-04-07  Karl Berry  <karl@gnu.org>
13654
13655         * config/srclist.txt,
13656         * config/srclistvars.sh,
13657         * config/srclist-update: doc fixes.
13658
13659 2010-04-07  Jim Meyering  <meyering@redhat.com>
13660
13661         maint.mk: add a PATH crosschecking syntax-check rule
13662         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
13663         Useful if you use a test like the one in help-version (coreutils,
13664         diffutils, grep, gzip) that ensures $(VERSION) matches what is
13665         printed by prog --version.
13666
13667 2010-04-06  Bruno Haible  <bruno@clisp.org>
13668
13669         Fix link error on mingw.
13670         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
13671         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
13672
13673 2010-04-06  Bruno Haible  <bruno@clisp.org>
13674
13675         Assume rmdir exists.
13676         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
13677
13678 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
13679
13680         doc: update users.txt
13681         * users.txt: Add gcal.
13682
13683 2010-04-06  Jim Meyering  <meyering@redhat.com>
13684
13685         init.sh: simply unset TMPDIR rather than risking env -i
13686         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
13687         although it probably works fine on all Unix-based systems, some
13688         systems (Cygwin?) cannot tolerate a totally cleared environment.
13689         Suggestion from Eric Blake.
13690
13691 2010-04-06  Jim Meyering  <meyering@redhat.com>
13692
13693         init.sh: portability fix: use env's POSIX-specified -i option not -u
13694         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
13695         than unportable env -u.  Solaris 5.11's env lacks support for -u.
13696
13697 2010-04-05  Bruno Haible  <bruno@clisp.org>
13698
13699         btowc: Work around Cygwin 1.7.2 bug.
13700         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
13701         does not map NUL to 0.
13702         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
13703
13704 2010-04-05  Bruno Haible  <bruno@clisp.org>
13705
13706         Make the multithread modules work on Cygwin 1.7.2.
13707         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
13708         imported symbols can be declared weak, so that it returns "no" on
13709         Cygwin 1.7.2.
13710
13711 2010-04-05  Bruno Haible  <bruno@clisp.org>
13712
13713         Use the module 'strncat'.
13714         * modules/unistr/u8-strncat (Depends-on): Add strncat.
13715
13716         Tests for module 'strncat'.
13717         * modules/strncat-tests: New file.
13718         * tests/test-strncat.c: New file.
13719
13720         New module 'strncat'.
13721         * lib/string.in.h (strncat): New declaration.
13722         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
13723         * m4/strncat.m4: New file, based on m4/memchr.m4.
13724         * modules/strncat: New file.
13725         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
13726         is declared.
13727         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
13728         REPLACE_STRNCAT.
13729         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
13730         REPLACE_STRNCAT.
13731         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
13732         module.
13733         * tests/test-string-c++.cc: Check signature of strncat.
13734
13735 2010-04-05  Jim Meyering  <meyering@redhat.com>
13736
13737         xstrtoumax-tests: convert to use init.sh
13738         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
13739         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
13740         Use Exit, not exit.
13741         Remove uses of $EXEEXT and "./" to run a program in the current dir.
13742
13743         xstrtoimax-tests: convert to use init.sh
13744         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
13745         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
13746         Use Exit, not exit.
13747         Remove uses of $EXEEXT and "./" to run a program in the current dir.
13748
13749 2010-04-05  Bruno Haible  <bruno@clisp.org>
13750
13751         sys_socket: Avoid #define replacements in C++ mode.
13752         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
13753         warning to the function if possible, rather than #defining the symbol
13754         to a dysfunctional alias.
13755
13756 2010-04-05  Bruno Haible  <bruno@clisp.org>
13757
13758         fseeko: Fix C++ test error on mingw.
13759         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
13760         gl_FUNC_FSEEKO.
13761         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
13762         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
13763         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
13764         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
13765
13766 2010-04-05  Bruno Haible  <bruno@clisp.org>
13767
13768         duplocale: Improve test output.
13769         * tests/test-duplocale.c (main): Print reason for skipped test.
13770
13771 2010-04-05  Bruno Haible  <bruno@clisp.org>
13772
13773         Assume rmdir exists.
13774         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
13775         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
13776
13777 2010-04-05  Bruno Haible  <bruno@clisp.org>
13778
13779         Fix link error on Solaris 8 with cc.
13780         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
13781
13782 2010-04-05  Bruno Haible  <bruno@clisp.org>
13783
13784         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
13785         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
13786
13787 2010-04-05  Bruno Haible  <bruno@clisp.org>
13788
13789         vasprintf: Update documentation.
13790         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
13791
13792 2010-04-05  Bruno Haible  <bruno@clisp.org>
13793
13794         ptsname: Improve test.
13795         * tests/test-ptsname.c (main): Also try the various master names of BSD
13796         systems.
13797
13798 2010-04-05  Bruno Haible  <bruno@clisp.org>
13799
13800         memchr: Avoid a possible C++ test error.
13801         * lib/string.in.h (memchr): Provide declaration if function is missing.
13802         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
13803         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
13804         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
13805         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
13806
13807 2010-04-05  Bruno Haible  <bruno@clisp.org>
13808
13809         strtok_r: Improve idiom.
13810         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
13811         AC_LIBOBJ is used.
13812
13813 2010-04-05  Bruno Haible  <bruno@clisp.org>
13814
13815         strdup: Improve idiom.
13816         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
13817         AC_LIBOBJ is used.
13818         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
13819         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
13820         when AC_LIBOBJ is used.
13821
13822 2010-04-05  Bruno Haible  <bruno@clisp.org>
13823
13824         mbsinit, mbrtowc, wcrtomb: Improve idioms.
13825         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
13826         don't set REPLACE_MBSINIT to 1.
13827         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
13828         don't set REPLACE_MBRTOWC to 1.
13829         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
13830         exist, don't set REPLACE_MBSRTOWCS to 1.
13831         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
13832         exist, don't set REPLACE_MBSNRTOWCS to 1.
13833         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
13834         don't set REPLACE_WCRTOMB to 1.
13835         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
13836         exist, don't set REPLACE_WCSRTOMBS to 1.
13837         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
13838         exist, don't set REPLACE_WCSNRTOMBS to 1.
13839
13840 2010-04-05  Bruno Haible  <bruno@clisp.org>
13841
13842         ldexpl: Improve idiom.
13843         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
13844         make sure to set HAVE_DECL_LDEXPL to 0.
13845
13846 2010-04-05  Jim Meyering  <meyering@redhat.com>
13847
13848         xstrtol-tests: convert to use init.sh
13849         * modules/xstrtol-tests (Files): Add tests/init.sh.
13850         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
13851         Use Exit, not exit.
13852         Remove uses of $EXEEXT and "./" to run a program in the current dir.
13853
13854         atexit-tests: convert to use init.sh
13855         * modules/atexit-tests (Files): Add tests/init.sh.
13856         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
13857         Use Exit, not exit.
13858         Remove uses of $EXEEXT and "./" to run a program in the current dir.
13859
13860         init.sh: fix typo
13861         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
13862
13863         init.sh: make it easier for a test script to write to the tty, ...
13864         when using automake's parallel-tests mode.
13865         * tests/init.sh (stderr_fileno_): Define overridable variable.
13866         (warn_): New function, to use it.
13867         (fail_, skip_, framework_failure_): Use warn_.
13868
13869 2010-04-04  Bruno Haible  <bruno@clisp.org>
13870
13871         btowc: Avoid warning.
13872         * lib/btowc.c: Include <stdlib.h>.
13873         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
13874
13875 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
13876             Bruno Haible  <bruno@clisp.org>
13877
13878         wchar: Port to NetBSD 1.5.
13879         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
13880         * lib/wctype.in.h (WEOF): Likewise.
13881
13882 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
13883             Bruno Haible  <bruno@clisp.org>
13884
13885         Port extended stdio to NetBSD 1.5.
13886         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
13887         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
13888         older.
13889
13890 2010-04-04  Bruno Haible  <bruno@clisp.org>
13891
13892         string: Remove unused substitution.
13893         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
13894         HAVE_DECL_STRERROR.
13895         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
13896
13897 2010-04-04  Bruno Haible  <bruno@clisp.org>
13898
13899         strtod: Avoid a possible C++ test error.
13900         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
13901         set REPLACE_STRTOD.
13902
13903 2010-04-04  Bruno Haible  <bruno@clisp.org>
13904
13905         strerror: Update documentation.
13906         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
13907
13908 2010-04-04  Bruno Haible  <bruno@clisp.org>
13909
13910         stdio: Fix some C++ test errors on Solaris 8 with GCC.
13911         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
13912         _GL_CXXALIAS_SYS_CAST.
13913
13914 2010-04-04  Bruno Haible  <bruno@clisp.org>
13915
13916         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
13917         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
13918         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
13919         REPLACE_FREXPL to 1.
13920         * doc/posix-functions/frexpl.texi: Update documentation.
13921
13922 2010-04-04  Bruno Haible  <bruno@clisp.org>
13923
13924         math: Fix some C++ test errors on Solaris 8 and Cygwin.
13925         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
13926
13927 2010-04-04  Bruno Haible  <bruno@clisp.org>
13928
13929         Implement nanosleep for native Windows.
13930         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
13931
13932 2010-04-04  Bruno Haible  <bruno@clisp.org>
13933
13934         math: Fix some C++ test errors on Solaris 8.
13935         * lib/math.in.h (truncf, trunc): Use simpler idiom.
13936
13937 2010-04-04  Bruno Haible  <bruno@clisp.org>
13938
13939         math: Fix some C++ test errors on Cygwin.
13940         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
13941         truncl): Provide declaration if the system does not have it.
13942         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
13943         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
13944         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
13945         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
13946         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
13947         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
13948         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
13949         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
13950         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
13951         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
13952         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
13953         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
13954         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
13955         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
13956         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
13957         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
13958         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
13959         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
13960         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
13961         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
13962         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
13963         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
13964
13965 2010-04-04  Bruno Haible  <bruno@clisp.org>
13966
13967         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
13968         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
13969         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
13970         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
13971         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
13972         * m4/isinf.m4 (gl_ISINF): Likewise.
13973         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
13974
13975 2010-04-04  Bruno Haible  <bruno@clisp.org>
13976
13977         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
13978         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
13979
13980 2010-04-04  Bruno Haible  <bruno@clisp.org>
13981
13982         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
13983         * modules/tmpfile (configure.ac): Update.
13984
13985         tmpfile: Fix C++ test error on mingw.
13986         * lib/stdio.in.h (tmpfile): New declaration.
13987         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
13988         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
13989         * modules/tmpfile (Depends-on): Add stdio.
13990         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
13991         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
13992         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
13993         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
13994         REPLACE_TMPFILE.
13995         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
13996
13997 2010-04-04  Bruno Haible  <bruno@clisp.org>
13998
13999         ioctl: Fix C++ test error on mingw.
14000         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
14001         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
14002         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
14003
14004 2010-04-03  Bruno Haible  <bruno@clisp.org>
14005
14006         wcwidth: Fix C++ test error on mingw.
14007         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
14008         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
14009         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
14010
14011 2010-04-03  Bruno Haible  <bruno@clisp.org>
14012
14013         nanosleep: Fix C++ test error on mingw.
14014         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
14015         * lib/time.in.h (nanosleep): Use modern idiom.
14016         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
14017         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
14018         REPLACE_NANOSLEEP to 1.
14019         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
14020         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
14021
14022 2010-04-03  Bruno Haible  <bruno@clisp.org>
14023
14024         strptime: Fix C++ test error on mingw.
14025         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
14026         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
14027         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
14028         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
14029         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
14030         not REPLACE_STRPTIME.
14031         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
14032         REPLACE_STRPTIME.
14033
14034 2010-04-03  Bruno Haible  <bruno@clisp.org>
14035
14036         timegm: Fix C++ test error on mingw.
14037         * lib/time.in.h (timegm): Use modern idiom.
14038         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
14039         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
14040         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
14041         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
14042
14043 2010-04-03  Bruno Haible  <bruno@clisp.org>
14044
14045         timegm: Assume declaration if function exists.
14046         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
14047         if it exists. Don't clobber ac_cv_func_timegm.
14048
14049 2010-04-03  Bruno Haible  <bruno@clisp.org>
14050
14051         time_r: Fix C++ test error on mingw.
14052         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
14053         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
14054         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
14055         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
14056         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
14057
14058 2010-04-03  Bruno Haible  <bruno@clisp.org>
14059
14060         time_r: Minor updates.
14061         * modules/time_r (Description): Mention the provided functions.
14062         * lib/time_r.c: Don't include <string.h>.
14063         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
14064         * doc/posix-functions/localtime_r.texi: Likewise.
14065
14066 2010-04-03  Bruno Haible  <bruno@clisp.org>
14067
14068         time: Fix regression introduced on 2010-03-08.
14069         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
14070         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
14071
14072 2010-04-03  Jim Meyering  <meyering@redhat.com>
14073
14074         maint.mk: don't silently disable project-specific syntax-check rules
14075         * top/maint.mk (_prohibit_regexp): Define, to help people realize
14076         that they need to convert their project-specific syntax-check rules
14077         to use the new _sc_search_regexp.
14078
14079 2010-04-03  Bruno Haible  <bruno@clisp.org>
14080
14081         fchdir: Fix regression introduced on 2010-03-08.
14082         * lib/unistd.in.h (fchdir): Fix declaration.
14083         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
14084         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
14085         REPLACE_FCHDIR.
14086         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
14087         REPLACE_FCHDIR.
14088
14089 2010-04-03  Bruno Haible  <bruno@clisp.org>
14090
14091         getpagesize: Fix C++ test error on mingw.
14092         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
14093         system does not declare the function.
14094         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
14095         declared.
14096         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
14097         HAVE_DECL_GETPAGESIZE.
14098         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
14099
14100 2010-04-03  Bruno Haible  <bruno@clisp.org>
14101
14102         stdio: Make C++ tests work on mingw.
14103         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
14104         does not declare the function.
14105
14106 2010-04-03  Bruno Haible  <bruno@clisp.org>
14107
14108         ftello: Fix C++ test error on mingw.
14109         * lib/stdio.in.h (ftello): Use modern idiom.
14110         * lib/ftello.c (ftello): Renamed from rpl_ftello.
14111         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
14112         is missing and that it needs to be replaced.
14113         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
14114         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
14115         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
14116
14117 2010-04-03  Bruno Haible  <bruno@clisp.org>
14118
14119         fseeko: Fix C++ test error on mingw.
14120         * lib/stdio.in.h (fseeko): Use modern idiom.
14121         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
14122         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
14123         is missing and that it needs to be replaced.
14124         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
14125         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
14126         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
14127
14128 2010-04-03  Bruno Haible  <bruno@clisp.org>
14129
14130         mkstemp: Fix C++ test error on mingw.
14131         * lib/stdlib.in.h (mkstemp): Use modern idiom.
14132         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
14133         function is missing and that it needs to be replaced.
14134         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
14135         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
14136
14137 2010-04-03  Bruno Haible  <bruno@clisp.org>
14138
14139         stpncpy: Fix C++ test error on mingw.
14140         * lib/string.in.h (stpncpy): Use modern idiom.
14141         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
14142         function is missing and that it needs to be replaced.
14143         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
14144         REPLACE_STPNCPY.
14145         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
14146
14147 2010-04-03  Bruno Haible  <bruno@clisp.org>
14148
14149         sys_stat: Fix C++ test error on mingw.
14150         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
14151         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
14152
14153 2010-04-03  Bruno Haible  <bruno@clisp.org>
14154
14155         pty: Update doc.
14156         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
14157
14158 2010-04-03  Bruno Haible  <bruno@clisp.org>
14159
14160         unistd: Fix C++ test error on mingw.
14161         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
14162
14163 2010-04-03  Bruno Haible  <bruno@clisp.org>
14164
14165         Update doc regarding mingw.
14166         * doc/glibc-functions/openpty.texi: Update regarding mingw.
14167         * doc/glibc-functions/login_tty.texi: Likewise.
14168         * doc/glibc-functions/forkpty.texi: Likewise.
14169
14170 2010-04-03  Bruno Haible  <bruno@clisp.org>
14171
14172         stdlib: Avoid compilation failure of c-strtold on mingw.
14173         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
14174
14175 2010-04-03  Bruno Haible  <bruno@clisp.org>
14176
14177         locale: Make C++ tests work on Cygwin and mingw.
14178         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
14179         cannot provide the function.
14180         Reported by Simon Josefsson.
14181
14182 2010-04-03  Bruno Haible  <bruno@clisp.org>
14183
14184         localename: Port to MacOS X 10.6.
14185         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
14186         memory layout of the locales in MacOS X 10.6 as well.
14187         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
14188
14189 2010-04-02  Bruno Haible  <bruno@clisp.org>
14190
14191         gnulib-tool: Ensure that long-running tests are executed last.
14192         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
14193         running tests after the one for the other tests.
14194
14195 2010-04-02  Bruno Haible  <bruno@clisp.org>
14196
14197         gnulib-tool: Ensure the tests in the main directory are executed first.
14198         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
14199         start with the current directory.
14200
14201 2010-04-02  Bruno Haible  <bruno@clisp.org>
14202
14203         Tests for module 'havelib', moved here from GNU gettext.
14204         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
14205         modifications.
14206         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
14207         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
14208         with modifications.
14209         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
14210         modifications.
14211         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
14212         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
14213         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
14214         with modifications.
14215         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
14216         with modifications.
14217         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
14218         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
14219         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
14220         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
14221         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
14222         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
14223         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
14224         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
14225         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
14226         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
14227         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
14228         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
14229         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
14230         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
14231         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
14232         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
14233         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
14234         with modifications.
14235         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
14236         with modifications.
14237         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
14238         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
14239         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
14240         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
14241         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
14242         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
14243         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
14244         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
14245         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
14246         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
14247         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
14248         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
14249         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
14250         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
14251         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
14252         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
14253         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
14254         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
14255         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
14256         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
14257         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
14258         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
14259         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
14260         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
14261         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
14262         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
14263         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
14264         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
14265         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
14266         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
14267         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
14268         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
14269         * tests/havelib/rpathx/rpathx.c: New file, from
14270         gettext/autoconf-lib-link.
14271         * tests/havelib/rpathx/Makefile.am: New file, from
14272         gettext/autoconf-lib-link.
14273         * tests/havelib/rpathx/configure.ac: New file, from
14274         gettext/autoconf-lib-link with modifications.
14275         * tests/havelib/rpathy/rpathy.c: New file, from
14276         gettext/autoconf-lib-link.
14277         * tests/havelib/rpathy/Makefile.am: New file, from
14278         gettext/autoconf-lib-link.
14279         * tests/havelib/rpathy/configure.ac: New file, from
14280         gettext/autoconf-lib-link with modifications.
14281         * tests/havelib/rpathz/rpathz.c: New file, from
14282         gettext/autoconf-lib-link.
14283         * tests/havelib/rpathz/Makefile.am: New file, from
14284         gettext/autoconf-lib-link.
14285         * tests/havelib/rpathz/configure.ac: New file, from
14286         gettext/autoconf-lib-link with modifications.
14287         * tests/havelib/rpathlx/usex.c: New file, from
14288         gettext/autoconf-lib-link.
14289         * tests/havelib/rpathlx/Makefile.am: New file, from
14290         gettext/autoconf-lib-link.
14291         * tests/havelib/rpathlx/configure.ac: New file, from
14292         gettext/autoconf-lib-link with modifications.
14293         * tests/havelib/rpathly/usey.c: New file, from
14294         gettext/autoconf-lib-link.
14295         * tests/havelib/rpathly/Makefile.am: New file, from
14296         gettext/autoconf-lib-link.
14297         * tests/havelib/rpathly/configure.ac: New file, from
14298         gettext/autoconf-lib-link with modifications.
14299         * tests/havelib/rpathlz/usez.c: New file, from
14300         gettext/autoconf-lib-link.
14301         * tests/havelib/rpathlz/Makefile.am: New file, from
14302         gettext/autoconf-lib-link.
14303         * tests/havelib/rpathlz/configure.ac: New file, from
14304         gettext/autoconf-lib-link with modifications.
14305         * tests/havelib/rpathlyx/usey.c: New file, from
14306         gettext/autoconf-lib-link.
14307         * tests/havelib/rpathlyx/Makefile.am: New file, from
14308         gettext/autoconf-lib-link.
14309         * tests/havelib/rpathlyx/configure.ac: New file, from
14310         gettext/autoconf-lib-link with modifications.
14311         * tests/havelib/rpathlzyx/usez.c: New file, from
14312         gettext/autoconf-lib-link.
14313         * tests/havelib/rpathlzyx/Makefile.am: New file, from
14314         gettext/autoconf-lib-link.
14315         * tests/havelib/rpathlzyx/configure.ac: New file, from
14316         gettext/autoconf-lib-link with modifications.
14317         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
14318         with modifications.
14319
14320 2010-04-02  Bruno Haible  <bruno@clisp.org>
14321
14322         gnulib-tool: Create distributed built sources also for the tests.
14323         * gnulib-tool (func_create_testdir): Also generate distributed built
14324         sources in the tests directory.
14325
14326 2010-04-02  Bruno Haible  <bruno@clisp.org>
14327
14328         gnulib-tool: Obey user's environment variables.
14329         * gnulib-tool (func_create_testdir): When creating built sources,
14330         respect the environment variables for autoconf, automake, etc. given by
14331         the user.
14332
14333 2010-04-02  Bruno Haible  <bruno@clisp.org>
14334
14335         gnulib-tool: Provide the value of --m4-base to modules.
14336         * gnulib-tool (func_import, func_create_testdir): Emit a definition
14337         of gl_m4_base.
14338
14339 2010-04-02  Eric Blake  <eblake@redhat.com>
14340
14341         maint.mk: fix some fallout
14342         * NEWS: Document the incompatible change, and its effect on cfg.mk.
14343         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
14344
14345 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
14346
14347         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
14348         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
14349         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
14350         (sc_cast_of_x_alloc_return_value): Likewise.
14351         (sc_cast_of_alloca_return_value): Likewise.
14352         (sc_space_tab): Likewise.
14353         (sc_prohibit_atoi_atof): Likewise.
14354         (sc_prohibit_magic_number_exit): Likewise.
14355         (sc_error_exit_success): Likewise.
14356         (sc_file_system): Likewise.
14357         (sc_prohibit_have_config_h): Likewise.
14358         (sc_require_config_h): Likewise.
14359         (sc_prohibit_HAVE_MBRTOWC): Likewise.
14360         (sc_obsolete_symbols): Likewise.
14361         (sc_changelog): Likewise.
14362         (sc_program_name): Likewise.
14363         (sc_the_the): Likewise.
14364         (sc_trailing_blank): Likewise.
14365         (sc_two_space_separator_in_usage): Likewise.
14366         (sc_useless_cpp_parens): Likewise.
14367         (sc_GPL_version): Likewise.
14368         (sc_GFDL_version): Likewise.
14369         (sc_texinfo_acronym): Likewise.
14370         (sc_prohibit_cvs_keyword): Likewise.
14371         (sc_prohibit_stat_st_blocks): Likewise.
14372         (sc_prohibit_S_IS_definition): Likewise.
14373         (sc_redundant_const): Likewise.
14374         (sc_makefile_TAB_only_indentation): Likewise.
14375         (sc_m4_quote_check): Likewise.
14376         (sc_makefile_path_separator_check): Likewise.
14377         (sc_copyright_check): Likewise.
14378         (sc_Wundef_boolean): Likewise.
14379         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
14380
14381         maint.mk: match 0 or more whitespace-before-function-call '('
14382         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
14383         that have zero or two-and-more spaces between the function name
14384         and the open parenthesis.
14385         (sc_error_message_warn_fatal): Likewise.
14386         (sc_error_message_uppercase): Likewise.
14387         (sc_error_message_period): Likewise.
14388
14389 2010-03-31  Eric Blake  <eblake@redhat.com>
14390
14391         maint.mk: check for [ as well as test
14392         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
14393         Based on a libvirt report by Matthias Bolte.
14394
14395         gnumakefile: don't squelch _version output
14396         * top/GNUmakefile (_version): Create one-shot dependency rather
14397         than using $(shell) when version must be regenerated.
14398         (_autoreconf): Run verbosely, by default.
14399
14400         sys_time: avoid compiler warnings
14401         * lib/sys_time.in.h (includes): Ensure gcc pragma is
14402         unconditional, fixing regression from 2010-03-29.
14403         Reported by Simon Josefsson.
14404
14405 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
14406
14407         maint.mk: s/_header_without_use/_sc_header_without_use/
14408         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
14409         (sc_prohibit_assert_without_use): Use the new name.
14410         (sc_prohibit_close_stream_without_use): Likewise.
14411         (sc_prohibit_getopt_without_use): Likewise.
14412         (sc_prohibit_quotearg_without_use): Likewise.
14413         (sc_prohibit_quote_without_use): Likewise.
14414         (sc_prohibit_long_options_without_use): Likewise.
14415         (sc_prohibit_inttostr_without_use): Likewise.
14416         (sc_prohibit_ignore_value_without_use): Likewise.
14417         (sc_prohibit_error_without_use): Likewise.
14418         (sc_prohibit_xalloc_without_use): Likewise.
14419         (sc_prohibit_hash_without_use): Likewise.
14420         (sc_prohibit_hash_pjw_without_use): Likewise.
14421         (sc_prohibit_safe_read_without_use): Likewise.
14422         (sc_prohibit_argmatch_without_use): Likewise.
14423         (sc_prohibit_canonicalize_without_use): Likewise.
14424         (sc_prohibit_root_dev_ino_without_use): Likewise.
14425         (sc_prohibit_openat_without_use): Likewise.
14426         (sc_prohibit_c_ctype_without_use): Likewise.
14427         (sc_prohibit_signal_without_use): Likewise.
14428         (sc_prohibit_intprops_without_use): Likewise.
14429
14430 2010-03-30  Eric Blake  <eblake@redhat.com>
14431
14432         maint: improve module indicators
14433         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
14434         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
14435         columns, and avoid extra macro expansion.
14436
14437         fdopendir: work around FreeBSD bug
14438         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
14439         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
14440         * modules/dirent (Makefile.am): Substitute it.
14441         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
14442         declaration.
14443         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
14444         fix.
14445         Reported by Christian Weisgerber <naddy@mips.inka.de>.
14446
14447 2010-03-29  Bruno Haible  <bruno@clisp.org>
14448
14449         Emit #pragma system_header after the inclusion guard, not before.
14450         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
14451         guard that spans the entire file, not before. This enables an
14452         optimization in GCC's preprocessor.
14453         * lib/ctype.in.h: Likewise.
14454         * lib/dirent.in.h: Likewise.
14455         * lib/errno.in.h: Likewise.
14456         * lib/float.in.h: Likewise.
14457         * lib/getopt.in.h: Likewise.
14458         * lib/iconv.in.h: Likewise.
14459         * lib/langinfo.in.h: Likewise.
14460         * lib/locale.in.h: Likewise.
14461         * lib/math.in.h: Likewise.
14462         * lib/netdb.in.h: Likewise.
14463         * lib/netinet_in.in.h: Likewise.
14464         * lib/pty.in.h: Likewise.
14465         * lib/sched.in.h: Likewise.
14466         * lib/se-selinux.in.h: Likewise.
14467         * lib/search.in.h: Likewise.
14468         * lib/spawn.in.h: Likewise.
14469         * lib/stdarg.in.h: Likewise.
14470         * lib/stdint.in.h: Likewise.
14471         * lib/string.in.h: Likewise.
14472         * lib/strings.in.h: Likewise.
14473         * lib/sys_file.in.h: Likewise.
14474         * lib/sys_ioctl.in.h: Likewise.
14475         * lib/sys_time.in.h: Likewise.
14476         * lib/sys_times.in.h: Likewise.
14477         * lib/sys_utsname.in.h: Likewise.
14478         * lib/sys_wait.in.h: Likewise.
14479         * lib/sysexits.in.h: Likewise.
14480         * lib/wctype.in.h: Likewise.
14481
14482 2010-03-28  James Youngman  <jay@gnu.org>
14483
14484         save-cwd: don't leak a file descriptor when the caller execs.
14485         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
14486         saved file descriptor.
14487         * modules/save-cwd (Depends-on): Depend on cloexec.
14488
14489 2010-03-29  Bruno Haible  <bruno@clisp.org>
14490
14491         Remove vestiges of fts-lgpl module.
14492         * lib/fts_.h: Assume GNULIB_FTS is 1.
14493         * lib/fts.c: Likewise.
14494         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
14495
14496 2010-03-28  Bruno Haible  <bruno@clisp.org>
14497
14498         Fix definition of tests witness macro.
14499         * gnulib-tool (func_import): Fix definition of witness macro.
14500
14501 2010-03-28  Bruno Haible  <bruno@clisp.org>
14502
14503         Fix ioctl's protoype on glibc systems.
14504         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
14505         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
14506         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
14507         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
14508         signature. If not, arrange to replace the ioctl function.
14509         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
14510         REPLACE_IOCTL.
14511         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
14512         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
14513         Reported by Ludovic Courtès <ludo@gnu.org>.
14514
14515 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
14516
14517         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
14518         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
14519         made it so grep -r --include=GLOB* ... did not work.
14520
14521 2010-03-26  Jim Meyering  <meyering@redhat.com>
14522             Eric Blake  <eblake@redhat.com>
14523
14524         maint.mk: prohibit use of test's -o and -a operators
14525         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
14526
14527 2010-03-28  Bruno Haible  <bruno@clisp.org>
14528
14529         Remove unused GNULIB_XYZ macro definitions.
14530         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
14531         invocation.
14532
14533 2010-03-28  Bruno Haible  <bruno@clisp.org>
14534
14535         Mark privileged tests modules.
14536         * modules/idpriv-drop-tests (Status): New section.
14537         * modules/idpriv-droptemp-tests (Status): New section.
14538
14539 2010-03-28  Bruno Haible  <bruno@clisp.org>
14540
14541         Split C++ tests into separate tests modules.
14542         * modules/dirent-c++-tests: New file, extracted from
14543         modules/dirent-tests.
14544         * modules/dirent-tests: Depend on it.
14545         * modules/fcntl-h-c++-tests: New file, extracted from
14546         modules/fcntl-h-tests.
14547         * modules/fcntl-h-tests: Depend on it.
14548         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
14549         * modules/glob-tests: Depend on it.
14550         * modules/iconv-h-c++-tests: New file, extracted from
14551         modules/iconv-h-tests.
14552         * modules/iconv-h-tests: Depend on it.
14553         * modules/langinfo-c++-tests: New file, extracted from
14554         modules/langinfo-tests.
14555         * modules/langinfo-tests: Depend on it.
14556         * modules/locale-c++-tests: New file, extracted from
14557         modules/locale-tests.
14558         * modules/locale-tests: Depend on it.
14559         * modules/math-c++-tests: New file, extracted from modules/math-tests.
14560         * modules/math-tests: Depend on it.
14561         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
14562         * modules/pty-tests: Depend on it.
14563         * modules/search-c++-tests: New file, extracted from
14564         modules/search-tests.
14565         * modules/search-tests: Depend on it.
14566         * modules/signal-c++-tests: New file, extracted from
14567         modules/signal-tests.
14568         * modules/signal-tests: Depend on it.
14569         * modules/spawn-c++-tests: New file, extracted from
14570         modules/spawn-tests.
14571         * modules/spawn-tests: Depend on it.
14572         * modules/stdio-c++-tests: New file, extracted from
14573         modules/stdio-tests.
14574         * modules/stdio-tests: Depend on it.
14575         * modules/stdlib-c++-tests: New file, extracted from
14576         modules/stdlib-tests.
14577         * modules/stdlib-tests: Depend on it.
14578         * modules/string-c++-tests: New file, extracted from
14579         modules/string-tests.
14580         * modules/string-tests: Depend on it.
14581         * modules/sys_ioctl-c++-tests: New file, extracted from
14582         modules/sys_ioctl-tests.
14583         * modules/sys_ioctl-tests: Depend on it.
14584         * modules/sys_select-c++-tests: New file, extracted from
14585         modules/sys_select-tests.
14586         * modules/sys_select-tests: Depend on it.
14587         * modules/sys_socket-c++-tests: New file, extracted from
14588         modules/sys_socket-tests.
14589         * modules/sys_socket-tests: Depend on it.
14590         * modules/sys_stat-c++-tests: New file, extracted from
14591         modules/sys_stat-tests.
14592         * modules/sys_stat-tests: Depend on it.
14593         * modules/sys_time-c++-tests: New file, extracted from
14594         modules/sys_time-tests.
14595         * modules/sys_time-tests: Depend on it.
14596         * modules/time-c++-tests: New file, extracted from modules/time-tests.
14597         * modules/time-tests: Depend on it.
14598         * modules/unistd-c++-tests: New file, extracted from
14599         modules/unistd-tests.
14600         * modules/unistd-tests: Depend on it.
14601         * modules/wchar-c++-tests: New file, extracted from
14602         modules/wchar-tests.
14603         * modules/wchar-tests: Depend on it.
14604         * modules/wctype-c++-tests: New file, extracted from
14605         modules/wctype-tests.
14606         * modules/wctype-tests: Depend on it.
14607         Reported by Simon Josefsson.
14608
14609 2010-03-28  Bruno Haible  <bruno@clisp.org>
14610
14611         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
14612         * gnulib-tool (func_exists_module): New function, extracted from
14613         func_verify_module.
14614         (func_verify_module): Use it.
14615         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
14616         'foo' only if 'foo' exists.
14617         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
14618         module.
14619
14620 2010-03-28  Bruno Haible  <bruno@clisp.org>
14621
14622         gnulib-tool: Add support for special categories of tests.
14623         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
14624         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
14625         (func_usage): Document them.
14626         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
14627         inc_unportable_tests, inc_all_tests): New variables.
14628         (func_acceptable): Consider these variables.
14629         (func_modules_transitive_closure): Make it work when the 'Status' field
14630         consists of multiple words.
14631         (func_import): Store and restore the values of inc_cxx_tests,
14632         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
14633         inc_all_tests in gnulib-comp.m4.
14634         (func_create_testdir): Set inc_all_tests to true.
14635         * doc/gnulib.texi (Extra tests modules): New section.
14636         Suggested by Jim Meyering.
14637
14638 2010-03-28  Bruno Haible  <bruno@clisp.org>
14639
14640         ansi-c++-opt: Allow turning off the C++ build by default.
14641         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
14642         gl_CXX_CHOICE_DEFAULT_NO is defined.
14643         Requested by Eric Blake.
14644
14645 2010-03-28  Bruno Haible  <bruno@clisp.org>
14646
14647         unistd: Avoid #define replacements in C++ mode.
14648         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
14649         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
14650         setsockopt, shutdown, select): In C++, attach a warning to the function
14651         if possible, rather than #defining the symbol to a dysfunctional alias.
14652         Reported by John W. Eaton <jwe@gnu.org>.
14653
14654 2010-03-28  Bruno Haible  <bruno@clisp.org>
14655
14656         Fix link errors on mingw.
14657         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
14658         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
14659         $(LIBSOCKET).
14660         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
14661         $(LIBSOCKET).
14662
14663 2010-03-28  Bruno Haible  <bruno@clisp.org>
14664             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14665
14666         lib-ignore: Determine different options for different compilers.
14667         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
14668         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
14669         Add comments.
14670         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
14671         * NEWS: Mention the change.
14672
14673 2010-03-27  Bruno Haible  <bruno@clisp.org>
14674
14675         Remove unused GNULIB_XYZ macro definitions.
14676         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
14677         * modules/fseek (configure.ac): Likewise.
14678         * modules/ioctl (configure.ac): Likewise.
14679         * modules/open (configure.ac): Likewise.
14680         * modules/stdlib-safer (configure.ac): Likewise.
14681
14682 2010-03-27  Bruno Haible  <bruno@clisp.org>
14683
14684         Add a remark about certain modules.
14685         * modules/malloc (Comment): New section.
14686         * modules/realloc (Comment): Likewise.
14687         * modules/sigpipe (Comment): Likewise.
14688
14689 2010-03-27  Bruno Haible  <bruno@clisp.org>
14690
14691         Resolve conflict between the two kinds of module indicators.
14692         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
14693         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
14694         * modules/canonicalize (configure.ac): Invoke
14695         gl_MODULE_INDICATOR_FOR_TESTS.
14696         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
14697         GNULIB_XYZ.
14698         * tests/test-dirent-c++.cc: Likewise.
14699         * tests/test-dirent-safer.c: Likewise.
14700         * tests/test-dup2.c: Likewise.
14701         * tests/test-fchdir.c: Likewise.
14702         * tests/test-fcntl-h-c++.cc: Likewise.
14703         * tests/test-getopt.c: Likewise.
14704         * tests/test-getopt.h: Likewise.
14705         * tests/test-langinfo-c++.cc: Likewise.
14706         * tests/test-locale-c++.cc: Likewise.
14707         * tests/test-math-c++.cc: Likewise.
14708         * tests/test-pty-c++.cc: Likewise.
14709         * tests/test-search-c++.cc: Likewise.
14710         * tests/test-signal-c++.cc: Likewise.
14711         * tests/test-spawn-c++.cc: Likewise.
14712         * tests/test-stdio-c++.cc: Likewise.
14713         * tests/test-stdlib-c++.cc: Likewise.
14714         * tests/test-string-c++.cc: Likewise.
14715         * tests/test-sys_ioctl-c++.cc: Likewise.
14716         * tests/test-sys_select-c++.cc: Likewise.
14717         * tests/test-sys_socket-c++.cc: Likewise.
14718         * tests/test-sys_stat-c++.cc: Likewise.
14719         * tests/test-sys_time-c++.cc: Likewise.
14720         * tests/test-time-c++.cc: Likewise.
14721         * tests/test-unistd-c++.cc: Likewise.
14722         * tests/test-wchar-c++.cc: Likewise.
14723         * tests/uninorm/test-u8-nfc.c: Likewise.
14724         * tests/uninorm/test-u8-nfd.c: Likewise.
14725         * tests/uninorm/test-u8-nfkc.c: Likewise.
14726         * tests/uninorm/test-u8-nfkd.c: Likewise.
14727         * tests/uninorm/test-u16-nfc.c: Likewise.
14728         * tests/uninorm/test-u16-nfd.c: Likewise.
14729         * tests/uninorm/test-u16-nfkc.c: Likewise.
14730         * tests/uninorm/test-u16-nfkd.c: Likewise.
14731         * tests/uninorm/test-u32-nfc.c: Likewise.
14732         * tests/uninorm/test-u32-nfc-big.c: Likewise.
14733         * tests/uninorm/test-u32-nfd.c: Likewise.
14734         * tests/uninorm/test-u32-nfd-big.c: Likewise.
14735         * tests/uninorm/test-u32-nfkc.c: Likewise.
14736         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
14737         * tests/uninorm/test-u32-nfkd.c: Likewise.
14738         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
14739         * tests/uninorm/test-u32-normalize-big.c: Likewise.
14740
14741 2010-03-27  Bruno Haible  <bruno@clisp.org>
14742
14743         Distinguish two kinds of module indicators.
14744         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
14745         gl_MODULE_INDICATOR.
14746         (gl_MODULE_INDICATOR): New macro.
14747         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
14748         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
14749         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
14750         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
14751         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
14752         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
14753         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
14754         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
14755         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
14756         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
14757         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
14758         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
14759         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
14760         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
14761         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
14762         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
14763         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
14764         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
14765         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
14766         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
14767         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
14768         * modules/cloexec (configure.ac): Likewise.
14769         * modules/getopt-gnu (configure.ac): Likewise.
14770         * modules/uninorm/u8-normalize (configure.ac): Likewise.
14771         * modules/uninorm/u16-normalize (configure.ac): Likewise.
14772         * modules/uninorm/u32-normalize (configure.ac): Likewise.
14773         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
14774
14775 2010-03-27  Bruno Haible  <bruno@clisp.org>
14776
14777         New module description field 'Comment'.
14778         * gnulib-tool: New option --extract-comment.
14779         (func_usage): Document it.
14780         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
14781         (func_get_comment): New function.
14782         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
14783
14784 2010-03-27  Bruno Haible  <bruno@clisp.org>
14785
14786         Addendum to 2010-02-07 commit.
14787         * gnulib-tool (func_usage): Document --extract-applicability option.
14788
14789 2010-03-27  Bruno Haible  <bruno@clisp.org>
14790
14791         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
14792         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
14793         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
14794         rather than link errors.
14795
14796 2010-03-27  Bruno Haible  <bruno@clisp.org>
14797
14798         Avoid side effects from tests-related modules on the compilation of lib.
14799         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
14800         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
14801         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
14802         parameter. Emit into AM_CPPFLAGS a definition of the designated C
14803         macro.
14804         (func_import): Define a witness macro. Assign it a value that depends
14805         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
14806         tests-related modules.
14807         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
14808         Reported by Jim Meyering.
14809
14810 2010-03-27  Bruno Haible  <bruno@clisp.org>
14811
14812         Factorize common .m4 code.
14813         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
14814         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
14815         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
14816         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
14817         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
14818         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
14819         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
14820         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
14821         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
14822         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
14823         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
14824         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
14825         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
14826         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
14827         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
14828         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
14829         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
14830         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
14831         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
14832         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
14833         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
14834         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
14835         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
14836         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
14837         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
14838         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
14839         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
14840         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
14841         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
14842         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
14843         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
14844         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
14845
14846 2010-03-27  Bruno Haible  <bruno@clisp.org>
14847
14848         Fix a compilation error on Cygwin with g++ >= 4.3.
14849         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
14850         if it is undefined or if we alias it to chmod.
14851         (lstat): Don't warn about the use of this function if it is undefined
14852         or if we alias it to stat.
14853         Reported by Simon Josefsson.
14854
14855 2010-03-27  Bruno Haible  <bruno@clisp.org>
14856
14857         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
14858         * modules/getlogin (configure.ac): Update.
14859
14860         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
14861         * modules/getlogin_r (configure.ac): Update.
14862
14863         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
14864         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
14865         * modules/inet_ntop (configure.ac): Update.
14866
14867         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
14868         * modules/inet_pton (configure.ac): Update.
14869
14870         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
14871         * modules/mbslen (configure.ac): Update.
14872
14873         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
14874         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
14875         * modules/forkpty (configure.ac): Update.
14876         * modules/openpty (configure.ac): Update.
14877
14878 2010-03-26  Simon Josefsson  <simon@josefsson.org>
14879
14880         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
14881         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
14882
14883 2010-03-25  Eric Blake  <eblake@redhat.com>
14884
14885         maint: use pragma consistently across replacement headers
14886         * lib/ctype.in.h (system_header): Hoist for consistent placement.
14887         * lib/dirent.in.h (system_header): Likewise.
14888         * lib/errno.in.h (system_header): Likewise.
14889         * lib/float.in.h (system_header): Likewise.
14890         * lib/getopt.in.h (system_header): Likewise.
14891         * lib/iconv.in.h (system_header): Likewise.
14892         * lib/inttypes.in.h (system_header): Likewise.
14893         * lib/langinfo.in.h (system_header): Likewise.
14894         * lib/locale.in.h (system_header): Likewise.
14895         * lib/math.in.h (system_header): Likewise.
14896         * lib/netdb.in.h (system_header): Likewise.
14897         * lib/netinet_in.in.h (system_header): Likewise.
14898         * lib/pty.in.h (system_header): Likewise.
14899         * lib/sched.in.h (system_header): Likewise.
14900         * lib/se-selinux.in.h (system_header): Likewise.
14901         * lib/search.in.h (system_header): Likewise.
14902         * lib/spawn.in.h (system_header): Likewise.
14903         * lib/stdarg.in.h (system_header): Likewise.
14904         * lib/stdint.in.h (system_header): Likewise.
14905         * lib/string.in.h (system_header): Likewise.
14906         * lib/strings.in.h (system_header): Likewise.
14907         * lib/sys_file.in.h (system_header): Likewise.
14908         * lib/sys_ioctl.in.h (system_header): Likewise.
14909         * lib/sys_socket.in.h (system_header): Likewise.
14910         * lib/sys_times.in.h (system_header): Likewise.
14911         * lib/sys_utsname.in.h (system_header): Likewise.
14912         * lib/sys_wait.in.h (system_header): Likewise.
14913         * lib/sysexits.in.h (system_header): Likewise.
14914         * lib/unistd.in.h (system_header): Likewise.
14915         * lib/wctype.in.h (system_header): Likewise.
14916
14917         arpa/inet: fix mingw compilation warning
14918         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
14919         Reported by Matthew Bolte.
14920
14921 2010-03-25  Bruno Haible  <bruno@clisp.org>
14922
14923         Avoid collision between gnulib wrapper and libintl wrapper.
14924         * lib/printf.c (printf): Don't define if a printf wrapper is already
14925         defined in intl/printf.c.
14926         Reported by Michel Boaventura <michel@michelboaventura.com>.
14927
14928 2010-03-25  Bruno Haible  <bruno@clisp.org>
14929
14930         Use ANSI C.
14931         * lib/readutmp.h (getutent): Provide ANSI C prototype.
14932
14933 2010-03-25  Bruno Haible  <bruno@clisp.org>
14934
14935         Minor formatting changes.
14936         * lib/acosl.c: Insert space before function argument list.
14937         * lib/argz.c: Likewise.
14938         * lib/asinl.c: Likewise.
14939         * lib/expl.c: Likewise.
14940         * lib/gen-uni-tables.c: Likewise.
14941         * lib/gettext.h: Likewise.
14942         * lib/glthread/lock.h: Likewise.
14943         * lib/tanl.c: Likewise.
14944         * lib/uniname/uniname.c: Likewise.
14945         * tests/test-idpriv-drop.c: Likewise.
14946         * tests/test-idpriv-droptemp.c: Likewise.
14947         * tests/test-lock.c: Likewise.
14948         * tests/test-tls.c: Likewise.
14949         * lib/argp-help.c: Insert space before function-like macro argument
14950         list.
14951         * lib/memcmp.c: Likewise.
14952         * tests/test-base64.c: Likewise.
14953         * lib/localename.c: Insert space before sizeof's argument list.
14954         * lib/safe-alloc.h: Likewise.
14955         * lib/file-set.h: Insert space before macro argument list.
14956         * tests/test-argp.c: Likewise.
14957         * lib/argp-namefrob.h: Insert space before function parameter list.
14958         * lib/getaddrinfo.c: Likewise.
14959         * lib/netdb.in.h: Likewise.
14960         * lib/parse-duration.h: Likewise.
14961         * lib/parse-duration.c: Likewise.
14962         * lib/poll.c: Likewise.
14963         * lib/select.c: Likewise.
14964         * lib/trim.h: Likewise.
14965         * tests/test-usleep.c: Likewise.
14966         * lib/ldexpl.c: Insert space before function parameter list and before
14967         function argument list.
14968         * lib/logl.c: Likewise.
14969         * lib/sqrtl.c: Likewise.
14970         * lib/trim.c: Likewise.
14971         * lib/cosl.c: Use GNU style indentation. Insert space before function
14972         argument list.
14973         * lib/sinl.c: Likewise.
14974         * lib/tsearch.c: Insert space after 'for'.
14975         Reported by Jim Meyering.
14976
14977 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
14978
14979         * maint.mk (sc_Wundef_boolean): Check for the presence of the
14980         config header before grepping, as it's not present before
14981         autoreconf/configure are run.  Reported by Simon Josefsson.
14982
14983 2010-03-23  Bruno Haible  <bruno@clisp.org>
14984
14985         pt_chown: Make it work with automake < 1.11.
14986         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
14987         Reported by Simon Josefsson.
14988
14989 2010-03-23  Bruno Haible  <bruno@clisp.org>
14990
14991         pt_chown: Don't depend on GPLed modules.
14992         * lib/pt_chown.c: Don't include idpriv.h.
14993         (main): Don't drop privileges.
14994         * modules/pt_chown (Depends-on): Remove idpriv-drop.
14995         Reported by Simon Josefsson.
14996
14997 2010-03-24  Simon Josefsson  <simon@josefsson.org>
14998
14999         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
15000         suggestions from karl@freefriends.org (Karl Berry).
15001
15002 2010-03-22  Eric Blake  <eblake@redhat.com>
15003
15004         gethostname: further tweaks
15005         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
15006         are overriding gethostname.
15007         Suggested by Bruno Haible.
15008
15009 2010-03-21  Bruno Haible  <bruno@clisp.org>
15010
15011         Fix comments.
15012         * lib/forkpty.c (rpl_forkpty): Fix comment.
15013         * lib/openpty.c (rpl_openpty): Likewise.
15014         Reported by Eric Blake.
15015
15016 2010-03-22  Eric Blake  <eblake@redhat.com>
15017
15018         gethostname: fix build on mingw
15019         * lib/unistd.in.h (includes): Work around fact that mingw
15020         <winsock2.h> re-includes <unistd.h>, by avoiding any
15021         redeclarations if we are being included by <winsock2.h>.
15022         Reported by Matthias Bolte.
15023
15024 2010-03-21  Bruno Haible  <bruno@clisp.org>
15025
15026         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
15027         * lib/forkpty.c (forkpty): New replacement function, from glibc with
15028         modifications.
15029         * lib/pty.in.h (forkpty): Update declaration. Add comments.
15030         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
15031         provide the replacement.
15032         * modules/forkpty (Depends-on): Add openpty, login_tty.
15033         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
15034         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
15035         * doc/glibc-functions/forkpty.texi: More supported platforms.
15036         * config/srclist.txt: Add forkpty.c (commented).
15037
15038 2010-03-21  Bruno Haible  <bruno@clisp.org>
15039
15040         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
15041         (Makefile.am): Verify that PTY_LIB is defined.
15042
15043         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
15044
15045 2010-03-21  Bruno Haible  <bruno@clisp.org>
15046
15047         Tests for module 'login_tty'.
15048         * modules/login_tty-tests: New file.
15049         * tests/test-login_tty.c: New file.
15050
15051         New module 'login_tty'.
15052         * lib/login_tty.c: New file.
15053         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
15054         * modules/login_tty: New file.
15055         * doc/glibc-functions/login_tty.texi: Mention the new module.
15056
15057 2010-03-21  Bruno Haible  <bruno@clisp.org>
15058
15059         login_tty: Documentation.
15060         * doc/glibc-functions/login_tty.texi: New file.
15061         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
15062
15063 2010-03-21  Bruno Haible  <bruno@clisp.org>
15064
15065         pty: Consistent macro naming.
15066         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
15067         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
15068         * modules/pty (configure.ac): Update.
15069
15070 2010-03-21  Bruno Haible  <bruno@clisp.org>
15071
15072         Tests for openpty: Make stricter.
15073         * tests/test-openpty.c (main): Add test of canonical processing and
15074         erase.
15075         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
15076
15077         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
15078         * lib/openpty.c (openpty): New replacement function.
15079         * lib/pty.in.h: Include <termios.h>.
15080         (openpty): Update declaration. Add comments.
15081         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
15082         is not declared, arrange to provide the replacement. Check for _getpty
15083         and posix_openpt.
15084         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
15085         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
15086         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
15087         * modules/pty-tests (test_pty_c___LDADD): New variable.
15088         * doc/glibc-functions/openpty.texi: More supported platforms.
15089
15090 2010-03-21  Bruno Haible  <bruno@clisp.org>
15091
15092         setenv: Tweaks.
15093         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
15094         the test program.
15095         * doc/posix-functions/setenv.texi: Update platforms list.
15096
15097 2010-03-21  Bruno Haible  <bruno@clisp.org>
15098
15099         New module 'unlockpt'.
15100         * lib/unlockpt.c: New file, from glibc with modifications.
15101         * m4/unlockpt.m4: New file.
15102         * modules/unlockpt: New file.
15103         * lib/stdlib.in.h (unlockpt): New declaration.
15104         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
15105         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
15106         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
15107         HAVE_UNLOCKPT.
15108         * doc/posix-functions/unlockpt.texi: Mention the new module.
15109         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
15110         * config/srclist.txt: Add unlockpt.c (commented).
15111
15112 2010-03-21  Jim Meyering  <meyering@redhat.com>
15113
15114         maint.mk: prohibit inclusion of "intprops.h" without use
15115         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
15116
15117 2010-03-21  Bruno Haible  <bruno@clisp.org>
15118
15119         New module 'grantpt'.
15120         * lib/grantpt.c: New file, from glibc with modifications.
15121         * m4/grantpt.m4: New file.
15122         * modules/grantpt: New file.
15123         * lib/stdlib.in.h (grantpt): New declaration.
15124         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
15125         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
15126         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
15127         HAVE_GRANTPT.
15128         * doc/posix-functions/grantpt.texi: Mention the new module.
15129         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
15130         * config/srclist.txt: Add grantpt.c (commented).
15131
15132 2010-03-21  Bruno Haible  <bruno@clisp.org>
15133
15134         New module 'pt_chown'.
15135         * lib/pt_chown.c: New file, from glibc with modifications.
15136         * lib/pty-private.h: New file, from glibc with modifications.
15137         * modules/pt_chown: New file.
15138         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
15139
15140 2010-03-21  Bruno Haible  <bruno@clisp.org>
15141
15142         Tests for module 'ptsname'.
15143         * modules/ptsname-tests: New file.
15144         * tests/test-ptsname.c: New file.
15145
15146         New module 'ptsname'.
15147         * lib/ptsname.c: New file, from glibc with modifications.
15148         * m4/ptsname.m4: New file.
15149         * modules/ptsname: New file.
15150         * lib/stdlib.in.h (ptsname): New declaration.
15151         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
15152         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
15153         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
15154         HAVE_PTSNAME.
15155         * doc/posix-functions/ptsname.texi: Mention the new module.
15156         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
15157         * config/srclist.txt: Add ptsname.c (commented).
15158
15159 2010-03-21  Bruno Haible  <bruno@clisp.org>
15160
15161         Tests for module 'ttyname_r'.
15162         * modules/ttyname_r-tests: New file.
15163         * tests/test-ttyname_r.c: New file.
15164
15165         New module 'ttyname_r'.
15166         * lib/ttyname_r.c: New file.
15167         * m4/ttyname_r.m4: New file.
15168         * modules/ttyname_r: New file.
15169         * lib/unistd.in.h (ttyname_r): New declaration.
15170         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
15171         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
15172         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
15173         HAVE_TTYNAME_R.
15174         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
15175         * doc/posix-functions/ttyname_r.texi: Mention the new module.
15176
15177 2010-03-20  Bruno Haible  <bruno@clisp.org>
15178
15179         signal: Undefine macro definitions in C++ mode.
15180         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
15181         sigfillset): Undefine macro definitions from the system header in C++
15182         mode.
15183         Reported by John W. Eaton <jwe@gnu.org>.
15184
15185 2010-03-20  Bruno Haible  <bruno@clisp.org>
15186
15187         Ensure no #include statements inside extern "C" { ... }.
15188         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
15189         contain #include statements.
15190         * lib/time.in.h: Likewise.
15191
15192 2010-03-20  Bruno Haible  <bruno@clisp.org>
15193
15194         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
15195         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
15196         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
15197         Reported by John W. Eaton <jwe@gnu.org>.
15198
15199 2010-03-20  Bruno Haible  <bruno@clisp.org>
15200
15201         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
15202         Reported by Jim Meyering.
15203
15204 2010-03-20  Bruno Haible  <bruno@clisp.org>
15205
15206         pipe: Set errno upon failure.
15207         * lib/pipe.h: Specify that when -1 is returned, errno is set.
15208         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
15209         errno value in error message.
15210
15211 2010-03-20  Bruno Haible  <bruno@clisp.org>
15212             Jim Meyering  <meyering@redhat.com>
15213
15214         lchown: Avoid "unused variable" warning.
15215         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
15216
15217 2010-03-20  Bruno Haible  <bruno@clisp.org>
15218
15219         Work around unlink() bug on MacOS X 10.5.6.
15220         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
15221         attempting to unlink a parent directory.
15222         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
15223         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
15224         activate for the replacement function.
15225         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
15226
15227 2010-03-20  Bruno Haible  <bruno@clisp.org>
15228
15229         Fix link errors on Solaris 8.
15230         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
15231         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
15232
15233 2010-03-19  Jim Meyering  <meyering@redhat.com>
15234
15235         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
15236         The _LIBC implementation of build_range_exp correctly honors the
15237         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
15238         However, the non-_LIBC implementation would ignore that syntax-bit
15239         flag and return REG_ERANGE unconditionally.
15240         This change makes it honor that flag.
15241         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
15242         Make two pointer parameters "const".
15243         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
15244         (parse_bracket_exp): Update caller.
15245
15246         regex.m4: correct the reversed range endpoint ([b-a]) test
15247         * m4/regex.m4: When requiring that [b-a] evoke failure,
15248         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
15249         test pass once again for x86-based systems.
15250
15251 2010-03-19  Bruno Haible  <bruno@clisp.org>
15252
15253         scandir: Fix link error on Solaris 8.
15254         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
15255         macros.
15256
15257 2010-03-19  Bruno Haible  <bruno@clisp.org>
15258
15259         getusershell: Fix documentation.
15260         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
15261         module.
15262         * doc/glibc-functions/setusershell.texi: Likewise.
15263
15264         getusershell: Provide declaration, missing on Solaris 9.
15265         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
15266         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
15267         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
15268         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
15269         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
15270         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
15271         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
15272         HAVE_GETUSERSHELL.
15273         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
15274
15275 2010-03-19  Bruno Haible  <bruno@clisp.org>
15276
15277         wctype: Provide iswblank function.
15278         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
15279         exists and is fine.
15280         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
15281         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
15282         * tests/test-wctype.c (main): Re-enable the iswblank tests.
15283         * doc/posix-functions/iswblank.texi: Update.
15284
15285 2010-03-19  Bruno Haible  <bruno@clisp.org>
15286
15287         Tests of module 'pty' in C++ mode.
15288         * modules/pty-tests: New file.
15289         * tests/test-pty-c++.cc: New file.
15290         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
15291
15292 2010-03-19  Eric Blake  <eblake@redhat.com>
15293
15294         logb: fix documentation
15295         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
15296         1.5 declaration bug.
15297
15298         forkpty, openpty: prefer glibc's const-safe prototype
15299         * lib/forkpty.c (rpl_forkpty): New file.
15300         * lib/openpty.c (rpl_openpty): Likewise.
15301         * modules/forkpty (Files): Distribute it.
15302         * modules/openpty (Files): Likewise.
15303         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
15304         check...
15305         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
15306         replacement for for non-const BSD signature.
15307         * modules/pty (Makefile.am): Substitute witnesses.
15308         * lib/pty.in.h (forkpty, openpty): Declare replacements.
15309         * tests/test-forkpty.c: Update signature check.
15310         * tests/test-openpty.c: Likewise.
15311         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
15312         * doc/glibc-functions/openpty.texi (openpty): Likewise.
15313
15314         forkpty, openpty: split functions into new modules
15315         * modules/pty (Makefile.am): Substitute new witnesses.
15316         (Libraries): Move library detection...
15317         * modules/forkpty: ...into new module.
15318         * modules/openpty: Another new module.
15319         * modules/pty-tests: Rename and split...
15320         * modules/forkpty-tests: ...to this...
15321         * modules/openpty-tests: ...and this.
15322         * tests/test-pty.c: Rename and split...
15323         * tests/test-forkpty.c: ...to this...
15324         * tests/test-openpty.c: ...and this.
15325         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
15326         (gl_PTY): Split library searching...
15327         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
15328         (gl_FORKPTY, gl_OPENPTY): New macros.
15329         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
15330         * NEWS: Mention the split.
15331         * MODULES.html.sh (Misc): Document the modules.
15332         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
15333         * doc/glibc-functions/openpty.texi (openpty): Likewise.
15334
15335         pty: improve replacement header
15336         * lib/pty.in.h: New file.
15337         * modules/pty (Files): Ship it.
15338         (Makefile.am): Always build replacement.
15339         * m4/pty.m4: Rename...
15340         * m4/pty_h.m4: ...to this.
15341         (gl_PTY): Modernize setting of witness macros; update check of
15342         forkpty to take proper advantage of cache.
15343         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
15344
15345         getopt: avoid compiler warning
15346         * lib/getopt.c (attribute_hidden): Remove unused macro.
15347
15348 2010-03-18  Bruno Haible  <bruno@clisp.org>
15349
15350         Fix link errors on Solaris 8.
15351         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
15352         * modules/search-tests (test_search_c___LDADD): Likewise.
15353         * modules/signal-tests (test_signal_c___LDADD): Likewise.
15354         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
15355         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
15356         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
15357         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
15358         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
15359         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
15360
15361 2010-03-18  Bruno Haible  <bruno@clisp.org>
15362
15363         Fix bug introduced on 2010-03-14.
15364         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
15365         (gl_SPAWN_H): Require it.
15366         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
15367         Reported by Simon Josefsson.
15368
15369 2010-03-18  Bruno Haible  <bruno@clisp.org>
15370
15371         Fix typo introduced on 2009-12-31.
15372         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
15373         posix_spawn_file_actions_adddup2.
15374
15375 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
15376         and Eric Blake  <eblake@redhat.com>
15377
15378         test-vc-list-files-git: make more robust
15379         * tests/test-vc-list-files-git.sh: Unset problematic environment
15380         variables.  Chain commands together.
15381
15382 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
15383
15384         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
15385         `AC_CHECK_DECL' invocation.
15386
15387 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
15388
15389         * lib/inttostr.c (inttostr): Make sure the invocation of verify
15390         appears before executable statements. Suggested by Petr Sumbera
15391         <Petr.Sumbera@Sun.COM>.
15392
15393 2010-03-14  Bruno Haible  <bruno@clisp.org>
15394
15395         * tests/test-flock.c (test_exclusive): Comment out a test that causes
15396         portability problems. Instead use a simpler test.
15397         (main): Check that invalid arguments are rejected only on Linux.
15398
15399 2010-03-14  Bruno Haible  <bruno@clisp.org>
15400
15401         Fix bug introduced on 2009-12-31.
15402         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
15403         gl_PREREQ_SYS_H_WINSOCK2 always.
15404         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
15405         SYS_SOCKET_H variable.
15406         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
15407         Update comments.
15408         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
15409         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
15410         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
15411         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
15412         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
15413
15414 2010-03-14  Bruno Haible  <bruno@clisp.org>
15415
15416         Fix values returned by sinl, cosl.
15417         * lib/trigl.h: Add specification comments.
15418         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
15419         that combines the values from the precomputed table with the values of
15420         the Chebyshev polynomials.
15421
15422 2010-03-14  Bruno Haible  <bruno@clisp.org>
15423
15424         Fix compilation error when modules 'posix_spawn[p]' are not used.
15425         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
15426         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
15427
15428 2010-03-14  Bruno Haible  <bruno@clisp.org>
15429
15430         Fix compilation error on mingw when module 'time_r' is not used.
15431         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
15432         is 1.
15433         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
15434         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
15435         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
15436         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
15437
15438 2010-03-14  Bruno Haible  <bruno@clisp.org>
15439
15440         Fix compilation error with Sun C.
15441         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
15442         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
15443         instead of GCC specific ULONG_LONG_MAX.
15444         * lib/xstrtoll.c: Likewise.
15445         * lib/xstrtoull.c: Likewise.
15446
15447 2010-03-13  Bruno Haible  <bruno@clisp.org>
15448
15449         Allow the user to disable C++ code and tests.
15450         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
15451         (gl_PROG_ANSI_CXX): Require it.
15452
15453 2010-03-13  Bruno Haible  <bruno@clisp.org>
15454
15455         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
15456         cases.
15457
15458 2010-03-13  Bruno Haible  <bruno@clisp.org>
15459
15460         Test that gnulib does not break the standard C++ headers.
15461         * tests/test-locale-c++2.cc: New file.
15462         * modules/locale-tests (Files): Add it.
15463         (Makefile.am): Compile it for test-locale-c++.
15464         * tests/test-math-c++2.cc: New file.
15465         * modules/math-tests (Files): Add it.
15466         (Makefile.am): Compile it for test-math-c++.
15467         * tests/test-signal-c++2.cc: New file.
15468         * modules/signal-tests (Files): Add it.
15469         (Makefile.am): Compile it for test-signal-c++.
15470         * tests/test-stdio-c++2.cc: New file.
15471         * modules/stdio-tests (Files): Add it.
15472         (Makefile.am): Compile it for test-stdio-c++.
15473         * tests/test-stdlib-c++2.cc: New file.
15474         * modules/stdlib-tests (Files): Add it.
15475         (Makefile.am): Compile it for test-stdlib-c++.
15476         * tests/test-string-c++2.cc: New file.
15477         * modules/string-tests (Files): Add it.
15478         (Makefile.am): Compile it for test-string-c++.
15479         * tests/test-time-c++2.cc: New file.
15480         * modules/time-tests (Files): Add it.
15481         (Makefile.am): Compile it for test-time-c++.
15482         Reported by John W. Eaton <jwe@gnu.org>.
15483
15484 2010-03-13  Bruno Haible  <bruno@clisp.org>
15485
15486         * gnulib-tool (func_usage): Clarify which options are available for
15487         --create-testdir and --create-megatestdir.
15488
15489 2010-03-13  Bruno Haible  <bruno@clisp.org>
15490
15491         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
15492         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
15493         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
15494         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
15495         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
15496         when appropriate.
15497         Reported by Jim Meyering.
15498
15499 2010-03-12  Simon Josefsson  <simon@josefsson.org>
15500
15501         * gnulib-tool (func_import): Explain origin of code.
15502
15503 2010-03-12  Bruno Haible  <bruno@clisp.org>
15504
15505         Fix problem with automake's definition of CXXLINK.
15506         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
15507         Reported by Simon Josefsson and Ludovic Courtès.
15508
15509 2010-03-12  Bruno Haible  <bruno@clisp.org>
15510
15511         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
15512         stable releases.
15513
15514 2010-03-11  Bruno Haible  <bruno@clisp.org>
15515
15516         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
15517         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
15518         whether the system provides one variant or multiple variants of the
15519         function.
15520         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
15521         C++ compilers.
15522         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
15523         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
15524         Reported by Jim Meyering.
15525
15526 2010-03-09  Simon Josefsson  <simon@josefsson.org>
15527
15528         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
15529
15530 2010-03-08  Bruno Haible  <bruno@clisp.org>
15531
15532         gnulib-tool: Add support for --libtool in --create-testdir.
15533         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
15534         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
15535
15536 2010-03-08  Eric Blake  <eblake@redhat.com>
15537
15538         gnulib-tool.texi: mention possibility of git submodule
15539         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
15540         submodules.
15541         * doc/.gitignore: Ignore another generated file.
15542
15543 2010-03-08  Karl Berry  <karl@gnu.org>
15544
15545         * doc/gnulib-tool.texi (VCS Issues): Mention third option
15546         of committing gnulib files while skipping others.
15547
15548 2010-03-07  Bruno Haible  <bruno@clisp.org>
15549
15550         Tests of module 'wctype' in C++ mode.
15551         * tests/test-wctype-c++.cc: New file.
15552         * modules/wctype-tests (Files): Add it and tests/signature.h.
15553         (Depends-on): Add ansi-c++-opt.
15554         (Makefile.am): Arrange to compile and run test-wctype-c++.
15555
15556         Tests of module 'wchar' in C++ mode.
15557         * tests/test-wchar-c++.cc: New file.
15558         * modules/wchar-tests (Files): Add it and tests/signature.h.
15559         (Depends-on): Add ansi-c++-opt.
15560         (Makefile.am): Arrange to compile and run test-wchar-c++.
15561         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
15562         gl_MODULE_INDICATOR.
15563
15564         Tests of module 'unistd' in C++ mode.
15565         * tests/test-unistd-c++.cc: New file.
15566         * modules/unistd-tests (Files): Add it and tests/signature.h.
15567         (Depends-on): Add ansi-c++-opt.
15568         (Makefile.am): Arrange to compile and run test-unistd-c++.
15569         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
15570         gl_MODULE_INDICATOR.
15571
15572         Tests of module 'time' in C++ mode.
15573         * tests/test-time-c++.cc: New file.
15574         * modules/time-tests (Files): Add it and tests/signature.h.
15575         (Depends-on): Add ansi-c++-opt.
15576         (Makefile.am): Arrange to compile and run test-time-c++.
15577         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
15578
15579         Tests of module 'sys_time' in C++ mode.
15580         * tests/test-sys_time-c++.cc: New file.
15581         * modules/sys_time-tests (Files): Add it and tests/signature.h.
15582         (Depends-on): Add ansi-c++-opt.
15583         (Makefile.am): Arrange to compile and run test-sys_time-c++.
15584         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
15585         gl_MODULE_INDICATOR.
15586
15587         Tests of module 'sys_stat' in C++ mode.
15588         * tests/test-sys_stat-c++.cc: New file.
15589         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
15590         (Depends-on): Add ansi-c++-opt.
15591         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
15592         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
15593         gl_MODULE_INDICATOR.
15594
15595         Tests of module 'sys_socket' in C++ mode.
15596         * tests/test-sys_socket-c++.cc: New file.
15597         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
15598         (Depends-on): Add ansi-c++-opt.
15599         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
15600         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
15601         gl_MODULE_INDICATOR.
15602
15603         Tests of module 'sys_select' in C++ mode.
15604         * tests/test-sys_select-c++.cc: New file.
15605         * modules/sys_select-tests (Files): Add it and tests/signature.h.
15606         (Depends-on): Add ansi-c++-opt.
15607         (Makefile.am): Arrange to compile and run test-sys_select-c++.
15608         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
15609         gl_MODULE_INDICATOR.
15610
15611         Tests of module 'sys_ioctl' in C++ mode.
15612         * tests/test-sys_ioctl-c++.cc: New file.
15613         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
15614         (Depends-on): Add ansi-c++-opt.
15615         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
15616         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
15617         gl_MODULE_INDICATOR.
15618
15619         Tests of module 'string' in C++ mode.
15620         * tests/test-string-c++.cc: New file.
15621         * modules/string-tests (Files): Add it and tests/signature.h.
15622         (Depends-on): Add ansi-c++-opt.
15623         (Makefile.am): Arrange to compile and run test-string-c++.
15624         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
15625         gl_MODULE_INDICATOR.
15626
15627         Tests of module 'stdlib' in C++ mode.
15628         * tests/test-stdlib-c++.cc: New file.
15629         * modules/stdlib-tests (Files): Add it and tests/signature.h.
15630         (Depends-on): Add ansi-c++-opt.
15631         (Makefile.am): Arrange to compile and run test-stdlib-c++.
15632         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
15633         gl_MODULE_INDICATOR.
15634
15635         Tests of module 'stdio' in C++ mode.
15636         * tests/test-stdio-c++.cc: New file.
15637         * modules/stdio-tests (Files): Add it and tests/signature.h.
15638         (Depends-on): Add ansi-c++-opt.
15639         (Makefile.am): Arrange to compile and run test-stdio-c++.
15640         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
15641         gl_MODULE_INDICATOR.
15642
15643         Tests of module 'spawn' in C++ mode.
15644         * tests/test-spawn-c++.cc: New file.
15645         * modules/spawn-tests (Files): Add it and tests/signature.h.
15646         (Depends-on): Add ansi-c++-opt.
15647         (Makefile.am): Arrange to compile and run test-spawn-c++.
15648         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
15649         gl_MODULE_INDICATOR.
15650
15651         Tests of module 'signal' in C++ mode.
15652         * tests/test-signal-c++.cc: New file.
15653         * modules/signal-tests (Files): Add it and tests/signature.h.
15654         (Depends-on): Add ansi-c++-opt.
15655         (Makefile.am): Arrange to compile and run test-signal-c++.
15656         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
15657         gl_MODULE_INDICATOR.
15658
15659         Tests of module 'search' in C++ mode.
15660         * tests/test-search-c++.cc: New file.
15661         * modules/search-tests (Files): Add it and tests/signature.h.
15662         (Depends-on): Add ansi-c++-opt.
15663         (Makefile.am): Arrange to compile and run test-search-c++.
15664         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
15665         gl_MODULE_INDICATOR.
15666
15667         Tests of module 'math' in C++ mode.
15668         * tests/test-math-c++.cc: New file.
15669         * modules/math-tests (Files): Add it and tests/signature.h.
15670         (Depends-on): Add ansi-c++-opt.
15671         (Makefile.am): Arrange to compile and run test-math-c++.
15672         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
15673
15674         Tests of module 'locale' in C++ mode.
15675         * tests/test-locale-c++.cc: New file.
15676         * modules/locale-tests (Files): Add it and tests/signature.h.
15677         (Depends-on): Add ansi-c++-opt.
15678         (Makefile.am): Arrange to compile and run test-locale-c++.
15679         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
15680         gl_MODULE_INDICATOR.
15681
15682         Tests of module 'langinfo' in C++ mode.
15683         * tests/test-langinfo-c++.cc: New file.
15684         * modules/langinfo-tests (Files): Add it and tests/signature.h.
15685         (Depends-on): Add ansi-c++-opt.
15686         (Makefile.am): Arrange to compile and run test-langinfo-c++.
15687         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
15688         gl_MODULE_INDICATOR.
15689
15690         Tests of module 'iconv-h' in C++ mode.
15691         * tests/test-iconv-h-c++.cc: New file.
15692         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
15693         (Depends-on): Add ansi-c++-opt.
15694         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
15695
15696         Tests of module 'glob' in C++ mode.
15697         * tests/test-glob-c++.cc: New file.
15698         * modules/glob-tests (Files): Add it.
15699         (Depends-on): Add ansi-c++-opt.
15700         (Makefile.am): Arrange to compile and run test-glob-c++.
15701
15702         Tests of module 'fcntl-h' in C++ mode.
15703         * tests/test-fcntl-h-c++.cc: New file.
15704         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
15705         (Depends-on): Add ansi-c++-opt.
15706         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
15707         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
15708         gl_MODULE_INDICATOR.
15709
15710         Tests of module 'dirent' in C++ mode.
15711         * tests/test-dirent-c++.cc: New file.
15712         * modules/dirent-tests (Files): Add it and tests/signature.h.
15713         (Depends-on): Add ansi-c++-opt.
15714         (Makefile.am): Arrange to compile and run test-dirent-c++.
15715         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
15716         gl_MODULE_INDICATOR.
15717
15718         New module 'ansi-c++-opt'.
15719         * modules/ansi-c++-opt: New file.
15720         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
15721
15722         Document C++ namespace mode.
15723         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
15724
15725         wctype: Avoid #define replacements in C++ mode.
15726         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
15727         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
15728         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
15729         In C++, define a namespaced alias symbol.
15730         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
15731         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
15732         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
15733         rule.
15734
15735         wchar: Avoid #define replacements in C++ mode.
15736         * lib/wchar.in.h: Include c++defs.h.
15737         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
15738         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
15739         symbol.
15740         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
15741         * modules/wchar (Depends-on): Add c++defs.
15742         (Makefile.am): Update wchar.h rule.
15743
15744         unistd: Avoid #define replacements in C++ mode.
15745         * lib/unistd.in.h: Include c++defs.h.
15746         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
15747         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
15748         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
15749         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
15750         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
15751         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
15752         symbol.
15753         (environ): Update.
15754         * modules/unistd (Depends-on): Add c++defs.
15755         (Makefile.am): Update unistd.h rule.
15756
15757         time: Avoid #define replacements in C++ mode.
15758         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
15759         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
15760         define a namespaced alias symbol.
15761         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
15762         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
15763         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
15764         * modules/time (Depends-on): Add c++defs, warn-on-use.
15765         (Makefile.am): Update time.h rule.
15766         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
15767         * modules/nanosleep (configure.ac): Likewise.
15768         * modules/strptime (configure.ac): Likewise.
15769         * modules/timegm (configure.ac): Likewise.
15770
15771         sys_time: Avoid #define replacements in C++ mode.
15772         * lib/sys_time.in.h: Include c++defs.h.
15773         (gettimeofday): In C++, define a namespaced alias symbol.
15774         * modules/sys_time (Depends-on): Add c++defs.
15775         (Makefile.am): Update sys/time.h rule.
15776
15777         sys_stat: Avoid #define replacements in C++ mode.
15778         * lib/sys_stat.in.h: Include c++defs.h.
15779         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
15780         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
15781         namespaced alias symbol.
15782         In C++, define a namespaced alias symbol.
15783         * modules/sys_stat (Depends-on): Add c++defs.
15784         (Makefile.am): Update sys/stat.h rule.
15785
15786         sys_socket: Avoid #define replacements in C++ mode.
15787         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
15788         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
15789         definitions also when the system has a <sys/socket.h>.
15790         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
15791         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
15792         In C++, define a namespaced alias symbol.
15793         * modules/sys_socket (Depends-on): Add c++defs.
15794         (Makefile.am): Update sys/socket.h rule.
15795
15796         sys_select: Avoid #define replacements in C++ mode.
15797         * lib/sys_select.in.h: Include c++defs.h. Enable the function
15798         definitions also when the system has a <sys/select.h>.
15799         (select): In C++, define a namespaced alias symbol.
15800         * modules/sys_select (Depends-on): Add c++defs.
15801         (Makefile.am): Update sys/select.h rule.
15802
15803         sys_ioctl: Avoid #define replacements in C++ mode.
15804         * lib/sys_ioctl.in.h: Include c++defs.h.
15805         (ioctl): In C++, define a namespaced alias symbol.
15806         * modules/sys_ioctl (Depends-on): Add c++defs.
15807         (Makefile.am): Update sys/ioctl.h rule.
15808
15809         string: Avoid #define replacements in C++ mode.
15810         * lib/string.in.h: Include c++defs.h.
15811         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
15812         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
15813         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
15814         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
15815         strsignal, strverscmp): In C++, define a namespaced alias symbol.
15816         * modules/string (Depends-on): Add c++defs.
15817         (Makefile.am): Update string.h rule.
15818
15819         stdlib: Avoid #define replacements in C++ mode.
15820         * lib/stdlib.in.h: Include c++defs.h.
15821         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
15822         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
15823         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
15824         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
15825         symbol.
15826         * modules/stdlib (Depends-on): Add c++defs.
15827         (Makefile.am): Update stdlib.h rule.
15828
15829         stdio: Avoid #define replacements in C++ mode.
15830         * lib/stdio.in.h: Include c++defs.h.
15831         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
15832         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
15833         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
15834         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
15835         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
15836         namespaced alias symbol.
15837         * modules/stdio (Depends-on): Add c++defs.
15838         (Makefile.am): Update stdio.h rule.
15839
15840         spawn: Avoid #define replacements in C++ mode.
15841         * lib/spawn.in.h: Include c++defs.h.
15842         (posix_spawn, posix_spawnp, posix_spawnattr_init,
15843         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
15844         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
15845         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
15846         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
15847         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
15848         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
15849         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
15850         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
15851         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
15852         In C++, define a namespaced alias symbol.
15853         * modules/spawn (Depends-on): Add c++defs.
15854         (Makefile.am): Update spawn.h rule.
15855
15856         signal: Avoid #define replacements in C++ mode.
15857         * lib/signal.in.h: Include c++defs.h.
15858         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
15859         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
15860         namespaced alias symbol.
15861         * modules/signal (Depends-on): Add c++defs.
15862         (Makefile.am): Update signal.h rule.
15863
15864         search: Avoid #define replacements in C++ mode.
15865         * lib/search.in.h: Include c++defs.h.
15866         (_gl_search_compar_fn, _gl_search_action_fn): New types.
15867         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
15868         symbol.
15869         * modules/search (Depends-on): Add c++defs.
15870         (Makefile.am): Update search.h rule.
15871
15872         math: Avoid #define replacements in C++ mode.
15873         * lib/math.in.h: Include c++defs.h.
15874         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
15875         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
15876         trunc, truncl): In C++, define a namespaced alias symbol.
15877         * modules/math (Depends-on): Add c++defs.
15878         (Makefile.am): Update math.h rule.
15879
15880         locale: Avoid #define replacements in C++ mode.
15881         * lib/locale.in.h: Include c++defs.h.
15882         (duplocale): In C++, define a namespaced alias symbol.
15883         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
15884         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
15885         * modules/locale (Depends-on): Add c++defs.
15886         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
15887
15888         langinfo: Avoid #define replacements in C++ mode.
15889         * lib/langinfo.in.h: Include c++defs.h.
15890         (nl_langinfo): In C++, define a namespaced alias symbol.
15891         * modules/langinfo (Depends-on): Add c++defs.
15892         (Makefile.am): Update langinfo.h rule.
15893
15894         iconv-h: Avoid #define replacements in C++ mode.
15895         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
15896         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
15897         symbol.
15898         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
15899         whenever iconv is present.
15900         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
15901         (Makefile.am): Update iconv.h rule.
15902
15903         glob: Avoid #define replacements in C++ mode.
15904         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
15905         (_gl_glob_errfunc_fn): New type.
15906         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
15907         symbol.
15908         * modules/glob (Depends-on): Add c++defs, warn-on-use.
15909         (Makefile.am): Update glob.h rule.
15910
15911         fcntl-h: Avoid #define replacements in C++ mode.
15912         * lib/fcntl.in.h: Include c++defs.h.
15913         (fcntl, open, openat): In C++, define a namespaced alias symbol.
15914         * modules/fcntl-h (Depends-on): Add c++defs.
15915         (Makefile.am): Update fcntl.h rule.
15916
15917         dirent: Avoid #define replacements in C++ mode.
15918         * lib/dirent.in.h: Include c++defs.h.
15919         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
15920         namespaced alias symbol.
15921         (dirfd): Update declaration.
15922         * modules/dirent (Depends-on): Add c++defs.
15923         (Makefile.am): Update dirent.h rule.
15924
15925         ctype: Make it usable in C++ code.
15926         * lib/ctype.in.h: Include c++defs.h.
15927         (isblank): Declare as extern "C".
15928         * modules/ctype (Depends-on): Add c++defs.
15929         (Makefile.am): Update ctype.h rule.
15930
15931         New module 'c++defs'.
15932         * modules/c++defs: New file.
15933         * build-aux/c++defs.h: New file.
15934         Reported by John W. Eaton <jwe@gnu.org>.
15935
15936 2010-03-07  Bruno Haible  <bruno@clisp.org>
15937
15938         logb: Provide missing declaration for Cygwin.
15939         * lib/math.in.h (logb): New declaration.
15940         * m4/logb.m4: New file.
15941         * modules/logb (Files): Add m4/logb.m4.
15942         (Depends-on): Add math.
15943         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
15944         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
15945         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
15946         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
15947         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
15948
15949 2010-03-07  Bruno Haible  <bruno@clisp.org>
15950
15951         Fix test-cond link error.
15952         * tests/test-cond.c: Include <stdio.h>.
15953
15954 2010-03-07  Bruno Haible  <bruno@clisp.org>
15955
15956         Fix test-dirent-safer link error.
15957         * modules/dirent-safer-tests (Makefile.am): Define
15958         test_dirent_safer_LDADD.
15959
15960 2010-03-07  Bruno Haible  <bruno@clisp.org>
15961
15962         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
15963         among default module list.
15964
15965 2010-03-07  Bruno Haible  <bruno@clisp.org>
15966
15967         Fix link error on platforms with GNU libiconv.
15968         * modules/unistr/u8-strcoll-tests (Makefile): Define
15969         test_u8_strcoll_LDADD.
15970         * modules/unistr/u16-strcoll-tests (Makefile): Define
15971         test_u16_strcoll_LDADD.
15972         * modules/unistr/u32-strcoll-tests (Makefile): Define
15973         test_u32_strcoll_LDADD.
15974
15975 2010-03-07  Bruno Haible  <bruno@clisp.org>
15976
15977         Use POSIX declarations for socket functions.
15978         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
15979         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
15980         rpl_sendto): Change declaration to match POSIX.
15981         * lib/connect.c (rpl_connect): Likewise.
15982         * lib/accept.c (rpl_accept): Likewise.
15983         * lib/bind.c (rpl_bind): Likewise.
15984         * lib/getpeername.c (rpl_getpeername): Likewise.
15985         * lib/getsockname.c (rpl_getsockname): Likewise.
15986         * lib/recv.c (rpl_recv): Likewise.
15987         * lib/send.c (rpl_send): Likewise.
15988         * lib/recvfrom.c (rpl_recvfrom): Likewise.
15989         * lib/sendto.c (rpl_sendto): Likewise.
15990
15991 2010-03-06  Bruno Haible  <bruno@clisp.org>
15992
15993         Clarify access, euidaccess, faccessat.
15994         * doc/posix-functions/faccessat.texi: Mention security problem under
15995         "Other problems", not "Portability problems".
15996         * doc/posix-functions/access.texi: Likewise. Mention a related security
15997         problem.
15998         * doc/glibc-functions/euidaccess.texi: Mention security problems.
15999         * lib/euidaccess.c: Add comments about platforms.
16000         * lib/unistd.in.h (access, euidaccess): Add warnings.
16001
16002 2010-03-07  Bruno Haible  <bruno@clisp.org>
16003
16004         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
16005         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
16006         (POSIX_SPAWN_SETSCHEDULER): Likewise.
16007         (POSIX_SPAWN_USEVFORK): Define in a way that works when
16008         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
16009         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
16010         declare when POSIX_SPAWN_SETSCHEDULER is zero.
16011         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
16012         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
16013         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
16014         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
16015         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
16016         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
16017         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
16018         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
16019         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
16020         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
16021         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
16022         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
16023         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
16024         Likewise.
16025         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
16026         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
16027         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
16028         Likewise.
16029         * tests/test-spawn.c (main): Make it work when
16030         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
16031
16032 2010-03-07  Bruno Haible  <bruno@clisp.org>
16033
16034         Fix incorrect Makefile.am generation in German locale.
16035         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
16036         Execute sed command with character range in C locale.
16037
16038 2010-03-06  Bruno Haible  <bruno@clisp.org>
16039
16040         Tests for module 'iconv-h'.
16041         * modules/iconv-h-tests: New file.
16042         * tests/test-iconv-h.c: New file.
16043
16044         New module 'iconv-h'.
16045         * modules/iconv-h: New file.
16046         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
16047         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
16048         (configure.ac): Remove gl_ICONV_H.
16049         (Makefile.am): Remove rule for iconv.h.
16050
16051 2010-03-06  Bruno Haible  <bruno@clisp.org>
16052
16053         More consistent naming of *.m4 files.
16054         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
16055         * modules/wctype (Files): Update.
16056
16057         More consistent naming of *.m4 files.
16058         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
16059         * modules/wchar (Files): Update.
16060
16061 2010-03-06  Jim Meyering  <meyering@redhat.com>
16062
16063         euidaccess: relax license to LGPLv2+
16064         * modules/euidaccess (License): Relax to LGPLv2+.
16065
16066 2010-03-06  Bruno Haible  <bruno@clisp.org>
16067
16068         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
16069         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
16070         (Makefile.am): Augment lib_SOURCES instead.
16071
16072 2010-03-04  Jim Meyering  <meyering@redhat.com>
16073
16074         utime: remove obsolete module
16075         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
16076         unnecessary for years, and has been marked as obsolete for 10 months.
16077         * modules/utime: Remove file.
16078         * lib/utime.c: Remove file.
16079         * m4/utime.m4: Remove file.
16080         * m4/utimes-null.m4: Remove file.
16081         * doc/posix-functions/utime.texi (utime): Remove reference to
16082         the module.  Move the sole "fixed by gnulib" item into the
16083         "problems not fixed by Gnulib" list.
16084         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
16085
16086 2010-03-05  Simon Josefsson  <simon@josefsson.org>
16087
16088         * modules/exit (License): Relax license to LGPLv2+.
16089         (Status): Mark as obsolete.
16090         * NEWS: Mention deprecated 'exit' module.
16091         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
16092         of now obsolete 'exit'.
16093
16094 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16095
16096         fts-lgpl: remove unused module
16097         * modules/fts-lgpl: Remove.
16098         * MODULES.html.sh (func_all_modules): Adjust.
16099         * check-module (find_included_lib_files): Adjust.
16100         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
16101
16102 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
16103
16104         copy-acl: enhance Solaris ACL error handling
16105         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
16106         * lib/set-mode-acl.c (qset_acl): Likewise.
16107
16108 2010-03-02  Bruno Haible  <bruno@clisp.org>
16109
16110         spawn: Don't override the system defined values on FreeBSD 8.
16111         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
16112         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
16113         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
16114         if HAVE_POSIX_SPAWN is 1.
16115         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
16116
16117 2010-03-01  Bruno Haible  <bruno@clisp.org>
16118
16119         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
16120         regarding Automake.
16121
16122 2010-02-25  Bruno Haible  <bruno@clisp.org>
16123
16124         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
16125         * gnulib-tool: Define 'echo' as a function only before the ksh alias
16126         setting, not afterwards.
16127         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
16128
16129 2010-02-24  Eric Blake  <eblake@redhat.com>
16130
16131         bootstrap, git-version-gen: use timestamp
16132         * build-aux/git-version-gen (scriptversion): Force UTC.
16133         * build-aux/bootstrap (scriptversion): New variable.
16134
16135         bootstrap: allow older git
16136         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
16137         older than 1.6.4.  Requested by the libvirt project.
16138
16139 2010-02-23  Eric Blake  <eblake@redhat.com>
16140
16141         warn-on-use: work with old autoconf
16142         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
16143         AS_VAR semantics of autoconf 2.60.
16144         Reported by Bruno Haible.
16145
16146         bootstrap: improve some comments
16147         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
16148         clarification comments.
16149
16150         gettimeofday: provide correct function
16151         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
16152         when replacement is declared, otherwise provide gettimeofday.
16153         Reported by Michael Goffioul.
16154
16155 2010-02-23  Jim Meyering  <meyering@redhat.com>
16156
16157         lib-ignore: relax license to "unlimited", not LGPLv2+
16158         * modules/lib-ignore (License): Relax to "unlimited".
16159
16160 2010-02-23  Jim Meyering  <meyering@redhat.com>
16161
16162         lib-ignore: relax license to LGPLv2+
16163         * modules/lib-ignore (License): Relax to LGPLv2+.
16164
16165 2010-02-22  Eric Blake  <eblake@redhat.com>
16166
16167         lseek: avoid bash 3.2 broken pipe bug
16168         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
16169         warning from bash 3.2.
16170         Reported by Ben Pfaff, with analysis from Bruno Haible.
16171
16172         bootstrap: support non-FSF copyright holder
16173         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
16174         bootstrap.conf override of COPYRIGHT_HOLDER.
16175         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
16176
16177         bootstrap: interoperate with gettext 0.14.1
16178         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
16179
16180         bootstrap: allow for alternate submodule location
16181         * build-aux/bootstrap (gnulib_path): New variable; use instead of
16182         hardcoding submodule location.
16183         (gnulib_mk): Allow direct use of Makefile.am.
16184
16185         bootstrap: use GNULIB_SRCDIR to reduce disk usage
16186         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
16187         rather than reconfiguring where the submodule points.
16188
16189         gettimeofday: restore support for platforms that lack function
16190         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
16191         replacement if function is missing.
16192         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
16193         * modules/sys_time (Makefile.am): Substitute it.
16194         * lib/sys_time.in.h (gettimeofday): Check it.
16195         Reported by Michael Goffioul.
16196
16197 2010-02-21  Bruno Haible  <bruno@clisp.org>
16198
16199         * lib/stdio.in.h (obstack_printf): Fix typo.
16200
16201 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
16202
16203         vc-list-files: use bzr ls's -R option
16204         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
16205         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
16206
16207 2010-02-21  Jim Meyering  <meyering@redhat.com>
16208
16209         init.sh: fix EXEEXT shims to work also for names like test-prog
16210         * tests/init.sh: Re-exec a better shell, when needed.
16211         If the current shell lacks support for posix $(...), an init.sh-using
16212         test will now try to find a shell that supports that.  If EXEEXT is
16213         nonempty, we also require support for hyphen-in-alias-name and shell
16214         substitutions like ${var#glob}.  Failure to find such a shell results
16215         in a skipped test.
16216
16217 2010-02-21  Bruno Haible  <bruno@clisp.org>
16218
16219         Really work around around "broken pipe" error message from bash 3.2.
16220         * gnulib-tool (func_reset_sigpipe): Remove function.
16221         (echo): In bash 3.2, define to a function that uses printf.
16222         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
16223
16224 2010-02-20  Bruno Haible  <bruno@clisp.org>
16225
16226         Restore support for automake 1.9.6 with autoconf 2.61.
16227         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
16228         Reported by James Youngman <jay@gnu.org>.
16229
16230 2010-02-20  Bruno Haible  <bruno@clisp.org>
16231
16232         Improve *printf warning condition.
16233         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
16234         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
16235         and the function is overridden due to SIGPIPE emulation.
16236
16237 2010-02-20  Bruno Haible  <bruno@clisp.org>
16238
16239         * lib/stdio.in.h: Tweak comments.
16240
16241 2010-02-19  Bruno Haible  <bruno@clisp.org>
16242
16243         Make it easier to find modules. New gnulib-tool option '--find'.
16244         * gnulib-tool: New option --find.
16245         (func_usage): Document it.
16246         (func_sanitize_modulelist): New function, extracted from
16247         func_all_modules.
16248         (func_all_modules): Invoke it.
16249         * doc/gnulib-tool.texi (Which modules?): New node.
16250
16251 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
16252
16253         * lib/sys_select.in.h: Provide select replacement even if
16254         sys/select.h exists on a system, for Interix.
16255
16256 2010-02-18  Jim Meyering  <meyering@redhat.com>
16257
16258         init.sh: don't use $(...) just yet
16259         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
16260         to accommodate e.g., Solaris' /bin/sh.
16261
16262 2010-02-17  Bruno Haible  <bruno@clisp.org>
16263
16264         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
16265         Reported by Ludovic Courtès <ludo@gnu.org>.
16266
16267 2010-02-16  Simon Josefsson  <simon@josefsson.org>
16268
16269         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
16270         linking with -lintl.
16271
16272 2010-02-17  Simon Josefsson  <simon@josefsson.org>
16273
16274         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
16275         if not provided by the system's netdb.h.  Reported by
16276         ludo@gnu.org (Ludovic Courtès).
16277
16278 2010-02-15  Jim Meyering  <meyering@redhat.com>
16279
16280         init.sh: improve portability and efficiency
16281         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
16282         "dummy" in a for loop.
16283         Use '!', not '^' to select the complement of a character set used
16284         in a "case" statement.
16285         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
16286         Suggestions from Eric Blake.
16287
16288         init.sh: automatically accommodate programs with the .exe suffix
16289         Automatically arrange for an invocation of "prog" to execute the
16290         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
16291         may use the simpler "prog", yet still work when built on a system
16292         that requires specifying the added suffix.
16293         Do this by constructing a function named "prog" that invokes
16294         "prog.exe" for each .exe file in selected directories.
16295         * tests/init.sh (find_exe_basenames_): New function.
16296         (create_exe_shim_functions_): New function.
16297         (path_prepend_): Use it.
16298
16299         maint.mk: mark syntax-check sc_*.m rules as .PHONY
16300         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
16301         "make -t syntax-check" doesn't create a ton of sc_*.m files.
16302
16303 2010-02-14  Jim Meyering  <meyering@redhat.com>
16304
16305         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
16306         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
16307         (sc_prohibit_hash_pjw_without_use): New rule.
16308
16309         maint.mk: allow the default upload destination dir to be overridden
16310         * top/maint.mk (upload_dest_dir_): Define with a default that
16311         preserves the status quo.
16312         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
16313         Reported by Peter Simons.
16314
16315         maint.mk: prohibit inclusion of "hash.h" without_use
16316         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
16317
16318 2010-02-10  Jim Meyering  <meyering@redhat.com>
16319
16320         maint.mk: prohibit inclusion of "ignore-value.h" without_use
16321         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
16322
16323 2010-02-09  Eric Blake  <ebb9@byu.net>
16324         and Bruno Haible  <bruno@clisp.org>
16325
16326         obstack-printf-posix: ensure declaration
16327         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
16328         extracted from gl_FUNC_OBSTACK_PRINTF.
16329         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
16330         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
16331         Likewise.
16332         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
16333         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
16334         0.
16335
16336 2010-02-08  Bruno Haible  <bruno@clisp.org>
16337
16338         gnulib-tool: Fix typo in 2010-02-07 commit.
16339         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
16340         Reported by Eric Blake.
16341
16342 2010-02-07  Bruno Haible  <bruno@clisp.org>
16343
16344         gnulib-tool: Fix up caching patches.
16345         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
16346         option --no-cache. Use associative arrays when supported by the shell.
16347         (sed_comments): New variable.
16348         (modcache): Renamed from do_cache.
16349         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
16350         abbreviate unnecessarily.
16351         (have_associative): New variable.
16352         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
16353         way also for ksh and zsh.
16354         (func_init_sed_convert_to_cache_statements): New function, extracted
16355         from func_cache_lookup_module. Add support for associative arrays.
16356         Don't set the c_MODULE_cached variable here. Ignore all lines before
16357         the first field header. Remove only the final newline, not all trailing
16358         newlines. Support empty fields correctly. Limit the use of 'eval' to
16359         assignments.
16360         (func_get_description, func_get_status, func_get_notice,
16361         func_get_applicability, func_get_filelist, func_get_dependencies,
16362         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
16363         func_get_automake_snippet, func_get_include_directive,
16364         func_get_link_directive, func_get_license, func_get_maintainer):
16365         Update documentation. List the unoptimized code first. Add support for
16366         associative arrays. Limit the use of 'eval' to assignments.
16367         (func_get_applicability): Undo stylistic pessimisations.
16368         (func_get_automake_snippet, func_get_include_directive): Reduce code
16369         duplication.
16370         (func_modules_transitive_closure, func_modules_add_dummy,
16371         func_modules_notice, func_modules_to_filelist, func_add_file,
16372         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
16373         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
16374         func_create_testdir, func_create_megatestdir): Update documentation.
16375
16376 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16377
16378         * gnulib-tool (func_cache_lookup_module): Store the module name
16379         belonging to the cache variable; error out if two different
16380         module names map to the same cache variable name.
16381
16382 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16383
16384         gnulib-tool: Make caching optional.
16385         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
16386         Update matching short versions of --no-changelog.
16387         (func_usage): Update.
16388         (sed_extract_cache_prog): Renamed from ...
16389         (sed_extract_prog): ... this; revert to old extraction script.
16390         (func_get_description, func_get_status)
16391         (func_get_notice, func_get_applicability, func_get_filelist)
16392         (func_get_dependencies, func_get_autoconf_early_snippet)
16393         (func_get_autoconf_snippet, func_get_automake_snippet)
16394         (func_get_include_directive, func_get_link_directive)
16395         (func_get_license, func_get_maintainer): If $do_cache is false,
16396         use old, non-caching extraction scripts.
16397         Suggestion by Bruno Haible.
16398
16399 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16400
16401         gnulib-tool: cache module metainformation.
16402         * gnulib-tool (sed_extract_prog): Match newline before each
16403         header, and rewrite header to a shell variable suffix.
16404         (func_cache_var, func_cache_lookup_module): New functions,
16405         to turn a module name into a cache variable prefix, and to
16406         look up and cache module metainformation.
16407         (func_get_description, func_get_status)
16408         (func_get_notice, func_get_applicability, func_get_filelist)
16409         (func_get_dependencies, func_get_autoconf_early_snippet)
16410         (func_get_autoconf_snippet, func_get_automake_snippet)
16411         (func_get_include_directive, func_get_link_directive)
16412         (func_get_license, func_get_maintainer): Use
16413         func_cache_lookup_module.
16414
16415 2010-02-07  Bruno Haible  <bruno@clisp.org>
16416
16417         fnctl: Fix missing dependency.
16418         * modules/fcntl (Depends-on): Add getdtablesize.
16419         Reported by John W. Eaton <jwe@gnu.org>.
16420
16421 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
16422
16423         Argp: fix recognition of short alias options.
16424
16425         * lib/argp-parse.c (convert_options): Fix improper use of
16426         `|' between character values.
16427         * tests/test-argp.c (group1_option): New alias option
16428         --read (-r).
16429         (group1_parser): Special handling for 'r'.
16430         (test15): New test case.
16431         (test_fun): Add test15.
16432         * tests/test-argp-2.sh: Update expected --help and --usage
16433         outputs.
16434
16435 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
16436
16437         * tests/test-argp.c: Fix indentation.
16438
16439 2010-02-04  Eric Blake  <ebb9@byu.net>
16440
16441         gettimeofday: expose type of second argument
16442         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
16443         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
16444         * tests/test-gettimeofday.c: Use it to silence warning.
16445         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
16446         the issue.
16447
16448 2010-02-03  Jim Meyering  <meyering@redhat.com>
16449
16450         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
16451         * lib/regcomp.c (TYPE_SIGNED): Define.
16452         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
16453
16454         regcomp.c: avoid a new -Wshadow warning
16455         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
16456
16457 2010-02-01  Jim Meyering  <meyering@redhat.com>
16458
16459         removing useless parentheses in cpp #define directives
16460         For motivation, see commit c0221df4, "define STREQ(a,b)
16461         consistently, removing useless parentheses"
16462         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
16463         * lib/mountlist.c (MNT_IGNORE): Likewise.
16464         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
16465
16466 2010-02-01  Eric Blake  <ebb9@byu.net>
16467
16468         sys_time: use link-warning
16469         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
16470         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
16471         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
16472         * modules/sys_time (Depends-on): Add warn-on-use.
16473         (Makefile.am): Always build replacement.
16474         (configure.ac): Update substitutions.
16475         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
16476         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
16477         bother with SYS_TIME_H.
16478         * modules/gettimeofday (configure.ac): Declare indicator.
16479         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
16480         in use.
16481
16482         closein-tests: silence compiler warning
16483         * tests/test-closein.c (main): Ignore fread result.
16484         * modules/closein-tests (Depends-on): Add ignore-value.
16485
16486         tests: silence warning about system return
16487         * tests/test-areadlink-with-size.c (main): Ignore system result.
16488         * tests/test-areadlink.c (main): Likewise.
16489         * tests/test-areadlinkat-with-size.c (main): Likewise.
16490         * tests/test-areadlinkat.c (main): Likewise.
16491         * tests/test-canonicalize-lgpl.c (main): Likewise.
16492         * tests/test-canonicalize.c (main): Likewise.
16493         * tests/test-chown.c (main): Likewise.
16494         * tests/test-fchownat.c (main): Likewise.
16495         * tests/test-fdutimensat.c (main): Likewise.
16496         * tests/test-fstatat.c (main): Likewise.
16497         * tests/test-futimens.c (main): Likewise.
16498         * tests/test-lchown.c (main): Likewise.
16499         * tests/test-link.c (main): Likewise.
16500         * tests/test-linkat.c (main): Likewise.
16501         * tests/test-lstat.c (main): Likewise.
16502         * tests/test-mkdir.c (main): Likewise.
16503         * tests/test-mkdirat.c (main): Likewise.
16504         * tests/test-mkfifo.c (main): Likewise.
16505         * tests/test-mkfifoat.c (main): Likewise.
16506         * tests/test-mknod.c (main): Likewise.
16507         * tests/test-readlink.c (main): Likewise.
16508         * tests/test-remove.c (main): Likewise.
16509         * tests/test-rename.c (main): Likewise.
16510         * tests/test-renameat.c (main): Likewise.
16511         * tests/test-rmdir.c (main): Likewise.
16512         * tests/test-symlink.c (main): Likewise.
16513         * tests/test-symlinkat.c (main): Likewise.
16514         * tests/test-unlink.c (main): Likewise.
16515         * tests/test-unlinkat.c (main): Likewise.
16516         * tests/test-utimens.c (main): Likewise.
16517         * tests/test-utimensat.c (main): Likewise.
16518         * modules/areadlink-tests (Depends-on): Add ignore-value.
16519         * modules/areadlink-with-size-tests (Depends-on): Likewise.
16520         * modules/areadlinkat-tests (Depends-on): Likewise.
16521         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
16522         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
16523         * modules/canonicalize-tests (Depends-on): Likewise.
16524         * modules/chown-tests (Depends-on): Likewise.
16525         * modules/fdutimensat-tests (Depends-on): Likewise.
16526         * modules/futimens-tests (Depends-on): Likewise.
16527         * modules/lchown-tests (Depends-on): Likewise.
16528         * modules/link-tests (Depends-on): Likewise.
16529         * modules/linkat-tests (Depends-on): Likewise.
16530         * modules/lstat-tests (Depends-on): Likewise.
16531         * modules/mkdir-tests (Depends-on): Likewise.
16532         * modules/mkfifo-tests (Depends-on): Likewise.
16533         * modules/mkfifoat-tests (Depends-on): Likewise.
16534         * modules/mknod-tests (Depends-on): Likewise.
16535         * modules/openat-tests (Depends-on): Likewise.
16536         * modules/readlink-tests (Depends-on): Likewise.
16537         * modules/remove-tests (Depends-on): Likewise.
16538         * modules/rename-tests (Depends-on): Likewise.
16539         * modules/renameat-tests (Depends-on): Likewise.
16540         * modules/rmdir-tests (Depends-on): Likewise.
16541         * modules/symlink-tests (Depends-on): Likewise.
16542         * modules/symlinkat-tests (Depends-on): Likewise.
16543         * modules/unlink-tests (Depends-on): Likewise.
16544         * modules/utimens-tests (Depends-on): Likewise.
16545         * modules/utimensat-tests (Depends-on): Likewise.
16546
16547 2010-01-31  Bruno Haible  <bruno@clisp.org>
16548
16549         Perform the same test for many <math.h> functions.
16550         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
16551         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
16552         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
16553         of gl_MATHFUNC.
16554         * modules/acos (configure.ac): Likewise.
16555         * modules/asin (configure.ac): Likewise.
16556         * modules/atan (configure.ac): Likewise.
16557         * modules/atan2 (configure.ac): Likewise.
16558         * modules/cbrt (configure.ac): Likewise.
16559         * modules/copysign (configure.ac): Likewise.
16560         * modules/cos (configure.ac): Likewise.
16561         * modules/cosh (configure.ac): Likewise.
16562         * modules/erf (configure.ac): Likewise.
16563         * modules/erfc (configure.ac): Likewise.
16564         * modules/exp (configure.ac): Likewise.
16565         * modules/fmod (configure.ac): Likewise.
16566         * modules/hypot (configure.ac): Likewise.
16567         * modules/j0 (configure.ac): Likewise.
16568         * modules/j1 (configure.ac): Likewise.
16569         * modules/jn (configure.ac): Likewise.
16570         * modules/lgamma (configure.ac): Likewise.
16571         * modules/log (configure.ac): Likewise.
16572         * modules/log10 (configure.ac): Likewise.
16573         * modules/log1p (configure.ac): Likewise.
16574         * modules/pow (configure.ac): Likewise.
16575         * modules/remainder (configure.ac): Likewise.
16576         * modules/sin (configure.ac): Likewise.
16577         * modules/sinh (configure.ac): Likewise.
16578         * modules/tan (configure.ac): Likewise.
16579         * modules/tanh (configure.ac): Likewise.
16580         * modules/y0 (configure.ac): Likewise.
16581         * modules/y1 (configure.ac): Likewise.
16582         * modules/yn (configure.ac): Likewise.
16583         Suggested by Paolo Bonzini.
16584
16585 2010-01-31  Bruno Haible  <bruno@clisp.org>
16586
16587         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
16588
16589 2010-01-31  Bruno Haible  <bruno@clisp.org>
16590
16591         Work around getdelim() bug on FreeBSD 8.0.
16592         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
16593         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
16594         not work.
16595         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
16596         is 1.
16597         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
16598         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
16599         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
16600         a non-zero size.
16601         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
16602
16603 2010-01-31  Bruno Haible  <bruno@clisp.org>
16604
16605         Work around getline() bug on FreeBSD 8.0.
16606         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
16607         and a non-zero size.
16608         * tests/test-getline.c (main): Likewise.
16609         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
16610         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
16611
16612 2010-01-28  Eric Blake  <ebb9@byu.net>
16613
16614         regex: fix build failure
16615         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
16616         platforms.
16617
16618 2010-01-28  Jim Meyering  <meyering@redhat.com>
16619
16620         regex: do not ignore memory allocation failure
16621         * lib/regex_internal.c (create_cd_newstate): Detect
16622         re_node_set_init_copy failure.   Extracted from glibc commit
16623         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
16624
16625         regex: sync more white-space changes from libc
16626         * lib/regex_internal.c: White-space only changes.
16627         * lib/regexec.c: Likewise.
16628
16629         regex: add many uses of __attribute_warn_unused_result__
16630         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
16631         * lib/regexec.c: Likewise.
16632         Extracted from a messy glibc commit.
16633
16634         regcomp.c: spelling and merge-artifact from glibc
16635         * lib/regcomp.c: Merge remainder of glibc's
16636         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
16637
16638         regcomp.c: sync white-space changes from glibc
16639         * lib/regcomp.c: Merge to accommodate white space
16640         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
16641
16642         regcomp.c: do not ignore internal return values
16643         * lib/regcomp.c: Do not ignore internal return values.
16644         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
16645         but without its white-space changes and spelling fixes.
16646
16647         regex_internal.h: define __attribute_warn_unused_result__
16648         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
16649
16650         maint: add a syntax-check rule to check for vulnerable Makefile.in
16651         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
16652
16653 2010-01-27  Jim Meyering  <meyering@redhat.com>
16654
16655         ncftpput-ftp: clean up spaces
16656         * build-aux/ncftpput-ftp: Make Copyright line consistent.
16657         Remove trailing blanks.
16658
16659 2010-01-27  Simon Josefsson  <simon@josefsson.org>
16660
16661         * build-aux/git-version-gen: Fix copyright statement.
16662         * build-aux/gnupload: Likewise.
16663         * tests/test-arcfour.c: Likewise.
16664         * tests/test-arctwo.c: Likewise.
16665         * tests/test-count-one-bits.c: Likewise.
16666         * tests/test-crc.c: Likewise.
16667         * tests/test-des.c: Likewise.
16668         * tests/test-gc-arcfour.c: Likewise.
16669         * tests/test-gc-arctwo.c: Likewise.
16670         * tests/test-gc-des.c: Likewise.
16671         * tests/test-gc-hmac-md5.c: Likewise.
16672         * tests/test-gc-hmac-sha1.c: Likewise.
16673         * tests/test-gc-md2.c: Likewise.
16674         * tests/test-gc-md4.c: Likewise.
16675         * tests/test-gc-md5.c: Likewise.
16676         * tests/test-gc-pbkdf2-sha1.c: Likewise.
16677         * tests/test-gc-rijndael.c: Likewise.
16678         * tests/test-gc-sha1.c: Likewise.
16679         * tests/test-gc.c: Likewise.
16680         * tests/test-gethostname.c: Likewise.
16681         * tests/test-gettimeofday.c: Likewise.
16682         * tests/test-hash.c: Likewise.
16683         * tests/test-hmac-md5.c: Likewise.
16684         * tests/test-hmac-sha1.c: Likewise.
16685         * tests/test-md2.c: Likewise.
16686         * tests/test-md4.c: Likewise.
16687         * tests/test-md5.c: Likewise.
16688         * tests/test-memchr.c: Likewise.
16689         * tests/test-memchr2.c: Likewise.
16690         * tests/test-memcmp.c: Likewise.
16691         * tests/test-memmem.c: Likewise.
16692         * tests/test-memrchr.c: Likewise.
16693         * tests/test-rawmemchr.c: Likewise.
16694         * tests/test-read-file.c: Likewise.
16695         * tests/test-rijndael.c: Likewise.
16696         * tests/test-sockets.c: Likewise.
16697         * tests/test-strchrnul.c: Likewise.
16698         * tests/test-strstr.c: Likewise.
16699         * tests/test-strtod.c: Likewise.
16700         * build-aux/ncftpput-ftp: Likewise.
16701
16702 2010-01-26  Eric Blake  <ebb9@byu.net>
16703
16704         ignore-value: update recommended header name
16705         * modules/ignore-value (Include): Only use <> for headers that
16706         exist in glibc.
16707
16708 2010-01-26  Jim Meyering  <meyering@redhat.com>
16709
16710         test-userspec.c: avoid compiler warnings
16711         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
16712         and "initialization discards qualifiers..." warnings.
16713         Put the first "uid" in its own scope, and make char* members "const".
16714
16715 2010-01-25  Bruno Haible  <bruno@clisp.org>
16716
16717         gnulib-tool: Make warning diagnostics consistent.
16718         * gnulib-tool (func_warning): New function.
16719         Use it everywhere where gnulib-tool produces output to stderr and it is
16720         not a fatal error.
16721
16722 2010-01-25  Bruno Haible  <bruno@clisp.org>
16723
16724         Fix test dependencies.
16725         * modules/xstrtol-tests (Depends-on): Add inttypes.
16726         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
16727
16728 2010-01-25 Pádraig Brady <P@draigBrady.com>
16729
16730         syntax-check: detect incorrect boolean macro values in config.h
16731         * modules/maintainer-makefile (configure.ac): Parameterize the location
16732         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
16733         The logic is from Eric Blake and the location indicated by Jim Meyering.
16734         Note the more natural CONFIG_HEADER name is prohibited by automake
16735         for backwards compatibility reasons.
16736         * top/maint.mk (sc_Wundef_boolean): New rule.
16737
16738 2010-01-25  Jim Meyering  <meyering@redhat.com>
16739
16740         bootstrap: detect MacOS 10.6's shasum, too
16741         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
16742         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
16743
16744 2010-01-23  Jim Meyering  <meyering@redhat.com>
16745
16746         xstrtoll: new module
16747         * modules/xstrtoll: New file.
16748         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
16749         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
16750         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
16751         ./configure fails if you use this module and lack "long long".
16752         * modules/xstrtoll-tests: New module.
16753         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
16754         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
16755         new init.sh-based test framework.
16756
16757 2010-01-24  Bruno Haible  <bruno@clisp.org>
16758
16759         Tests for module 'yn'.
16760         * modules/yn-tests: New file.
16761         * tests/test-yn.c: New file.
16762
16763         Tests for module 'y1'.
16764         * modules/y1-tests: New file.
16765         * tests/test-y1.c: New file.
16766
16767         Tests for module 'y0'.
16768         * modules/y0-tests: New file.
16769         * tests/test-y0.c: New file.
16770
16771         Tests for module 'tanh'.
16772         * modules/tanh-tests: New file.
16773         * tests/test-tanh.c: New file.
16774
16775         Tests for module 'tan'.
16776         * modules/tan-tests: New file.
16777         * tests/test-tan.c: New file.
16778
16779         Tests for module 'sqrt'.
16780         * modules/sqrt-tests: New file.
16781         * tests/test-sqrt.c: New file.
16782
16783         Tests for module 'sinh'.
16784         * modules/sinh-tests: New file.
16785         * tests/test-sinh.c: New file.
16786
16787         Tests for module 'sin'.
16788         * modules/sin-tests: New file.
16789         * tests/test-sin.c: New file.
16790
16791         Tests for module 'rint'.
16792         * modules/rint-tests: New file.
16793         * tests/test-rint.c: New file.
16794
16795         Tests for module 'remainder'.
16796         * modules/remainder-tests: New file.
16797         * tests/test-remainder.c: New file.
16798
16799         Tests for module 'pow'.
16800         * modules/pow-tests: New file.
16801         * tests/test-pow.c: New file.
16802
16803         Tests for module 'nextafter'.
16804         * modules/nextafter-tests: New file.
16805         * tests/test-nextafter.c: New file.
16806
16807         Tests for module 'modf'.
16808         * modules/modf-tests: New file.
16809         * tests/test-modf.c: New file.
16810
16811         Tests for module 'logb'.
16812         * modules/logb-tests: New file.
16813         * tests/test-logb.c: New file.
16814
16815         Tests for module 'log1p'.
16816         * modules/log1p-tests: New file.
16817         * tests/test-log1p.c: New file.
16818
16819         Tests for module 'log10'.
16820         * modules/log10-tests: New file.
16821         * tests/test-log10.c: New file.
16822
16823         Tests for module 'log'.
16824         * modules/log-tests: New file.
16825         * tests/test-log.c: New file.
16826
16827         Tests for module 'lgamma'.
16828         * modules/lgamma-tests: New file.
16829         * tests/test-lgamma.c: New file.
16830
16831         Tests for module 'ldexp'.
16832         * modules/ldexp-tests: New file.
16833         * tests/test-ldexp.c: New file.
16834
16835         Tests for module 'jn'.
16836         * modules/jn-tests: New file.
16837         * tests/test-jn.c: New file.
16838
16839         Tests for module 'j1'.
16840         * modules/j1-tests: New file.
16841         * tests/test-j1.c: New file.
16842
16843         Tests for module 'j0'.
16844         * modules/j0-tests: New file.
16845         * tests/test-j0.c: New file.
16846
16847         Tests for module 'hypot'.
16848         * modules/hypot-tests: New file.
16849         * tests/test-hypot.c: New file.
16850
16851         Tests for module 'fmod'.
16852         * modules/fmod-tests: New file.
16853         * tests/test-fmod.c: New file.
16854
16855         Tests for module 'fabs'.
16856         * modules/fabs-tests: New file.
16857         * tests/test-fabs.c: New file.
16858
16859         Tests for module 'exp'.
16860         * modules/exp-tests: New file.
16861         * tests/test-exp.c: New file.
16862
16863         Tests for module 'erfc'.
16864         * modules/erfc-tests: New file.
16865         * tests/test-erfc.c: New file.
16866
16867         Tests for module 'erf'.
16868         * modules/erf-tests: New file.
16869         * tests/test-erf.c: New file.
16870
16871         Tests for module 'cosh'.
16872         * modules/cosh-tests: New file.
16873         * tests/test-cosh.c: New file.
16874
16875         Tests for module 'cos'.
16876         * modules/cos-tests: New file.
16877         * tests/test-cos.c: New file.
16878
16879         Tests for module 'copysign'.
16880         * modules/copysign-tests: New file.
16881         * tests/test-copysign.c: New file.
16882
16883         Tests for module 'cbrt'.
16884         * modules/cbrt-tests: New file.
16885         * tests/test-cbrt.c: New file.
16886
16887         Tests for module 'atan2'.
16888         * modules/atan2-tests: New file.
16889         * tests/test-atan2.c: New file.
16890
16891         Tests for module 'atan'.
16892         * modules/atan-tests: New file.
16893         * tests/test-atan.c: New file.
16894
16895         Tests for module 'asin'.
16896         * modules/asin-tests: New file.
16897         * tests/test-asin.c: New file.
16898
16899         Tests for module 'acos'.
16900         * modules/acos-tests: New file.
16901         * tests/test-acos.c: New file.
16902
16903 2010-01-24  Bruno Haible  <bruno@clisp.org>
16904
16905         Fix tests for common <math.h> functions.
16906         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
16907         code snippet that references the function pointer, rather than merely
16908         calling the function. Substitute the FUNC_LIBM variable.
16909         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
16910         * modules/acos (configure.ac): Likewise.
16911         * modules/asin (configure.ac): Likewise.
16912         * modules/atan (configure.ac): Likewise.
16913         * modules/atan2 (configure.ac): Likewise.
16914         * modules/cbrt (configure.ac): Likewise.
16915         * modules/copysign (configure.ac): Likewise.
16916         * modules/cos (configure.ac): Likewise.
16917         * modules/cosh (configure.ac): Likewise.
16918         * modules/erf (configure.ac): Likewise.
16919         * modules/erfc (configure.ac): Likewise.
16920         * modules/exp (configure.ac): Likewise.
16921         * modules/fabs (configure.ac): Likewise.
16922         * modules/fmod (configure.ac): Likewise.
16923         * modules/hypot (configure.ac): Likewise.
16924         * modules/j0 (configure.ac): Likewise.
16925         * modules/j1 (configure.ac): Likewise.
16926         * modules/jn (configure.ac): Likewise.
16927         * modules/ldexp (configure.ac): Likewise.
16928         * modules/lgamma (configure.ac): Likewise.
16929         * modules/log (configure.ac): Likewise.
16930         * modules/log10 (configure.ac): Likewise.
16931         * modules/log1p (configure.ac): Likewise.
16932         * modules/logb (configure.ac): Likewise.
16933         * modules/modf (configure.ac): Likewise.
16934         * modules/nextafter (configure.ac): Likewise.
16935         * modules/pow (configure.ac): Likewise.
16936         * modules/remainder (configure.ac): Likewise.
16937         * modules/rint (configure.ac): Likewise.
16938         * modules/sin (configure.ac): Likewise.
16939         * modules/sinh (configure.ac): Likewise.
16940         * modules/tan (configure.ac): Likewise.
16941         * modules/tanh (configure.ac): Likewise.
16942         * modules/y0 (configure.ac): Likewise.
16943         * modules/y1 (configure.ac): Likewise.
16944         * modules/yn (configure.ac): Likewise.
16945
16946 2010-01-24  Bruno Haible  <bruno@clisp.org>
16947
16948         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
16949         * tests/test-acosl.c (x): New variable.
16950         (main): Store argument in x and fetch it from x.
16951         * tests/test-asinl.c (x): New variable.
16952         (main): Store argument in x and fetch it from x.
16953         * tests/test-atanl.c (x): New variable.
16954         (main): Store argument in x and fetch it from x.
16955         * tests/test-cosl.c (x): New variable.
16956         (main): Store argument in x and fetch it from x.
16957         * tests/test-expl.c (x): New variable.
16958         (main): Store argument in x and fetch it from x.
16959         * tests/test-logl.c (x): New variable.
16960         (main): Store argument in x and fetch it from x.
16961         * tests/test-sinl.c (x): New variable.
16962         (main): Store argument in x and fetch it from x.
16963         * tests/test-sqrtl.c (x): New variable.
16964         (main): Store argument in x and fetch it from x.
16965         * tests/test-tanl.c (x): New variable.
16966         (main): Store argument in x and fetch it from x.
16967
16968 2010-01-24  Bruno Haible  <bruno@clisp.org>
16969
16970         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
16971         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
16972         assignments to the initial TESTS_ENVIRONMENT.
16973         * doc/gnulib.texi (Unit test modules): Document it.
16974         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
16975         TESTS_ENVIRONMENT.
16976         * modules/btowc-tests (Makefile.am): Likewise.
16977         * modules/c-stack-tests (Makefile.am): Likewise.
16978         * modules/c-strcase-tests (Makefile.am): Likewise.
16979         * modules/copy-file-tests (Makefile.am): Likewise.
16980         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
16981         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
16982         * modules/mbrtowc-tests (Makefile.am): Likewise.
16983         * modules/mbscasecmp-tests (Makefile.am): Likewise.
16984         * modules/mbscasestr-tests (Makefile.am): Likewise.
16985         * modules/mbschr-tests (Makefile.am): Likewise.
16986         * modules/mbscspn-tests (Makefile.am): Likewise.
16987         * modules/mbsinit-tests (Makefile.am): Likewise.
16988         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
16989         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
16990         * modules/mbspbrk-tests (Makefile.am): Likewise.
16991         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
16992         * modules/mbsrchr-tests (Makefile.am): Likewise.
16993         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
16994         * modules/mbsspn-tests (Makefile.am): Likewise.
16995         * modules/mbsstr-tests (Makefile.am): Likewise.
16996         * modules/nl_langinfo-tests (Makefile.am): Likewise.
16997         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
16998         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
16999         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
17000         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
17001         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
17002         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
17003         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
17004         * modules/wcrtomb-tests (Makefile.am): Likewise.
17005         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
17006         * modules/wcsrtombs-tests (Makefile.am): Likewise.
17007         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
17008         assignments from TESTS_ENVIRONMENT.
17009         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
17010         augmentation.
17011         * modules/argp-version-etc-tests (Makefile.am): Likewise.
17012         * modules/atexit-tests (Makefile.am): Likewise.
17013         * modules/binary-io-tests (Makefile.am): Likewise.
17014         * modules/closein-tests (Makefile.am): Likewise.
17015         * modules/dprintf-posix-tests (Makefile.am): Likewise.
17016         * modules/exclude-tests (Makefile.am): Likewise.
17017         * modules/fflush-tests (Makefile.am): Likewise.
17018         * modules/fpending-tests (Makefile.am): Likewise.
17019         * modules/fprintf-posix-tests (Makefile.am): Likewise.
17020         * modules/freadahead-tests (Makefile.am): Likewise.
17021         * modules/freadptr-tests (Makefile.am): Likewise.
17022         * modules/freadseek-tests (Makefile.am): Likewise.
17023         * modules/fseek-tests (Makefile.am): Likewise.
17024         * modules/fseeko-tests (Makefile.am): Likewise.
17025         * modules/ftell-tests (Makefile.am): Likewise.
17026         * modules/ftello-tests (Makefile.am): Likewise.
17027         * modules/idpriv-drop-tests (Makefile.am): Likewise.
17028         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
17029         * modules/lseek-tests (Makefile.am): Likewise.
17030         * modules/parse-duration-tests (Makefile.am): Likewise.
17031         * modules/perror-tests (Makefile.am): Likewise.
17032         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
17033         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
17034         * modules/pipe-tests (Makefile.am): Likewise.
17035         * modules/pread-tests (Makefile.am): Likewise.
17036         * modules/printf-posix-tests (Makefile.am): Likewise.
17037         * modules/select-tests (Makefile.am): Likewise.
17038         * modules/sigpipe-tests (Makefile.am): Likewise.
17039         * modules/tsearch-tests (Makefile.am): Likewise.
17040         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
17041         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
17042         * modules/uniname/uniname-tests (Makefile.am): Likewise.
17043         * modules/uniwidth/width-tests (Makefile.am): Likewise.
17044         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
17045         * modules/version-etc-tests (Makefile.am): Likewise.
17046         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
17047         * modules/vprintf-posix-tests (Makefile.am): Likewise.
17048         * modules/xalloc-die-tests (Makefile.am): Likewise.
17049         * modules/xprintf-posix-tests (Makefile.am): Likewise.
17050         * modules/xstrtoimax-tests (Makefile.am): Likewise.
17051         * modules/xstrtol-tests (Makefile.am): Likewise.
17052         * modules/xstrtoumax-tests (Makefile.am): Likewise.
17053         * modules/yesno-tests (Makefile.am): Likewise.
17054         Suggested by Jim Meyering.
17055
17056 2010-01-24  Bruno Haible  <bruno@clisp.org>
17057
17058         More documentation.
17059         * doc/gnulib.texi (Writing modules): New chapter.
17060         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
17061         the new chapter.
17062
17063 2010-01-24  Jim Meyering  <meyering@redhat.com>
17064
17065         maint.mk: do not prepend "./" after filtering
17066         * top/maint.mk (_prepend_srcdir_prefix): New variable
17067         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
17068         "./" when $(srcdir) is ".".
17069
17070         define STREQ(a,b) consistently, removing useless parentheses
17071         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
17072         since the only risk is that "a" or "b" contains an unparenthesized
17073         comma, but if either did that, STREQ would have 3 or more arguments.
17074         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
17075         * lib/fts.c (STREQ): Remove unnecessary parentheses.
17076         * lib/hash-triple.c (STREQ): Likewise.
17077         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
17078         * lib/getugroups.c (STREQ): Likewise.
17079
17080 2010-01-23  Jim Meyering  <meyering@redhat.com>
17081
17082         maint.mk: fix syntax-check in a non-srcdir build directory
17083         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
17084         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
17085
17086 2010-01-22  Jim Meyering  <meyering@redhat.com>
17087
17088         userspec: add unit tests
17089         * tests/test-userspec.c: New file.
17090         * modules/userspec-tests: Likewise.
17091
17092 2010-01-21  Jim Meyering  <meyering@redhat.com>
17093
17094         maint.mk: handle source file names containing "." robustly
17095         * top/maint.mk (_dot_escaped_srcdir): Define.
17096         (VC_LIST): Use it in LHS of sed substitution.
17097
17098 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
17099
17100         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
17101         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
17102         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
17103         from a non-srcdir build.
17104
17105 2010-01-20  Eric Blake  <ebb9@byu.net>
17106
17107         warn-on-use: use instead of link-warning
17108         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
17109         * modules/unistd (Depends-on, Makefile.am): Likewise.
17110         * modules/arpa_inet (Depends-on): Replace link-warning with
17111         warn-on-use.
17112         (Makefile.am): Update rules accordingly.
17113         * modules/ctype (Depends-on, Makefile.am): Likewise.
17114         * modules/dirent (Depends-on, Makefile.am): Likewise.
17115         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
17116         * modules/inttypes (Depends-on, Makefile.am): Likewise.
17117         * modules/langinfo (Depends-on, Makefile.am): Likewise.
17118         * modules/locale (Depends-on, Makefile.am): Likewise.
17119         * modules/math (Depends-on, Makefile.am): Likewise.
17120         * modules/search (Depends-on, Makefile.am): Likewise.
17121         * modules/signal (Depends-on, Makefile.am): Likewise.
17122         * modules/spawn (Depends-on, Makefile.am): Likewise.
17123         * modules/stdlib (Depends-on, Makefile.am): Likewise.
17124         * modules/string (Depends-on, Makefile.am): Likewise.
17125         * modules/strings (Depends-on, Makefile.am): Likewise.
17126         * modules/sys_file (Depends-on, Makefile.am): Likewise.
17127         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
17128         * modules/sys_select (Depends-on, Makefile.am): Likewise.
17129         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
17130         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
17131         * modules/sys_times (Depends-on, Makefile.am): Likewise.
17132         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
17133         * modules/wchar (Depends-on, Makefile.am): Likewise.
17134         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
17135         should be poisoned.
17136         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
17137         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
17138         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
17139         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
17140         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
17141         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
17142         * m4/math_h.m4 (gl_MATH_H): Likewise.
17143         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
17144         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
17145         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
17146         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
17147         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
17148         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
17149         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
17150         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
17151         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
17152         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
17153         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
17154         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
17155         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
17156         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
17157         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
17158         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
17159         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
17160         GL_LINK_WARNING.
17161         * lib/ctype.in.h: Likewise.
17162         * lib/dirent.in.h: Likewise.
17163         * lib/fcntl.in.h: Likewise.
17164         * lib/inttypes.in.h: Likewise.
17165         * lib/langinfo.in.h: Likewise.
17166         * lib/locale.in.h: Likewise.
17167         * lib/math.in.h: Likewise.
17168         * lib/search.in.h: Likewise.
17169         * lib/signal.in.h: Likewise.
17170         * lib/spawn.in.h: Likewise.
17171         * lib/stdio.in.h: Likewise.
17172         * lib/stdlib.in.h: Likewise.
17173         * lib/string.in.h: Likewise.
17174         * lib/strings.in.h: Likewise.
17175         * lib/sys_file.in.h: Likewise.
17176         * lib/sys_ioctl.in.h: Likewise.
17177         * lib/sys_select.in.h: Likewise.
17178         * lib/sys_socket.in.h: Likewise.
17179         * lib/sys_stat.in.h: Likewise.
17180         * lib/sys_times.in.h: Likewise.
17181         * lib/sys_utsname.in.h: Likewise.
17182         * lib/unistd.in.h: Likewise.
17183         * lib/wchar.in.h: Likewise.
17184
17185 2010-01-20  Bruno Haible  <bruno@clisp.org>
17186
17187         Avoid duplicate -lm.
17188         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
17189         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
17190         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
17191         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
17192         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
17193         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
17194         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
17195         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
17196         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
17197         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
17198         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
17199         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
17200         Reported by Paolo Bonzini.
17201
17202 2010-01-19  Bruno Haible  <bruno@clisp.org>
17203
17204         langinfo, nl_langinfo: Relicense under LGPLv2+.
17205         * modules/langinfo (License): Change to LGPLv2+.
17206         * modules/nl_langinfo (License): Likewise.
17207         Patch by David Lutterkort <lutter@redhat.com>.
17208
17209 2010-01-19  Bruno Haible  <bruno@clisp.org>
17210
17211         Avoid compilation error with cc on OSF/1 5.1.
17212         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
17213         statement, not before.
17214         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
17215
17216 2010-01-18  Bruno Haible  <bruno@clisp.org>
17217
17218         Avoid a link error due to the __printf__ symbol.
17219         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
17220         and 2.6.x.
17221         (__format__, __printf__): Remove definitions.
17222         * lib/argp-fmtstream.h: Likewise.
17223         * lib/argp.h: Likewise.
17224         * lib/error.h: Likewise.
17225         * lib/vasnprintf.h: Likewise.
17226         * lib/xprintf.h: Likewise.
17227         * lib/xvasprintf.h: Likewise.
17228         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
17229
17230 2010-01-18  Bruno Haible  <bruno@clisp.org>
17231
17232         Tests for module 'tanl'.
17233         * modules/tanl-tests: New file.
17234         * tests/test-tanl.c: New file.
17235
17236         Tests for module 'sqrtl'.
17237         * modules/sqrtl-tests: New file.
17238         * tests/test-sqrtl.c: New file.
17239
17240         Tests for module 'sinl'.
17241         * modules/sinl-tests: New file.
17242         * tests/test-sinl.c: New file.
17243
17244         Tests for module 'logl'.
17245         * modules/logl-tests: New file.
17246         * tests/test-logl.c: New file.
17247
17248         Tests for module 'expl'.
17249         * modules/expl-tests: New file.
17250         * tests/test-expl.c: New file.
17251
17252         Tests for module 'cosl'.
17253         * modules/cosl-tests: New file.
17254         * tests/test-cosl.c: New file.
17255
17256         Tests for module 'atanl'.
17257         * modules/atanl-tests: New file.
17258         * tests/test-atanl.c: New file.
17259
17260         Tests for module 'asinl'.
17261         * modules/asinl-tests: New file.
17262         * tests/test-asinl.c: New file.
17263
17264         Tests for module 'acosl'.
17265         * modules/acosl-tests: New file.
17266         * tests/test-acosl.c: New file.
17267
17268         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
17269         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
17270         tanl): Use the standard gnulib idiom.
17271         * lib/cosl.c: Don't include trigl.c and sincosl.c.
17272         * lib/sinl.c: Likewise.
17273         * lib/tanl.c: Don't include trigl.c.
17274         (kernel_tanl): Make static.
17275         * lib/sincosl.c: Include trigl.h first.
17276         * lib/trigl.c: Likewise.
17277         * m4/acosl.m4: New file.
17278         * m4/asinl.m4: New file.
17279         * m4/atanl.m4: New file.
17280         * m4/cosl.m4: New file.
17281         * m4/expl.m4: New file.
17282         * m4/logl.m4: New file.
17283         * m4/sinl.m4: New file.
17284         * m4/sqrtl.m4: New file.
17285         * m4/tanl.m4: New file.
17286         * m4/mathl.m4: Remove file.
17287         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
17288         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
17289         Don't initialize GNULIB_MATHL.
17290         * modules/acosl: New file.
17291         * modules/asinl: New file.
17292         * modules/atanl: New file.
17293         * modules/cosl: New file.
17294         * modules/expl: New file.
17295         * modules/logl: New file.
17296         * modules/sinl: New file.
17297         * modules/sqrtl: New file.
17298         * modules/tanl: New file.
17299         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
17300         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
17301         substitute GNULIB_MATHL.
17302         * modules/mathl: Rewritten.
17303         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
17304         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
17305         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
17306         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
17307         * doc/posix-functions/expl.texi: Mention the 'expl' module.
17308         * doc/posix-functions/logl.texi: Mention the 'logl' module.
17309         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
17310         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
17311         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
17312
17313 2010-01-18  Bruno Haible  <bruno@clisp.org>
17314
17315         sqrt: Make gl_FUNC_SQRT requirable.
17316         * m4/sqrt.m4: New file.
17317         * modules/sqrt (Files): Add it.
17318         (configure.ac): Invoke gl_FUNC_SQRT.
17319
17320 2010-01-18  Bruno Haible  <bruno@clisp.org>
17321
17322         New modules for common <math.h> functions.
17323         * m4/mathfunc.m4: New file.
17324         * modules/acos: New file.
17325         * modules/asin: New file.
17326         * modules/atan: New file.
17327         * modules/atan2: New file.
17328         * modules/cbrt: New file.
17329         * modules/copysign: New file.
17330         * modules/cos: New file.
17331         * modules/cosh: New file.
17332         * modules/erf: New file.
17333         * modules/erfc: New file.
17334         * modules/exp: New file.
17335         * modules/fabs: New file.
17336         * modules/fmod: New file.
17337         * modules/hypot: New file.
17338         * modules/j0: New file.
17339         * modules/j1: New file.
17340         * modules/jn: New file.
17341         * modules/ldexp: New file.
17342         * modules/lgamma: New file.
17343         * modules/log: New file.
17344         * modules/log10: New file.
17345         * modules/log1p: New file.
17346         * modules/logb: New file.
17347         * modules/modf: New file.
17348         * modules/nextafter: New file.
17349         * modules/pow: New file.
17350         * modules/remainder: New file.
17351         * modules/rint: New file.
17352         * modules/sin: New file.
17353         * modules/sinh: New file.
17354         * modules/sqrt: New file.
17355         * modules/tan: New file.
17356         * modules/tanh: New file.
17357         * modules/y0: New file.
17358         * modules/y1: New file.
17359         * modules/yn: New file.
17360         * doc/posix-functions/acos.texi: Mention the 'acos' module.
17361         * doc/posix-functions/asin.texi: Mention the 'asin' module.
17362         * doc/posix-functions/atan.texi: Mention the 'atan' module.
17363         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
17364         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
17365         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
17366         * doc/posix-functions/cos.texi: Mention the 'cos' module.
17367         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
17368         * doc/posix-functions/erf.texi: Mention the 'erf' module.
17369         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
17370         * doc/posix-functions/exp.texi: Mention the 'exp' module.
17371         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
17372         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
17373         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
17374         * doc/posix-functions/j0.texi: Mention the 'j0' module.
17375         * doc/posix-functions/j1.texi: Mention the 'j1' module.
17376         * doc/posix-functions/jn.texi: Mention the 'jn' module.
17377         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
17378         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
17379         * doc/posix-functions/log.texi: Mention the 'log' module.
17380         * doc/posix-functions/log10.texi: Mention the 'log10' module.
17381         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
17382         * doc/posix-functions/logb.texi: Mention the 'logb' module.
17383         * doc/posix-functions/modf.texi: Mention the 'modf' module.
17384         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
17385         * doc/posix-functions/pow.texi: Mention the 'pow' module.
17386         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
17387         * doc/posix-functions/rint.texi: Mention the 'rint' module.
17388         * doc/posix-functions/sin.texi: Mention the 'sin' module.
17389         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
17390         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
17391         * doc/posix-functions/tan.texi: Mention the 'tan' module.
17392         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
17393         * doc/posix-functions/y0.texi: Mention the 'y0' module.
17394         * doc/posix-functions/y1.texi: Mention the 'y1' module.
17395         * doc/posix-functions/yn.texi: Mention the 'yn' module.
17396
17397 2010-01-18  Jim Meyering  <meyering@redhat.com>
17398
17399         ignore-value: relax license to LGPLv2+
17400         * modules/ignore-value (License): Relax to LGPLv2+.
17401
17402         getdate: don't leak when TZ contains two or more '"'s
17403         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
17404         double quote in TZ after the first one.
17405
17406         readtokens: do not leak internal token_lengths buffer
17407         * lib/readtokens.c (readtokens): Free the local, lengths,
17408         when the supplied "token_lengths" parameter is NULL.
17409
17410 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17411
17412         Fix a couple of missing LIBTHREAD link failures on AIX.
17413         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
17414         $(LIBTHREAD).
17415         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
17416
17417         Link test-poll against INET_PTON_LIB.
17418         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
17419         for inet_pton on Solaris 10.
17420
17421 2010-01-17  Bruno Haible  <bruno@clisp.org>
17422
17423         unistdio/*-sprintf: Fix typo in module description.
17424         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
17425         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
17426         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
17427         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
17428         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
17429         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
17430         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
17431         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
17432
17433 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17434
17435         gnulib-tool: fix filelist for AIX, HP-UX ksh.
17436         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
17437         variables in shell case patterns, for AIX and HP-UX ksh.
17438
17439         Split large sed scripts, for HP-UX sed.
17440         * modules/stdio: Split sed scripts around 50 sed commands,
17441         to avoid HP-UX limit of 99 commands, in the near future.
17442         * modules/string: Likewise.
17443         * modules/unistd: Likewise.
17444
17445         gnulib-tool: avoid writing in the current directory.
17446         * gnulib-tool (func_emit_lib_Makefile_am)
17447         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
17448         not in the current directory, so concurrent gnulib-tool
17449         instances do not interfere.
17450
17451 2010-01-16  Jim Meyering  <meyering@redhat.com>
17452
17453         doc: update users.txt
17454         * users.txt: Add grep.
17455         (diffutils, gzip): Update URLs.
17456
17457 2010-01-12  Bruno Haible  <bruno@clisp.org>
17458
17459         posix_spawn: Avoid test failure on Cygwin.
17460         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
17461         characters.
17462         Reported by Simon Josefsson.
17463
17464 2010-01-12  Bruno Haible  <bruno@clisp.org>
17465
17466         * tests/test-cond.c (main): When skipping the test, show the reason.
17467
17468 2010-01-12  Simon Josefsson  <simon@josefsson.org>
17469
17470         * lib/striconv.c (str_cd_iconv): Avoid if before free.
17471
17472 2010-01-12  Simon Josefsson  <simon@josefsson.org>
17473
17474         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
17475         VC_LIST_ALWAYS_EXCLUDE_REGEX.
17476
17477 2010-01-12  Eric Blake  <ebb9@byu.net>
17478
17479         build: guarantee AS_VAR_IF
17480         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
17481         (gl_AS_VAR_IF): Move...
17482         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
17483         Reported by Simon Josefsson.
17484
17485 2010-01-12  Simon Josefsson  <simon@josefsson.org>
17486
17487         * lib/stdio.in.h: Fix typo.
17488
17489 2010-01-12  Simon Josefsson  <simon@josefsson.org>
17490
17491         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
17492         libgpg-error.
17493
17494 2010-01-12  Simon Josefsson  <simon@josefsson.org>
17495
17496         * tests/test-xalloc-die.sh: Use $EXEEXT.
17497
17498 2010-01-12  Simon Josefsson  <simon@josefsson.org>
17499             Bruno Haible  <bruno@clisp.org>
17500
17501         getlogin, getlogin_r: Avoid test failure.
17502         * tests/test-getlogin.c: Include <stdio.h>.
17503         (main): Skip the test when the function fails because stdin is not a
17504         tty.
17505         * tests/test-getlogin_r.c: Include <stdio.h>.
17506         (main): Skip the test when the function fails because stdin is not a
17507         tty.
17508
17509 2010-01-11  Eric Blake  <ebb9@byu.net>
17510
17511         tests: avoid more large file warnings
17512         * tests/test-fflush.c: Avoid warning about ftell use.
17513         * tests/test-fseek.c: Avoid warning about fseek use.
17514
17515 2010-01-10  Bruno Haible  <bruno@clisp.org>
17516
17517         nproc: Work better on Linux when /proc and /sys are not mounted.
17518         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
17519         as lower bound when, on glibc/Linux systems,
17520         sysconf (_SC_NPROCESSORS_CONF) returns 1.
17521         Suggested by Pádraig Brady <P@draigbrady.com>.
17522         Reported by Dmitry V. Levin <ldv@altlinux.org>.
17523
17524         nproc: Refactor.
17525         * lib/nproc.c (num_processors_via_affinity_mask): New function,
17526         extracted from num_processors.
17527         (num_processors): Call it.
17528
17529 2010-01-11  Jim Meyering  <meyering@redhat.com>
17530
17531         utimecmp: avoid new warning from upcoming gcc-4.5.0
17532         * lib/utimecmp.c (BILLION): Define using #define rather than an
17533         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
17534
17535 2010-01-11  Eric Blake  <ebb9@byu.net>
17536
17537         math: add portability warnings for classification macros
17538         * modules/math (Depends-on): Add warn-on-use.
17539         (Makefile.am): Provide new substitutions.
17540         * m4/math_h.m4 (gl_MATH_H): Require inline.
17541         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
17542         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
17543         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
17544         implement warnings.
17545
17546         unistd: warn on use of environ without module
17547         * modules/unistd (Depends-on): Add warn-on-use.
17548         (Makefile.am): Provide new substitutions.
17549         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
17550         * lib/unistd.in.h (environ): Wrap with a warning helper function.
17551
17552         stdio: warn on suspicious uses
17553         * modules/stdio (Depends-on): Add warn-on-use.
17554         (Makefile.am): Provide new substitutions.
17555         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
17556         fseeko.
17557         * lib/stdio.in.h (gets): Always warn on use.
17558         (fseek, ftell): Adjust when warnings are issued, and honor
17559         _GL_NO_LARGE_FILES as a way to silence the warning.
17560         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
17561         any warning about large file offsets.
17562         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
17563         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
17564         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
17565         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
17566         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
17567         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
17568         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
17569         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
17570
17571         warn-on-use: new module
17572         * modules/warn-on-use: New file.
17573         * build-aux/warn-on-use.h: Likewise.
17574         * m4/warn-on-use.m4: Likewise.
17575         * MODULES.html.sh (Support for building): Mention it.
17576
17577 2010-01-10  Bruno Haible  <bruno@clisp.org>
17578
17579         Tests for module 'unistr/u32-strdup'.
17580         * modules/unistr/u32-strdup-tests: New file.
17581         * tests/unistr/test-u32-strdup.c: New file.
17582
17583         Tests for module 'unistr/u16-strdup'.
17584         * modules/unistr/u16-strdup-tests: New file.
17585         * tests/unistr/test-u16-strdup.c: New file.
17586
17587         Tests for module 'unistr/u8-strdup'.
17588         * modules/unistr/u8-strdup-tests: New file.
17589         * tests/unistr/test-u8-strdup.c: New file.
17590         * tests/unistr/test-strdup.h: New file.
17591
17592         Tests for module 'unistr/u32-strncmp'.
17593         * modules/unistr/u32-strncmp-tests: New file.
17594         * tests/unistr/test-u32-strncmp.c: New file.
17595
17596         Tests for module 'unistr/u16-strncmp'.
17597         * modules/unistr/u16-strncmp-tests: New file.
17598         * tests/unistr/test-u16-strncmp.c: New file.
17599
17600         Tests for module 'unistr/u8-strncmp'.
17601         * modules/unistr/u8-strncmp-tests: New file.
17602         * tests/unistr/test-u8-strncmp.c: New file.
17603         * tests/unistr/test-strncmp.h: New file.
17604
17605         Tests for module 'unistr/u32-strcoll'.
17606         * modules/unistr/u32-strcoll-tests: New file.
17607         * tests/unistr/test-u32-strcoll.c: New file.
17608
17609         Tests for module 'unistr/u16-strcoll'.
17610         * modules/unistr/u16-strcoll-tests: New file.
17611         * tests/unistr/test-u16-strcoll.c: New file.
17612
17613         Tests for module 'unistr/u8-strcoll'.
17614         * modules/unistr/u8-strcoll-tests: New file.
17615         * tests/unistr/test-u8-strcoll.c: New file.
17616
17617         Tests for module 'unistr/u32-strcmp'.
17618         * modules/unistr/u32-strcmp-tests: New file.
17619         * tests/unistr/test-u32-strcmp.c: New file.
17620         * tests/unistr/test-u32-strcmp.h: New file.
17621
17622         Tests for module 'unistr/u16-strcmp'.
17623         * modules/unistr/u16-strcmp-tests: New file.
17624         * tests/unistr/test-u16-strcmp.c: New file.
17625         * tests/unistr/test-u16-strcmp.h: New file.
17626
17627         Tests for module 'unistr/u8-strcmp'.
17628         * modules/unistr/u8-strcmp-tests: New file.
17629         * tests/unistr/test-u8-strcmp.c: New file.
17630         * tests/unistr/test-u8-strcmp.h: New file.
17631         * tests/unistr/test-strcmp.h: New file.
17632
17633         Tests for module 'unistr/u32-strncat'.
17634         * modules/unistr/u32-strncat-tests: New file.
17635         * tests/unistr/test-u32-strncat.c: New file.
17636
17637         Tests for module 'unistr/u16-strncat'.
17638         * modules/unistr/u16-strncat-tests: New file.
17639         * tests/unistr/test-u16-strncat.c: New file.
17640
17641         Tests for module 'unistr/u8-strncat'.
17642         * modules/unistr/u8-strncat-tests: New file.
17643         * tests/unistr/test-u8-strncat.c: New file.
17644         * tests/unistr/test-strncat.h: New file.
17645
17646         Tests for module 'unistr/u32-strcat'.
17647         * modules/unistr/u32-strcat-tests: New file.
17648         * tests/unistr/test-u32-strcat.c: New file.
17649
17650         Tests for module 'unistr/u16-strcat'.
17651         * modules/unistr/u16-strcat-tests: New file.
17652         * tests/unistr/test-u16-strcat.c: New file.
17653
17654         Tests for module 'unistr/u8-strcat'.
17655         * modules/unistr/u8-strcat-tests: New file.
17656         * tests/unistr/test-u8-strcat.c: New file.
17657         * tests/unistr/test-strcat.h: New file.
17658
17659         Tests for module 'unistr/u32-stpncpy'.
17660         * modules/unistr/u32-stpncpy-tests: New file.
17661         * tests/unistr/test-u32-stpncpy.c: New file.
17662
17663         Tests for module 'unistr/u16-stpncpy'.
17664         * modules/unistr/u16-stpncpy-tests: New file.
17665         * tests/unistr/test-u16-stpncpy.c: New file.
17666
17667         Tests for module 'unistr/u8-stpncpy'.
17668         * modules/unistr/u8-stpncpy-tests: New file.
17669         * tests/unistr/test-u8-stpncpy.c: New file.
17670         * tests/unistr/test-stpncpy.h: New file.
17671
17672         Tests for module 'unistr/u32-strncpy'.
17673         * modules/unistr/u32-strncpy-tests: New file.
17674         * tests/unistr/test-u32-strncpy.c: New file.
17675
17676         Tests for module 'unistr/u16-strncpy'.
17677         * modules/unistr/u16-strncpy-tests: New file.
17678         * tests/unistr/test-u16-strncpy.c: New file.
17679
17680         Tests for module 'unistr/u8-strncpy'.
17681         * modules/unistr/u8-strncpy-tests: New file.
17682         * tests/unistr/test-u8-strncpy.c: New file.
17683         * tests/unistr/test-strncpy.h: New file.
17684
17685         Tests for module 'unistr/u32-stpcpy'.
17686         * modules/unistr/u32-stpcpy-tests: New file.
17687         * tests/unistr/test-u32-stpcpy.c: New file.
17688
17689         Tests for module 'unistr/u16-stpcpy'.
17690         * modules/unistr/u16-stpcpy-tests: New file.
17691         * tests/unistr/test-u16-stpcpy.c: New file.
17692
17693         Tests for module 'unistr/u8-stpcpy'.
17694         * modules/unistr/u8-stpcpy-tests: New file.
17695         * tests/unistr/test-u8-stpcpy.c: New file.
17696         * tests/unistr/test-stpcpy.h: New file.
17697
17698         Tests for module 'unistr/u32-strcpy'.
17699         * modules/unistr/u32-strcpy-tests: New file.
17700         * tests/unistr/test-u32-strcpy.c: New file.
17701
17702         Tests for module 'unistr/u16-strcpy'.
17703         * modules/unistr/u16-strcpy-tests: New file.
17704         * tests/unistr/test-u16-strcpy.c: New file.
17705
17706         Tests for module 'unistr/u8-strcpy'.
17707         * modules/unistr/u8-strcpy-tests: New file.
17708         * tests/unistr/test-u8-strcpy.c: New file.
17709         * tests/unistr/test-strcpy.h: New file.
17710
17711         Tests for module 'unistr/u32-strnlen'.
17712         * modules/unistr/u32-strnlen-tests: New file.
17713         * tests/unistr/test-u32-strnlen.c: New file.
17714
17715         Tests for module 'unistr/u16-strnlen'.
17716         * modules/unistr/u16-strnlen-tests: New file.
17717         * tests/unistr/test-u16-strnlen.c: New file.
17718
17719         Tests for module 'unistr/u8-strnlen'.
17720         * modules/unistr/u8-strnlen-tests: New file.
17721         * tests/unistr/test-u8-strnlen.c: New file.
17722         * tests/unistr/test-strnlen.h: New file.
17723
17724         Tests for module 'unistr/u32-strlen'.
17725         * modules/unistr/u32-strlen-tests: New file.
17726         * tests/unistr/test-u32-strlen.c: New file.
17727
17728         Tests for module 'unistr/u16-strlen'.
17729         * modules/unistr/u16-strlen-tests: New file.
17730         * tests/unistr/test-u16-strlen.c: New file.
17731
17732         Tests for module 'unistr/u8-strlen'.
17733         * modules/unistr/u8-strlen-tests: New file.
17734         * tests/unistr/test-u8-strlen.c: New file.
17735
17736         Tests for module 'unistr/u32-prev'.
17737         * modules/unistr/u32-prev-tests: New file.
17738         * tests/unistr/test-u32-prev.c: New file.
17739
17740         Tests for module 'unistr/u16-prev'.
17741         * modules/unistr/u16-prev-tests: New file.
17742         * tests/unistr/test-u16-prev.c: New file.
17743
17744         Tests for module 'unistr/u8-prev'.
17745         * modules/unistr/u8-prev-tests: New file.
17746         * tests/unistr/test-u8-prev.c: New file.
17747
17748         Tests for module 'unistr/u32-next'.
17749         * modules/unistr/u32-next-tests: New file.
17750         * tests/unistr/test-u32-next.c: New file.
17751
17752         Tests for module 'unistr/u16-next'.
17753         * modules/unistr/u16-next-tests: New file.
17754         * tests/unistr/test-u16-next.c: New file.
17755
17756         Tests for module 'unistr/u8-next'.
17757         * modules/unistr/u8-next-tests: New file.
17758         * tests/unistr/test-u8-next.c: New file.
17759
17760         Tests for module 'unistr/u32-strmbtouc'.
17761         * modules/unistr/u32-strmbtouc-tests: New file.
17762         * tests/unistr/test-u32-strmbtouc.c: New file.
17763
17764         Tests for module 'unistr/u16-strmbtouc'.
17765         * modules/unistr/u16-strmbtouc-tests: New file.
17766         * tests/unistr/test-u16-strmbtouc.c: New file.
17767
17768         Tests for module 'unistr/u8-strmbtouc'.
17769         * modules/unistr/u8-strmbtouc-tests: New file.
17770         * tests/unistr/test-u8-strmbtouc.c: New file.
17771
17772         Tests for module 'unistr/u32-strmblen'.
17773         * modules/unistr/u32-strmblen-tests: New file.
17774         * tests/unistr/test-u32-strmblen.c: New file.
17775
17776         Tests for module 'unistr/u16-strmblen'.
17777         * modules/unistr/u16-strmblen-tests: New file.
17778         * tests/unistr/test-u16-strmblen.c: New file.
17779
17780         Tests for module 'unistr/u8-strmblen'.
17781         * modules/unistr/u8-strmblen-tests: New file.
17782         * tests/unistr/test-u8-strmblen.c: New file.
17783
17784         Tests for module 'unistr/u32-cpy-alloc'.
17785         * modules/unistr/u32-cpy-alloc-tests: New file.
17786         * tests/unistr/test-u32-cpy-alloc.c: New file.
17787
17788         Tests for module 'unistr/u16-cpy-alloc'.
17789         * modules/unistr/u16-cpy-alloc-tests: New file.
17790         * tests/unistr/test-u16-cpy-alloc.c: New file.
17791
17792         Tests for module 'unistr/u8-cpy-alloc'.
17793         * modules/unistr/u8-cpy-alloc-tests: New file.
17794         * tests/unistr/test-u8-cpy-alloc.c: New file.
17795         * tests/unistr/test-cpy-alloc.h: New file.
17796
17797         Tests for module 'unistr/u32-mbsnlen'.
17798         * modules/unistr/u32-mbsnlen-tests: New file.
17799         * tests/unistr/test-u32-mbsnlen.c: New file.
17800
17801         Tests for module 'unistr/u16-mbsnlen'.
17802         * modules/unistr/u16-mbsnlen-tests: New file.
17803         * tests/unistr/test-u16-mbsnlen.c: New file.
17804
17805         Tests for module 'unistr/u8-mbsnlen'.
17806         * modules/unistr/u8-mbsnlen-tests: New file.
17807         * tests/unistr/test-u8-mbsnlen.c: New file.
17808
17809         Tests for module 'unistr/u32-chr'.
17810         * modules/unistr/u32-chr-tests: New file.
17811         * tests/unistr/test-u32-chr.c: New file.
17812
17813         Tests for module 'unistr/u16-chr'.
17814         * modules/unistr/u16-chr-tests: New file.
17815         * tests/unistr/test-u16-chr.c: New file.
17816
17817         Tests for module 'unistr/u8-chr'.
17818         * modules/unistr/u8-chr-tests: New file.
17819         * tests/unistr/test-u8-chr.c: New file.
17820         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
17821
17822         Tests for module 'unistr/u32-cmp2'.
17823         * modules/unistr/u32-cmp2-tests: New file.
17824         * tests/unistr/test-u32-cmp2.c: New file.
17825
17826         Tests for module 'unistr/u16-cmp2'.
17827         * modules/unistr/u16-cmp2-tests: New file.
17828         * tests/unistr/test-u16-cmp2.c: New file.
17829
17830         Tests for module 'unistr/u8-cmp2'.
17831         * modules/unistr/u8-cmp2-tests: New file.
17832         * tests/unistr/test-u8-cmp2.c: New file.
17833         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
17834
17835         Tests for module 'unistr/u32-cmp'.
17836         * modules/unistr/u32-cmp-tests: New file.
17837         * tests/unistr/test-u32-cmp.c: New file.
17838
17839         Tests for module 'unistr/u16-cmp'.
17840         * modules/unistr/u16-cmp-tests: New file.
17841         * tests/unistr/test-u16-cmp.c: New file.
17842
17843         Tests for module 'unistr/u8-cmp'.
17844         * modules/unistr/u8-cmp-tests: New file.
17845         * tests/unistr/test-u8-cmp.c: New file.
17846         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
17847
17848         Tests for module 'unistr/u32-set'.
17849         * modules/unistr/u32-set-tests: New file.
17850         * tests/unistr/test-u32-set.c: New file.
17851
17852         Tests for module 'unistr/u16-set'.
17853         * modules/unistr/u16-set-tests: New file.
17854         * tests/unistr/test-u16-set.c: New file.
17855
17856         Tests for module 'unistr/u8-set'.
17857         * modules/unistr/u8-set-tests: New file.
17858         * tests/unistr/test-u8-set.c: New file.
17859         * tests/unistr/test-set.h: New file.
17860
17861         Tests for module 'unistr/u32-move'.
17862         * modules/unistr/u32-move-tests: New file.
17863         * tests/unistr/test-u32-move.c: New file.
17864
17865         Tests for module 'unistr/u16-move'.
17866         * modules/unistr/u16-move-tests: New file.
17867         * tests/unistr/test-u16-move.c: New file.
17868
17869         Tests for module 'unistr/u8-move'.
17870         * modules/unistr/u8-move-tests: New file.
17871         * tests/unistr/test-u8-move.c: New file.
17872         * tests/unistr/test-move.h: New file.
17873
17874         Tests for module 'unistr/u32-cpy'.
17875         * modules/unistr/u32-cpy-tests: New file.
17876         * tests/unistr/test-u32-cpy.c: New file.
17877
17878         Tests for module 'unistr/u16-cpy'.
17879         * modules/unistr/u16-cpy-tests: New file.
17880         * tests/unistr/test-u16-cpy.c: New file.
17881
17882         Tests for module 'unistr/u8-cpy'.
17883         * modules/unistr/u8-cpy-tests: New file.
17884         * tests/unistr/test-u8-cpy.c: New file.
17885         * tests/unistr/test-cpy.h: New file.
17886
17887 2010-01-09  Bruno Haible  <bruno@clisp.org>
17888
17889         Tests for module 'unistr/u32-uctomb'.
17890         * modules/unistr/u32-uctomb-tests: New file.
17891         * tests/unistr/test-u32-uctomb.c: New file.
17892
17893         Tests for module 'unistr/u16-uctomb'.
17894         * modules/unistr/u16-uctomb-tests: New file.
17895         * tests/unistr/test-u16-uctomb.c: New file.
17896
17897         Tests for module 'unistr/u8-uctomb'.
17898         * modules/unistr/u8-uctomb-tests: New file.
17899         * tests/unistr/test-u8-uctomb.c: New file.
17900
17901         Tests for module 'unistr/u32-mbtoucr'.
17902         * modules/unistr/u32-mbtoucr-tests: New file.
17903         * tests/unistr/test-u32-mbtoucr.c: New file.
17904
17905         Tests for module 'unistr/u16-mbtoucr'.
17906         * modules/unistr/u16-mbtoucr-tests: New file.
17907         * tests/unistr/test-u16-mbtoucr.c: New file.
17908
17909         Tests for module 'unistr/u8-mbtoucr'.
17910         * modules/unistr/u8-mbtoucr-tests: New file.
17911         * tests/unistr/test-u8-mbtoucr.c: New file.
17912
17913         Tests for module 'unistr/u32-mbtouc'.
17914         * modules/unistr/u32-mbtouc-tests: New file.
17915         * tests/unistr/test-u32-mbtouc.c: New file.
17916
17917         Tests for module 'unistr/u16-mbtouc'.
17918         * modules/unistr/u16-mbtouc-tests: New file.
17919         * tests/unistr/test-u16-mbtouc.c: New file.
17920
17921         Tests for module 'unistr/u8-mbtouc'.
17922         * modules/unistr/u8-mbtouc-tests: New file.
17923         * tests/unistr/test-u8-mbtouc.c: New file.
17924
17925         Tests for module 'unistr/u32-mbtouc-unsafe'.
17926         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
17927         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
17928         * tests/unistr/test-u32-mbtouc.h: New file.
17929
17930         Tests for module 'unistr/u16-mbtouc-unsafe'.
17931         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
17932         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
17933         * tests/unistr/test-u16-mbtouc.h: New file.
17934
17935         Tests for module 'unistr/u8-mbtouc-unsafe'.
17936         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
17937         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
17938         * tests/unistr/test-u8-mbtouc.h: New file.
17939
17940         Tests for module 'unistr/u32-mblen'.
17941         * modules/unistr/u32-mblen-tests: New file.
17942         * tests/unistr/test-u32-mblen.c: New file.
17943
17944         Tests for module 'unistr/u16-mblen'.
17945         * modules/unistr/u16-mblen-tests: New file.
17946         * tests/unistr/test-u16-mblen.c: New file.
17947
17948         Tests for module 'unistr/u8-mblen'.
17949         * modules/unistr/u8-mblen-tests: New file.
17950         * tests/unistr/test-u8-mblen.c: New file.
17951
17952         Tests for module 'unistr/u32-to-u16'.
17953         * modules/unistr/u32-to-u16-tests: New file.
17954         * tests/unistr/test-u32-to-u16.c: New file.
17955
17956         Tests for module 'unistr/u32-to-u8'.
17957         * modules/unistr/u32-to-u8-tests: New file.
17958         * tests/unistr/test-u32-to-u8.c: New file.
17959
17960         Tests for module 'unistr/u16-to-u32'.
17961         * modules/unistr/u16-to-u32-tests: New file.
17962         * tests/unistr/test-u16-to-u32.c: New file.
17963
17964         Tests for module 'unistr/u16-to-u8'.
17965         * modules/unistr/u16-to-u8-tests: New file.
17966         * tests/unistr/test-u16-to-u8.c: New file.
17967
17968         Tests for module 'unistr/u8-to-u32'.
17969         * modules/unistr/u8-to-u32-tests: New file.
17970         * tests/unistr/test-u8-to-u32.c: New file.
17971
17972         Tests for module 'unistr/u8-to-u16'.
17973         * modules/unistr/u8-to-u16-tests: New file.
17974         * tests/unistr/test-u8-to-u16.c: New file.
17975
17976         Tests for module 'unistr/u32-check'.
17977         * modules/unistr/u32-check-tests: New file.
17978         * tests/unistr/test-u32-check.c: New file.
17979
17980         Tests for module 'unistr/u16-check'.
17981         * modules/unistr/u16-check-tests: New file.
17982         * tests/unistr/test-u16-check.c: New file.
17983
17984         Tests for module 'unistr/u8-check'.
17985         * modules/unistr/u8-check-tests: New file.
17986         * tests/unistr/test-u8-check.c: New file.
17987
17988         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
17989         (category_equals): New function.
17990         (main): Add more tests.
17991         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
17992
17993         * tests/unictype/test-bidi_byname.c (main): Add more tests.
17994
17995 2010-01-10  Bruno Haible  <bruno@clisp.org>
17996
17997         unistr/u*-strcoll: Try harder to distinguish different strings.
17998         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
17999         compare s1 and s2 to see if they are different.
18000
18001 2010-01-10  Bruno Haible  <bruno@clisp.org>
18002
18003         unistr/u*-stpncpy: Fix the return value.
18004         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
18005         description of the return value consistent with stpncpy in glibc.
18006         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
18007         written non-NUL unit.
18008
18009 2010-01-10  Bruno Haible  <bruno@clisp.org>
18010
18011         unistr/u*-next: Add missing dependencies.
18012         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
18013         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
18014         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
18015
18016 2010-01-10  Bruno Haible  <bruno@clisp.org>
18017
18018         unistr/u8-mbsnlen: Fix return value for incomplete character.
18019         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
18020         u8_mblen.
18021         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
18022         Remove unistr/u8-mblen.
18023         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
18024         u16_mblen.
18025         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
18026         Remove unistr/u16-mblen.
18027
18028 2010-01-10  Bruno Haible  <bruno@clisp.org>
18029
18030         wchar: Fix compilation error when <wchar.h> is used from coreutils.
18031         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
18032         Reported by Brian Gough <bjg@gnu.org> and
18033         Chris Clayton <chris2553@googlemail.com> via
18034         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
18035
18036 2010-01-09  Bruno Haible  <bruno@clisp.org>
18037
18038         unistr/u16-to-u32: Reject invalid input.
18039         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
18040         u16_mbtouc.
18041         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
18042         Remove unistr/u16-mbtouc.
18043
18044         unistr/u16-to-u8: Reject invalid input.
18045         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
18046         u16_mbtouc.
18047         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
18048         Remove unistr/u16-mbtouc.
18049
18050         unistr/u8-to-u32: Reject invalid input.
18051         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
18052         u8_mbtouc.
18053         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
18054         Remove unistr/u8-mbtouc.
18055
18056         unistr/u8-to-u16: Reject invalid input.
18057         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
18058         u8_mbtouc.
18059         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
18060         Remove unistr/u8-mbtouc.
18061
18062 2010-01-09  Bruno Haible  <bruno@clisp.org>
18063
18064         Tests for module 'getlogin'.
18065         * modules/getlogin-tests: New file.
18066         * tests/test-getlogin.c: New file.
18067
18068         New module 'getlogin'.
18069         * lib/unistd.in.h (getlogin): New declaration.
18070         * lib/getlogin.c: New file.
18071         * m4/getlogin.m4: New file.
18072         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
18073         HAVE_GETLOGIN.
18074         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
18075         HAVE_GETLOGIN.
18076         * modules/getlogin: New file.
18077         * doc/posix-functions/getlogin.texi: Mention the new module.
18078         Reported by John W. Eaton <jwe@gnu.org>.
18079
18080 2010-01-09  Bruno Haible  <bruno@clisp.org>
18081
18082         getlogin_r: Support for native Windows.
18083         * lib/getlogin_r.c: Include <windows.h>
18084         (getlogin_r): Implement for native Windows.
18085         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
18086         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
18087         via John W. Eaton <jwe@gnu.org>.
18088
18089 2010-01-09  Bruno Haible  <bruno@clisp.org>
18090
18091         getlogin_r: Small fixes.
18092         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
18093         succeeds.
18094         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
18095         before testing whether getlogin_r is declared. No need to set
18096         HAVE_DECL_GETLOGIN_R to 1.
18097         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
18098
18099 2010-01-09  Bruno Haible  <bruno@clisp.org>
18100
18101         * lib/unistd.in.h (getlogin_r): Add comment.
18102
18103 2010-01-09  Bruno Haible  <bruno@clisp.org>
18104
18105         Tests for module 'getlogin_r'.
18106         * modules/getlogin_r-tests: New file.
18107         * tests/test-getlogin_r.c: New file.
18108
18109 2010-01-09  Jim Meyering  <meyering@redhat.com>
18110
18111         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
18112         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
18113         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
18114
18115 2010-01-08  Simon Josefsson  <simon@josefsson.org>
18116
18117         * lib/dup2.c (rpl_dup2): Improve comment.
18118
18119 2010-01-08  Eric Blake  <ebb9@byu.net>
18120
18121         maint.mk: allow packages to add makefile @@ exceptions
18122         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
18123         (sc_makefile_check): Rename...
18124         (sc_makefile_at_at_check): ...to this, and use hook.
18125
18126         dup2: work around mingw bug
18127         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
18128         Reported by Simon Josefsson.
18129
18130 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
18131
18132         glob: Fix C++ compilation.
18133         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
18134         C++.
18135
18136 2010-01-07  Bruno Haible  <bruno@clisp.org>
18137
18138         Fix indentation of wctype.in.h, broken since 2007-01-06.
18139         * lib/wctype.in.h: Fix indentation of preprocessor directives.
18140
18141 2010-01-07  Bruno Haible  <bruno@clisp.org>
18142
18143         mbslen: Avoid collision with system function.
18144         * lib/string.in.h [MirBSD]: Include <wchar.h>.
18145         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
18146         * m4/mbslen.m4: New file.
18147         * modules/mbslen (Files): Add it.
18148         (configure.ac): Invoke gl_MBSLEN.
18149         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
18150         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
18151         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
18152         via Ian Beckwith <ianb@erislabs.net>.
18153
18154 2010-01-07  Bruno Haible  <bruno@clisp.org>
18155
18156         dirent: Document the last fix.
18157         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
18158
18159 2010-01-07  Bruno Haible  <bruno@clisp.org>
18160
18161         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
18162         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
18163         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
18164         va_list are defined.
18165         * doc/posix-headers/stdio.texi: Document the bug of missing types.
18166         Reported by Eric Blake.
18167
18168 2010-01-07  Bruno Haible  <bruno@clisp.org>
18169
18170         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
18171         * modules/xlist (Depends-on): Add 'list',
18172         * modules/xoset (Depends-on): Add 'oset'.
18173         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
18174
18175 2010-01-07  Bruno Haible  <bruno@clisp.org>
18176
18177         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
18178         * doc/posix-functions/strncasecmp.texi: Likewise.
18179
18180 2010-01-07  Bruno Haible  <bruno@clisp.org>
18181
18182         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
18183
18184 2010-01-07  John W. Eaton  <jwe@octave.org>
18185
18186         wctype: allow C++ use
18187         * lib/wctype.in.h: Add extern "C" block for C++.
18188
18189 2010-01-06  Eric Blake  <ebb9@byu.net>
18190
18191         maint.mk: detect incorrect GFDL usage
18192         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
18193
18194 2010-01-06  Jim Meyering  <meyering@redhat.com>
18195         and Eric Blake  <ebb9@byu.net>
18196
18197         maint.mk: ignore multi-line copyright in NEWS
18198         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
18199
18200 2010-01-06  Eric Blake  <ebb9@byu.net>
18201
18202         select: add missing dependency
18203         * modules/select-tests (Depends-on): Move sockets dependency...
18204         * modules/select (Depends-on): ...here.
18205         Reported by Ian Beckwith.
18206
18207         doc: regenerate INSTALL
18208         * doc/INSTALL: Reflect recent autoconf update.
18209         * doc/INSTALL.ISO: Likewise.
18210         * doc/INSTALL.UTF-8: Likewise.
18211
18212         pread: fix compilation on glibc
18213         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
18214         Reported by Ralf Wildenhues.
18215
18216         dirent: fix test failure
18217         * lib/dirent.in.h (includes): Guarantee ino_t.
18218         Reported by Ralf Wildenhues.
18219
18220 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
18221
18222         linkat, renameat: avoid bad free
18223         * lib/at-func2.c (at_func2): Fix typo.
18224         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
18225
18226 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18227
18228         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
18229         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
18230         to avoid failure of symlink test later.
18231
18232 2010-01-06  Eric Blake  <ebb9@byu.net>
18233
18234         stdio, unistd: guarantee ssize_t
18235         * lib/unistd.in.h (includes): Ensure that types required by POSIX
18236         2008 are exposed when needed.
18237         * lib/stdio.in.h (includes): Likewise.
18238         Reported by Ralf Wildenhues.
18239
18240 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
18241
18242         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
18243         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
18244         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
18245
18246 2010-01-06  Jim Meyering  <meyering@redhat.com>
18247
18248         readtokens: this module *does* require xalloc.h
18249         It uses only functions that were omitted by the old syntax-check rule.
18250         * lib/readtokens.c: Include "xalloc.h" once again.
18251         * modules/readtokens (Depends-on): Add xalloc.
18252         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
18253
18254 2010-01-05  Eric Blake  <ebb9@byu.net>
18255
18256         maint: support 'make announcement' from a VPATH build
18257         * top/maint.mk (announcement): Look for correct NEWS file.
18258
18259 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
18260
18261         utimens (fdutimens): ignore a negative FD, per contract
18262         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
18263         when we have a valid file descriptor.  Otherwise, using a brand
18264         new glibc (with just-patched futimens that now fails with EBADF)
18265         would cause this function to fail with ENOSYS.
18266         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
18267         See also http://bugzilla.redhat.com/552320.
18268
18269 2010-01-05  Eric Blake  <ebb9@byu.net>
18270
18271         strcase: document what it provides
18272         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
18273         gnulib module.
18274         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
18275         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
18276
18277 2010-01-05  Jim Meyering  <meyering@redhat.com>
18278
18279         maint: remove useless inclusions of "xalloc.h"
18280         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
18281         * lib/readtokens.c: Likewise.
18282         * lib/same.c: Likewise.
18283         * modules/getloadavg (Depends-on): Remove xalloc.
18284         * modules/readtokens: Likewise.
18285         * modules/same: Likewise.
18286
18287         maint.mk: include 4 more function names in alloca.h-checking regexp
18288         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
18289         regexp.  Before, we would give a false-positive (saying alloca.h
18290         is included unnecessarily) when the only uses involved omitted symbols.
18291
18292         xalloc.h: use consistent formatting
18293         * lib/xalloc.h: Move declarations to start in the first column.
18294
18295 2010-01-05  Eric Blake  <ebb9@byu.net>
18296
18297         mkdir: avoid xalloc
18298         * lib/mkdir.c (includes): Drop unused header.
18299         Reported by John W. Eaton.
18300
18301 2010-01-04  Jim Meyering  <meyering@redhat.com>
18302
18303         nl_langinfo: avoid configure-time syntax error
18304         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
18305         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
18306         the empty string.  Don't let that provoke a shell syntax error.
18307
18308         regcomp, regexec, fnmatch: avoid array bounds read error
18309         * lib/regcomp.c (build_equiv_class): From glibc:
18310         Use only the low 24 bits of a findidx return value as an index
18311         into the weights array.  Patch by Ulrich Drepper:
18312         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
18313         * lib/regexec.c (check_node_accept_bytes): Likewise.
18314         * lib/fnmatch_loop.c (FCT): Likewise.
18315
18316         regcomp: skip collseq lookup when there are no rules
18317         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
18318         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
18319
18320         regcomp: recognize ill-formed { } expressions
18321         * lib/regcomp.c (parse_dup_op): From glibc:
18322         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
18323
18324         regcomp: fix typo in comment
18325         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
18326         s/satisfy/satisfies/.
18327
18328         regcomp: sync from glibc: remove dead store
18329         * lib/regcomp.c (duplicate_node_closure): Remove useless
18330         search_duplicated_node call and dead store.
18331
18332         regcomp: sync from glibc; always use nl_langinfo
18333         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
18334         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
18335         * modules/regex (Depends-on): Add nl_langinfo.
18336
18337 2010-01-04  Eric Blake  <ebb9@byu.net>
18338
18339         fdopendir: fix configure test
18340         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
18341
18342 2010-01-01  Bruno Haible  <bruno@clisp.org>
18343
18344         wchar: Remove unused configure check.
18345         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
18346
18347 2010-01-01  Eric Blake  <ebb9@byu.net>
18348
18349         headers: make check of system header explicit
18350         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
18351         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
18352         ourselves.
18353         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
18354         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
18355         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
18356         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
18357         internals.
18358         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
18359         missing.
18360         Suggested by Bruno Haible.
18361
18362 2010-01-01  Jim Meyering  <meyering@redhat.com>
18363
18364         ChangeLog: tweak to eliminate unnecessary copyright line
18365         * ChangeLog: Remove a copyright line that was mistakenly updated
18366         by today's update-copyright run.  Reported by Eric Blake.
18367
18368         test-update-copyright: don't let envvar setting cause test failure
18369         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
18370
18371 2010-01-01  Bruno Haible  <bruno@clisp.org>
18372
18373         localename: Avoid gcc warning.
18374         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
18375         function if it is not used.
18376
18377 2010-01-01  Jim Meyering  <meyering@redhat.com>
18378
18379         update nearly all FSF copyright year lists to include 2010
18380         Use the same procedure as for 2009, outlined in
18381         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
18382
18383         version-etc: set COPYRIGHT_YEAR to 2010
18384         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
18385
18386 2009-12-31  Eric Blake  <ebb9@byu.net>
18387
18388         doc: correct availability of cygwin 1.5.x getopt
18389         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
18390         variables.
18391         * doc/posix-functions/opterr.texi (opterr): Likewise.
18392         * doc/posix-functions/optind.texi (optind): Likewise.
18393         * doc/posix-functions/optopt.texi (optopt): Likewise.
18394         * doc/posix-functions/tzname.texi (tzname): Likewise.
18395
18396         openat: update maintainer
18397         * modules/openat (Maintainer): Add myself.
18398
18399         utimens: avoid shadowing warning
18400         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
18401         buffers into one, to avoid shadowing, as well as avoiding a
18402         redundant stat.
18403         Reported by Jim Meyering.
18404
18405         test-dup2: avoid compiler warning
18406         * tests/test-dup2.c (is_inheritable): Only define if used.
18407
18408 2010-01-01  Bruno Haible  <bruno@clisp.org>
18409
18410         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
18411         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
18412         defined, use wctomb instead of wcrtomb.
18413
18414 2010-01-01  Bruno Haible  <bruno@clisp.org>
18415
18416         iconv: Reject native Solaris iconv.
18417         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
18418         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
18419
18420 2009-12-31  Bruno Haible  <bruno@clisp.org>
18421
18422         * tests/test-signal.c (main): Remove test of 'SIG'.
18423
18424 2009-12-31  Bruno Haible  <bruno@clisp.org>
18425
18426         spawn: Fix incomplete fix.
18427         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
18428         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
18429         warnings for GNULIB_POSIXCHECK again.
18430         Reported by Eric Blake.
18431
18432 2009-12-31  Bruno Haible  <bruno@clisp.org>
18433
18434         Avoid namespace pollution on glibc systems.
18435         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
18436         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
18437         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
18438         glibc systems.
18439
18440 2009-12-31  Bruno Haible  <bruno@clisp.org>
18441
18442         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
18443         (gl_REPLACE_WCHAR_H): Turn into a no-op.
18444         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
18445         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
18446         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
18447         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
18448         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
18449
18450 2009-12-31  Bruno Haible  <bruno@clisp.org>
18451
18452         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
18453         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
18454         afterwards.
18455
18456 2009-12-31  Bruno Haible  <bruno@clisp.org>
18457
18458         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
18459         SYS_UTSNAME_H.
18460
18461 2009-12-31  Bruno Haible  <bruno@clisp.org>
18462
18463         spawn: Fix misapplied patch.
18464         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
18465         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
18466         warnings for GNULIB_POSIXCHECK.
18467
18468 2009-12-31  Bruno Haible  <bruno@clisp.org>
18469
18470         times: Update after sys_times changed.
18471         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
18472         * modules/times (Files): Add it.
18473         (configure.ac): Invoke gl_FUNC_TIMES.
18474
18475 2009-12-31  Bruno Haible  <bruno@clisp.org>
18476
18477         Use AC_C_INLINE where necessary.
18478         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
18479         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
18480         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
18481         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
18482         * m4/mbfile.m4 (gl_MBFILE): Likewise.
18483         * m4/mbiter.m4 (gl_MBITER): Likewise.
18484         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
18485         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
18486         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
18487         * modules/u64 (configure.ac): Likewise.
18488
18489 2009-12-31  Bruno Haible  <bruno@clisp.org>
18490
18491         Use AC_C_INLINE instead of module 'inline' where possible.
18492         * modules/inline (Description): Clarify purpose.
18493         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
18494         * modules/count-one-bits (Depends-on): Remove inline.
18495         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
18496         * modules/openat (Depends-on): Remove inline.
18497         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
18498         instead of depending on module 'inline'.
18499         * modules/filevercmp (Depends-on, configure.ac): Likewise.
18500         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
18501         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
18502         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
18503         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
18504         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
18505         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
18506         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
18507         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
18508         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
18509         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
18510         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
18511         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
18512         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
18513         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
18514         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
18515         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
18516         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
18517         Likewise.
18518         * modules/unictype/property-ascii-hex-digit (Depends-on,
18519         configure.ac): Likewise.
18520         * modules/unictype/property-bidi-arabic-digit (Depends-on,
18521         configure.ac): Likewise.
18522         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
18523         configure.ac): Likewise.
18524         * modules/unictype/property-bidi-block-separator (Depends-on,
18525         configure.ac): Likewise.
18526         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
18527         configure.ac): Likewise.
18528         * modules/unictype/property-bidi-common-separator (Depends-on,
18529         configure.ac): Likewise.
18530         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
18531         Likewise.
18532         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
18533         configure.ac): Likewise.
18534         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
18535         configure.ac): Likewise.
18536         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
18537         configure.ac): Likewise.
18538         * modules/unictype/property-bidi-european-digit (Depends-on,
18539         configure.ac): Likewise.
18540         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
18541         configure.ac): Likewise.
18542         * modules/unictype/property-bidi-left-to-right (Depends-on,
18543         configure.ac): Likewise.
18544         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
18545         configure.ac): Likewise.
18546         * modules/unictype/property-bidi-other-neutral (Depends-on,
18547         configure.ac): Likewise.
18548         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
18549         Likewise.
18550         * modules/unictype/property-bidi-segment-separator (Depends-on,
18551         configure.ac): Likewise.
18552         * modules/unictype/property-bidi-whitespace (Depends-on,
18553         configure.ac): Likewise.
18554         * modules/unictype/property-combining (Depends-on, configure.ac):
18555         Likewise.
18556         * modules/unictype/property-composite (Depends-on, configure.ac):
18557         Likewise.
18558         * modules/unictype/property-currency-symbol (Depends-on,
18559         configure.ac): Likewise.
18560         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
18561         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
18562         Likewise.
18563         * modules/unictype/property-default-ignorable-code-point (Depends-on,
18564         configure.ac): Likewise.
18565         * modules/unictype/property-deprecated (Depends-on, configure.ac):
18566         Likewise.
18567         * modules/unictype/property-diacritic (Depends-on, configure.ac):
18568         Likewise.
18569         * modules/unictype/property-extender (Depends-on, configure.ac):
18570         Likewise.
18571         * modules/unictype/property-format-control (Depends-on, configure.ac):
18572         Likewise.
18573         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
18574         Likewise.
18575         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
18576         Likewise.
18577         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
18578         Likewise.
18579         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
18580         Likewise.
18581         * modules/unictype/property-hyphen (Depends-on, configure.ac):
18582         Likewise.
18583         * modules/unictype/property-id-continue (Depends-on, configure.ac):
18584         Likewise.
18585         * modules/unictype/property-id-start (Depends-on, configure.ac):
18586         Likewise.
18587         * modules/unictype/property-ideographic (Depends-on, configure.ac):
18588         Likewise.
18589         * modules/unictype/property-ids-binary-operator (Depends-on,
18590         configure.ac): Likewise.
18591         * modules/unictype/property-ids-trinary-operator (Depends-on,
18592         configure.ac): Likewise.
18593         * modules/unictype/property-ignorable-control (Depends-on,
18594         configure.ac): Likewise.
18595         * modules/unictype/property-iso-control (Depends-on, configure.ac):
18596         Likewise.
18597         * modules/unictype/property-join-control (Depends-on, configure.ac):
18598         Likewise.
18599         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
18600         Likewise.
18601         * modules/unictype/property-line-separator (Depends-on, configure.ac):
18602         Likewise.
18603         * modules/unictype/property-logical-order-exception (Depends-on,
18604         configure.ac): Likewise.
18605         * modules/unictype/property-lowercase (Depends-on, configure.ac):
18606         Likewise.
18607         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
18608         * modules/unictype/property-non-break (Depends-on, configure.ac):
18609         Likewise.
18610         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
18611         Likewise.
18612         * modules/unictype/property-numeric (Depends-on, configure.ac):
18613         Likewise.
18614         * modules/unictype/property-other-alphabetic (Depends-on,
18615         configure.ac): Likewise.
18616         * modules/unictype/property-other-default-ignorable-code-point
18617         (Depends-on, configure.ac): Likewise.
18618         * modules/unictype/property-other-grapheme-extend (Depends-on,
18619         configure.ac): Likewise.
18620         * modules/unictype/property-other-id-continue (Depends-on,
18621         configure.ac): Likewise.
18622         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
18623         Likewise.
18624         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
18625         Likewise.
18626         * modules/unictype/property-other-math (Depends-on, configure.ac):
18627         Likewise.
18628         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
18629         Likewise.
18630         * modules/unictype/property-paired-punctuation (Depends-on,
18631         configure.ac): Likewise.
18632         * modules/unictype/property-paragraph-separator (Depends-on,
18633         configure.ac): Likewise.
18634         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
18635         Likewise.
18636         * modules/unictype/property-pattern-white-space (Depends-on,
18637         configure.ac): Likewise.
18638         * modules/unictype/property-private-use (Depends-on, configure.ac):
18639         Likewise.
18640         * modules/unictype/property-punctuation (Depends-on, configure.ac):
18641         Likewise.
18642         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
18643         Likewise.
18644         * modules/unictype/property-radical (Depends-on, configure.ac):
18645         Likewise.
18646         * modules/unictype/property-sentence-terminal (Depends-on,
18647         configure.ac): Likewise.
18648         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
18649         Likewise.
18650         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
18651         * modules/unictype/property-terminal-punctuation (Depends-on,
18652         configure.ac): Likewise.
18653         * modules/unictype/property-titlecase (Depends-on, configure.ac):
18654         Likewise.
18655         * modules/unictype/property-unassigned-code-value (Depends-on,
18656         configure.ac): Likewise.
18657         * modules/unictype/property-unified-ideograph (Depends-on,
18658         configure.ac): Likewise.
18659         * modules/unictype/property-uppercase (Depends-on, configure.ac):
18660         Likewise.
18661         * modules/unictype/property-variation-selector (Depends-on,
18662         configure.ac): Likewise.
18663         * modules/unictype/property-white-space (Depends-on, configure.ac):
18664         Likewise.
18665         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
18666         Likewise.
18667         * modules/unictype/property-xid-start (Depends-on, configure.ac):
18668         Likewise.
18669         * modules/unictype/property-zero-width (Depends-on, configure.ac):
18670         Likewise.
18671         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
18672         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
18673         Likewise.
18674
18675 2009-12-31  Bruno Haible  <bruno@clisp.org>
18676
18677         Remove unnecessary AC_C_INLINE invocation.
18678         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
18679         since 2009-08-21.
18680
18681 2009-12-31  Jim Meyering  <meyering@redhat.com>
18682
18683         maint.mk: don't require explicit gpg_key_ID in cfg.mk
18684         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
18685         With this change, we can all remove the gpg_key_ID = ... definition
18686         from our respective cfg.mk files.
18687
18688         maint.mk: create announcement template in ~/, not in /tmp
18689         * top/maint.mk (emit_upload_commands): Adjust.
18690         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
18691         Remove temporary file, .ci-msg.
18692
18693 2009-12-31  Eric Blake  <ebb9@byu.net>
18694
18695         link-warning: always build headers with link warnings
18696         * modules/arpa_inet (Makefile.am): Always build replacement
18697         header.
18698         * modules/ctype (Makefile.am): Likewise.
18699         * modules/dirent (Makefile.am): Likewise.
18700         * modules/inttypes (Makefile.am): Likewise.
18701         * modules/langinfo (Makefile.am): Likewise.
18702         * modules/locale (Makefile.am): Likewise.
18703         * modules/spawn (Makefile.am): Likewise.
18704         * modules/sys_file (Makefile.am): Likewise.
18705         * modules/sys_ioctl (Makefile.am): Likewise.
18706         * modules/sys_select (Makefile.am): Likewise.
18707         * modules/sys_socket (Makefile.am): Likewise.
18708         * modules/sys_times (Makefile.am): Likewise.
18709         * modules/sys_utsname (Makefile.am): Likewise.
18710         * modules/sys_wait (Makefile.am): Likewise.
18711         * modules/wchar (Makefile.am): Likewise.
18712         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
18713         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
18714         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
18715         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
18716         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
18717         Likewise.
18718         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
18719         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
18720         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
18721         Likewise.
18722         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
18723         Likewise.
18724         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
18725         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
18726         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
18727         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
18728         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
18729         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
18730         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
18731         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
18732         (gl_WCHAR_H_DEFAULTS): Likewise.
18733
18734 2009-12-31  Eric Blake  <ebb9@byu.net>
18735
18736         signal, spawn: use link warnings
18737         * lib/signal.in.h (sigset_t): Make unconditional.
18738         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
18739         (sigpending, sigprocmask, sigaction): Add link warnings.
18740         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
18741         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
18742         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
18743         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
18744         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
18745         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
18746         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
18747         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
18748         (posix_spawn_file_actions_destroy)
18749         (posix_spawn_file_actions_addopen)
18750         (posix_spawn_file_actions_addclose)
18751         (posix_spawn_file_actions_adddup2): Likewise.
18752         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
18753         * tests/test-signal.c (main): Enhance test.
18754
18755         spawn: improve wrapper support
18756         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
18757         (gl_SPAWN_H_DEFAULTS): New defaults.
18758         * modules/spawn (Makefile.am): Substitute them.
18759         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
18760         Only declare if missing or broken.
18761
18762         sys_times, sys_utsname: use include_next
18763         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
18764         header.
18765         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
18766         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
18767         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
18768         * modules/sys_times (Depends-on): Add include_next.
18769         (Makefile.am): Substitute additional values.
18770         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
18771         * lib/sys_times.in.h (includes): Include native header, if
18772         available.
18773         * lib/sys_utsname.in.h (includes): Likewise.
18774         * tests/test-sys_times.c (main): Enhance test.
18775
18776         fdutimensat: revert prior patch
18777         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
18778         utimens.h.
18779         Reported by Bruno Haible.
18780
18781 2009-12-30  Eric Blake  <ebb9@byu.net>
18782
18783         sys_wait: drop link-warning dependency
18784         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
18785         link-warning efforts.
18786         * lib/sys_wait.in.h: Likewise.
18787
18788         fdutimensat: remove bogus dependency
18789         * modules/fdutimensat (Depends-on): Drop inline.
18790
18791         unistd: fix typo
18792         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
18793
18794 2009-12-30  Bruno Haible  <bruno@clisp.org>
18795
18796         Fix compilation error with Solaris cc.
18797         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
18798         * lib/unicase/u16-is-invariant.c: Likewise.
18799         * lib/unicase/u32-is-invariant.c: Likewise.
18800         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
18801
18802 2009-12-30  Bruno Haible  <bruno@clisp.org>
18803
18804         Fix test crash.
18805         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
18806         locales.
18807         Reported by Simon Josefsson <simon@josefsson.org>.
18808
18809 2009-12-30  Bruno Haible  <bruno@clisp.org>
18810
18811         Fix compilation error on most platforms.
18812         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
18813         Reported by Simon Josefsson <simon@josefsson.org>
18814         and Nelson H. F. Beebe <beebe@math.utah.edu>.
18815
18816 2009-12-30  Eric Blake  <ebb9@byu.net>
18817
18818         futimens, utimensat: work around ntfs-3g bug
18819         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
18820         a ctime bug is present, and expand workaround to cover ntfs-3g.
18821         * lib/utimens.c (fdutimens, lutimens): Likewise.
18822         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
18823         (validate_timespec): Adjust return value.
18824         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
18825         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
18826         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
18827
18828 2009-12-29  Eric Blake  <ebb9@byu.net>
18829
18830         link-warning: make usage consistent
18831         * modules/ctype (Depends-on): Add link-warning.
18832         (Makefile.am): Update rules accordingly.
18833         * modules/langinfo (Depends-on, Makefile.am): Likewise.
18834         * modules/locale (Depends-on, Makefile.am): Likewise.
18835         * modules/sys_file (Makefile.am): Likewise.
18836         * modules/getopt-posix (Makefile.am): Delete unused link warning
18837         efforts.
18838         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
18839         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
18840         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
18841         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
18842
18843         stdio: remove unused variables
18844         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
18845         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
18846         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
18847
18848         tests: test more substitute headers
18849         * modules/ctype-tests: New file.
18850         * modules/dirent-tests: Likewise.
18851         * modules/spawn-tests: Likewise.
18852         * modules/sys_file-tests: Likewise.
18853         * modules/sys_ioctl-tests: Likewise.
18854         * modules/sys_wait-tests: Likewise.
18855         * tests/test-ctype.c: Likewise.
18856         * tests/test-dirent.c: Likewise.
18857         * tests/test-spawn.c: Likewise.
18858         * tests/test-sys_file.c: Likewise.
18859         * tests/test-sys_ioctl.c: Likewise.
18860         * tests/test-sys_wait.c: Likewise.
18861         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
18862         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
18863         whether or not flock is in use.
18864
18865         tests: remove License section from module
18866         * modules/arpa_inet-tests: Remove unneeded section.
18867         * modules/byteswap-tests: Likewise.
18868         * modules/ceilf-tests: Likewise.
18869         * modules/ceill-tests: Likewise.
18870         * modules/crypto/des-tests: Likewise.
18871         * modules/crypto/gc-arcfour-tests: Likewise.
18872         * modules/crypto/gc-arctwo-tests: Likewise.
18873         * modules/crypto/gc-des-tests: Likewise.
18874         * modules/crypto/gc-hmac-md5-tests: Likewise.
18875         * modules/crypto/gc-hmac-sha1-tests: Likewise.
18876         * modules/crypto/gc-md2-tests: Likewise.
18877         * modules/crypto/gc-md4-tests: Likewise.
18878         * modules/crypto/gc-md5-tests: Likewise.
18879         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
18880         * modules/crypto/gc-rijndael-tests: Likewise.
18881         * modules/crypto/gc-sha1-tests: Likewise.
18882         * modules/crypto/gc-tests: Likewise.
18883         * modules/crypto/md2-tests: Likewise.
18884         * modules/crypto/md4-tests: Likewise.
18885         * modules/fcntl-h-tests: Likewise.
18886         * modules/floorf-tests: Likewise.
18887         * modules/floorl-tests: Likewise.
18888         * modules/frexp-nolibm-tests: Likewise.
18889         * modules/frexp-tests: Likewise.
18890         * modules/frexpl-nolibm-tests: Likewise.
18891         * modules/frexpl-tests: Likewise.
18892         * modules/getaddrinfo-tests: Likewise.
18893         * modules/inttypes-tests: Likewise.
18894         * modules/isfinite-tests: Likewise.
18895         * modules/isinf-tests: Likewise.
18896         * modules/ldexpl-tests: Likewise.
18897         * modules/locale-tests: Likewise.
18898         * modules/math-tests: Likewise.
18899         * modules/netdb-tests: Likewise.
18900         * modules/netinet_in-tests: Likewise.
18901         * modules/printf-frexp-tests: Likewise.
18902         * modules/printf-frexpl-tests: Likewise.
18903         * modules/priv-set-tests: Likewise.
18904         * modules/random_r-tests: Likewise.
18905         * modules/round-tests: Likewise.
18906         * modules/roundf-tests: Likewise.
18907         * modules/roundl-tests: Likewise.
18908         * modules/search-tests: Likewise.
18909         * modules/select-tests: Likewise.
18910         * modules/signal-tests: Likewise.
18911         * modules/stdbool-tests: Likewise.
18912         * modules/stddef-tests: Likewise.
18913         * modules/stdint-tests: Likewise.
18914         * modules/stdio-tests: Likewise.
18915         * modules/stdlib-tests: Likewise.
18916         * modules/string-tests: Likewise.
18917         * modules/strings-tests: Likewise.
18918         * modules/sys_select-tests: Likewise.
18919         * modules/sys_socket-tests: Likewise.
18920         * modules/sys_stat-tests: Likewise.
18921         * modules/sys_time-tests: Likewise.
18922         * modules/sys_utsname-tests: Likewise.
18923         * modules/sysexits-tests: Likewise.
18924         * modules/time-tests: Likewise.
18925         * modules/trunc-tests: Likewise.
18926         * modules/truncf-tests: Likewise.
18927         * modules/truncl-tests: Likewise.
18928         * modules/tsearch-tests: Likewise.
18929         * modules/unistd-tests: Likewise.
18930         * modules/wchar-tests: Likewise.
18931         * modules/wctype-tests: Likewise.
18932
18933         tests: fix license on several tests
18934         * tests/test-des.c: Update to GPLv3+.
18935         * tests/test-flock.c: Likewise.
18936         * tests/test-fsync.c: Likewise.
18937         * tests/test-futimens.h: Likewise.
18938         * tests/test-gc-arcfour.c: Likewise.
18939         * tests/test-gc-arctwo.c: Likewise.
18940         * tests/test-gc-des.c: Likewise.
18941         * tests/test-gc-hmac-md5.c: Likewise.
18942         * tests/test-gc-hmac-sha1.c: Likewise.
18943         * tests/test-gc-md2.c: Likewise.
18944         * tests/test-gc-md4.c: Likewise.
18945         * tests/test-gc-md5.c: Likewise.
18946         * tests/test-gc-pbkdf2-sha1.c: Likewise.
18947         * tests/test-gc-rijndael.c: Likewise.
18948         * tests/test-gc-sha1.c: Likewise.
18949         * tests/test-gc.c: Likewise.
18950         * tests/test-getcwd.c: Likewise.
18951         * tests/test-link.c: Likewise.
18952         * tests/test-link.h: Likewise.
18953         * tests/test-lutimens.h: Likewise.
18954         * tests/test-md2.c: Likewise.
18955         * tests/test-md4.c: Likewise.
18956         * tests/test-mkdir.h: Likewise.
18957         * tests/test-rename.c: Likewise.
18958         * tests/test-rename.h: Likewise.
18959         * tests/test-safe-alloc.c: Likewise.
18960         * tests/test-utimens-common.h: Likewise.
18961         * tests/test-utimens.h: Likewise.
18962
18963         maint: sync license texts
18964         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
18965         * doc/gpl-3.0.texi: Revert copyright year update.
18966         * doc/lgpl-3.0.texi: Likewise.
18967
18968 2009-12-29  Jim Meyering  <meyering@redhat.com>
18969
18970         update nearly all FSF copyright year lists to include 2009
18971         The files named by the following are exempted:
18972             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
18973               test -f "$dst" && { echo "$dst"; continue; }
18974               test -d "$dst" || continue
18975               echo "$dst"/$(basename "$src")
18976             done > exempt
18977             git ls-files tests/unictype >> exempt
18978         In the remaining files, convert to all-interval notation if
18979         - there is already at least one year interval like 2000-2003
18980         - the file is maintained by me
18981         - the file is in lib/uni*/, where that style already prevails
18982         Otherwise, use update-copyright's default.
18983
18984 2009-12-29  Simon Josefsson  <simon@josefsson.org>
18985         and Eric Blake  <ebb9@byu.net>
18986
18987         tests: don't require debug system() to pass
18988         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
18989         * tests/test-rmdir.h (test_rmdir_func): Likewise.
18990         * tests/test-unlink.h (test_unlink_func): Likewise.
18991         * tests/test-fstatat.c (main): ...into callers.
18992         * tests/test-lstat.c (main): Likewise.
18993         * tests/test-rmdir.c (main): Likewise.
18994         * tests/test-unlink.c (main): Likewise.
18995         * tests/test-unlinkat.c (main): Likewise.
18996         * tests/test-areadlink-with-size.c (main): Don't require a
18997         debug-only system call to pass, aiding cross-testing to mingw.
18998         * tests/test-areadlink.c (main): Likewise.
18999         * tests/test-areadlinkat-with-size.c (main): Likewise.
19000         * tests/test-areadlinkat.c (main): Likewise.
19001         * tests/test-canonicalize-lgpl.c (main): Likewise.
19002         * tests/test-canonicalize.c (main): Likewise.
19003         * tests/test-chown.c (main): Likewise.
19004         * tests/test-fchownat.c (main): Likewise.
19005         * tests/test-lchown.c (main): Likewise.
19006         * tests/test-fdutimensat.c (main): Likewise.
19007         * tests/test-futimens.c (main): Likewise.
19008         * tests/test-link.c (main): Likewise.
19009         * tests/test-linkat.c (main): Likewise.
19010         * tests/test-mkdir.c (main): Likewise.
19011         * tests/test-mkdirat.c (main): Likewise.
19012         * tests/test-mkfifo.c (main): Likewise.
19013         * tests/test-mkfifoat.c (main): Likewise.
19014         * tests/test-mknod.c (main): Likewise.
19015         * tests/test-readlink.c (main): Likewise.
19016         * tests/test-remove.c (main): Likewise.
19017         * tests/test-rename.c (main): Likewise.
19018         * tests/test-renameat.c (main): Likewise.
19019         * tests/test-symlink.c (main): Likewise.
19020         * tests/test-symlinkat.c (main): Likewise.
19021         * tests/test-utimens.c (main): Likewise.
19022         * tests/test-utimensat.c (main): Likewise.
19023
19024 2009-12-29  Simon Josefsson  <simon@josefsson.org>
19025
19026         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
19027         on $(UNUSED_PARAMETER_H) to avoid build failure.
19028
19029 2009-12-28  Jim Meyering  <meyering@redhat.com>
19030
19031         update-copyright: you may specify a max. line length other than 72
19032         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
19033
19034         maint: use consistent FSF copyright line syntax
19035         * lib/posixtm.c: Add missing comma in FSF copyright line.
19036         * lib/posixtm.h: Likewise.
19037         * lib/getugroups.c: Add missing ", Inc.".
19038
19039         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
19040         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
19041         FSF copyright line.  Remove trailing blanks.
19042
19043 2009-12-28  Eric Blake  <ebb9@byu.net>
19044
19045         test-dup2: reduce dependencies
19046         * modules/cloexec (Configure.ac): Set witness.
19047         * modules/dup2-tests (Depends-on): Drop cloexec.
19048         * tests/test-dup2.c (main): Skip portion of test if cloexec module
19049         not present.
19050         Suggested by Bruno Haible.
19051
19052 2009-12-26  Bruno Haible  <bruno@clisp.org>
19053
19054         Remove an unneeded dependency.
19055         * modules/fseterr (Depends-on): Remove dup2.
19056
19057 2009-12-26  Eric Blake  <ebb9@byu.net>
19058
19059         tests: use macros.h in more places
19060         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
19061         (ASSERT_STREAM): Provide default of stderr.
19062         * tests/test-dirent-safer.c: Include macros.h, using alternate
19063         stream for assertions.
19064         * tests/test-dup-safer.c: Likewise.
19065         * tests/test-freopen-safer.c: Likewise.
19066         * tests/test-getopt.c: Likewise.
19067         * tests/test-openat-safer.c: Likewise.
19068         * tests/test-pipe.c: Likewise.
19069         * tests/test-popen-safer.c: Likewise.
19070         * modules/dirent-safer-tests (Files): Include macros.h.
19071         * modules/unistd-safer-tests (Files): Likewise.
19072         * modules/freopen-safer-tests (Files): Likewise.
19073         * modules/getopt-posix-tests (Files): Likewise.
19074         * modules/openat-safer-tests (Files): Likewise.
19075         * modules/pipe-tests (Files): Likewise.
19076
19077 2009-12-26  Bruno Haible  <bruno@clisp.org>
19078
19079         javacomp: Portability fix.
19080         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
19081         that it also works on Solaris.
19082
19083 2009-12-26  Bruno Haible  <bruno@clisp.org>
19084
19085         localename: Fix storage allocation of gl_locale_name_thread's result.
19086         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
19087         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
19088         all platforms that have 'uselocale'.
19089         (gl_locale_name_thread_unsafe): New function, extracted from
19090         gl_locale_name_thread.
19091         (gl_locale_name_thread): Call struniq on all platforms that have
19092         'uselocale'.
19093         * tests/test-localename.c (test_locale_name_thread): Check that the
19094         resulting strings are permanently allocated.
19095         * modules/localename-tests (Depends-on): Add strdup.
19096
19097 2009-12-26  Bruno Haible  <bruno@clisp.org>
19098
19099         * tests/test-localename.c (categories): Fill in the strings.
19100
19101 2009-12-26  Jim Meyering  <meyering@redhat.com>
19102
19103         isdir: complete the removal of m4/isdir.m4
19104         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
19105
19106         isdir: clean up, since at least grep still uses it
19107         * lib/isdir.c: Include "isdir.h".
19108         (S_ISDIR): Remove now-unneeded definition.
19109         * modules/isdir (Files): Add lib/isdir.h.
19110         * lib/isdir.h: New file, with declaration.
19111         * m4/isdir.m4: Remove file -- unneeded.
19112
19113 2009-12-25  Bruno Haible  <bruno@clisp.org>
19114
19115         selinux-h: Make generated .h files standalone.
19116         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
19117         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
19118         * lib/se-selinux.in.h: Likewise.
19119         * modules/selinux-h (Depends-on): Add unused-parameter.
19120         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
19121         selinux/selinux.h and selinux/context.h.
19122         Suggested by Eric Blake.
19123
19124 2009-12-25  Bruno Haible  <bruno@clisp.org>
19125
19126         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
19127         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
19128         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
19129         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
19130         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
19131
19132 2009-12-24  Bruno Haible  <bruno@clisp.org>
19133
19134         openat: Fix warning.
19135         * lib/openat-proc.c: Include <unistd.h>.
19136
19137 2009-12-24  Bruno Haible  <bruno@clisp.org>
19138
19139         New module 'unused-parameter'.
19140         * build-aux/unused-parameter.h: New file, extracted from earlier
19141         gnulib-common.m4.
19142         * modules/unused-parameter: New file.
19143         * lib/unistr.h: Include unused-parameter.h.
19144         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
19145         _GL_UNUSED.
19146         * modules/unistr/base (Depends-on): Add unused-parameter.
19147
19148 2009-12-24  Bruno Haible  <bruno@clisp.org>
19149
19150         Add missing dependencies to 'extensions' module.
19151         * m4/extensions.m4: Add comment.
19152         * modules/accept4 (Depends-on): Add extensions.
19153         * modules/dup3 (Depends-on): Likewise.
19154         * modules/fcntl (Depends-on): Likewise.
19155         * modules/futimens (Depends-on): Likewise.
19156         * modules/mknod (Depends-on): Likewise.
19157         * modules/pipe2 (Depends-on): Likewise.
19158         * modules/stat-time (Depends-on): Likewise.
19159         * modules/strcasestr-simple (Depends-on): Likewise.
19160         * modules/strsignal (Depends-on): Likewise.
19161         * modules/utimensat (Depends-on): Likewise.
19162         * modules/localcharset (Depends-on): Likewise. Needed because of
19163         gl_FCNTL_O_FLAGS.
19164         * modules/wcrtomb (Depends-on): Likewise. Needed because of
19165         AC_TYPE_MBSTATE_T.
19166         * modules/wcsnrtombs (Depends-on): Likewise.
19167         * modules/wcsrtombs (Depends-on): Likewise.
19168
19169 2009-12-24  Bruno Haible  <bruno@clisp.org>
19170
19171         binary-io: Avoid gcc warning due to SET_BINARY.
19172         * lib/binary-io.h (SET_BINARY): Cast the result to void.
19173         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
19174
19175 2009-12-24  Bruno Haible  <bruno@clisp.org>
19176
19177         Avoid future namespace pollution on glibc systems.
19178         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
19179         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
19180         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
19181         glibc systems.
19182
19183 2009-12-24  Bruno Haible  <bruno@clisp.org>
19184
19185         Refactor common macros used in tests.
19186         * tests/macros.h: New file.
19187         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
19188         and/or <stdlib.h>, if appropriate.
19189         (ASSERT, SIZEOF): Remove macros.
19190         * tests/test-areadlink-with-size.c: Likewise.
19191         * tests/test-areadlinkat.c: Likewise.
19192         * tests/test-areadlinkat-with-size.c: Likewise.
19193         * tests/test-argmatch.c: Likewise.
19194         * tests/test-argv-iter.c: Likewise.
19195         * tests/test-array-mergesort.c: Likewise.
19196         * tests/test-array_list.c: Likewise.
19197         * tests/test-array_oset.c: Likewise.
19198         * tests/test-avltree_list.c: Likewise.
19199         * tests/test-avltree_oset.c: Likewise.
19200         * tests/test-avltreehash_list.c: Likewise.
19201         * tests/test-base64.c: Likewise.
19202         * tests/test-binary-io.c: Likewise.
19203         * tests/test-bitrotate.c: Likewise.
19204         * tests/test-btowc.c: Likewise.
19205         * tests/test-byteswap.c: Likewise.
19206         * tests/test-c-ctype.c: Likewise.
19207         * tests/test-c-stack.c: Likewise.
19208         * tests/test-c-strcasecmp.c: Likewise.
19209         * tests/test-c-strcasestr.c: Likewise.
19210         * tests/test-c-strncasecmp.c: Likewise.
19211         * tests/test-c-strstr.c: Likewise.
19212         * tests/test-canonicalize-lgpl.c: Likewise.
19213         * tests/test-canonicalize.c: Likewise.
19214         * tests/test-carray_list.c: Likewise.
19215         * tests/test-ceilf1.c: Likewise.
19216         * tests/test-ceilf2.c: Likewise.
19217         * tests/test-ceill.c: Likewise.
19218         * tests/test-chown.c: Likewise.
19219         * tests/test-cloexec.c: Likewise.
19220         * tests/test-copy-acl.c: Likewise.
19221         * tests/test-copy-file.c: Likewise.
19222         * tests/test-count-one-bits.c: Likewise.
19223         * tests/test-dprintf-posix.c: Likewise.
19224         * tests/test-dup2.c: Likewise.
19225         * tests/test-dup3.c: Likewise.
19226         * tests/test-duplocale.c: Likewise.
19227         * tests/test-fbufmode.c: Likewise.
19228         * tests/test-fchdir.c: Likewise.
19229         * tests/test-fchownat.c: Likewise.
19230         * tests/test-fcntl-safer.c: Likewise.
19231         * tests/test-fcntl.c: Likewise.
19232         * tests/test-fdopendir.c: Likewise.
19233         * tests/test-fdutimensat.c: Likewise.
19234         * tests/test-fflush2.c: Likewise.
19235         * tests/test-file-has-acl.c: Likewise.
19236         * tests/test-filevercmp.c: Likewise.
19237         * tests/test-flock.c: Likewise.
19238         * tests/test-floorf1.c: Likewise.
19239         * tests/test-floorf2.c: Likewise.
19240         * tests/test-floorl.c: Likewise.
19241         * tests/test-fnmatch.c: Likewise.
19242         * tests/test-fopen.h: Likewise.
19243         * tests/test-fpending.c: Likewise.
19244         * tests/test-fprintf-posix.c: Likewise.
19245         * tests/test-fpurge.c: Likewise.
19246         * tests/test-freadable.c: Likewise.
19247         * tests/test-freadahead.c: Likewise.
19248         * tests/test-freading.c: Likewise.
19249         * tests/test-freadptr.c: Likewise.
19250         * tests/test-freadptr2.c: Likewise.
19251         * tests/test-freadseek.c: Likewise.
19252         * tests/test-freopen.c: Likewise.
19253         * tests/test-frexp.c: Likewise.
19254         * tests/test-frexpl.c: Likewise.
19255         * tests/test-fseek.c: Likewise.
19256         * tests/test-fseeko.c: Likewise.
19257         * tests/test-fstatat.c: Likewise.
19258         * tests/test-fstrcmp.c: Likewise.
19259         * tests/test-fsync.c: Likewise.
19260         * tests/test-ftell.c: Likewise.
19261         * tests/test-ftello.c: Likewise.
19262         * tests/test-func.c: Likewise.
19263         * tests/test-futimens.c: Likewise.
19264         * tests/test-fwritable.c: Likewise.
19265         * tests/test-fwriting.c: Likewise.
19266         * tests/test-getcwd.c: Likewise.
19267         * tests/test-getdate.c: Likewise.
19268         * tests/test-getdelim.c: Likewise.
19269         * tests/test-getdtablesize.c: Likewise.
19270         * tests/test-getgroups.c: Likewise.
19271         * tests/test-getline.c: Likewise.
19272         * tests/test-getndelim2.c: Likewise.
19273         * tests/test-glob.c: Likewise.
19274         * tests/test-hash.c: Likewise.
19275         * tests/test-i-ring.c: Likewise.
19276         * tests/test-iconv-utf.c: Likewise.
19277         * tests/test-iconv.c: Likewise.
19278         * tests/test-idpriv-drop.c: Likewise.
19279         * tests/test-idpriv-droptemp.c: Likewise.
19280         * tests/test-inet_ntop.c: Likewise.
19281         * tests/test-inet_pton.c: Likewise.
19282         * tests/test-isblank.c: Likewise.
19283         * tests/test-isfinite.c: Likewise.
19284         * tests/test-isinf.c: Likewise.
19285         * tests/test-isnan.c: Likewise.
19286         * tests/test-isnand.h: Likewise.
19287         * tests/test-isnanf.h: Likewise.
19288         * tests/test-isnanl.h: Likewise.
19289         * tests/test-lchown.c: Likewise.
19290         * tests/test-ldexpl.c: Likewise.
19291         * tests/test-link.c: Likewise.
19292         * tests/test-linkat.c: Likewise.
19293         * tests/test-linked_list.c: Likewise.
19294         * tests/test-linkedhash_list.c: Likewise.
19295         * tests/test-localename.c: Likewise.
19296         * tests/test-lseek.c: Likewise.
19297         * tests/test-lstat.c: Likewise.
19298         * tests/test-mbmemcasecmp.c: Likewise.
19299         * tests/test-mbmemcasecoll.c: Likewise.
19300         * tests/test-mbrtowc.c: Likewise.
19301         * tests/test-mbscasecmp.c: Likewise.
19302         * tests/test-mbscasestr1.c: Likewise.
19303         * tests/test-mbscasestr2.c: Likewise.
19304         * tests/test-mbscasestr3.c: Likewise.
19305         * tests/test-mbscasestr4.c: Likewise.
19306         * tests/test-mbschr.c: Likewise.
19307         * tests/test-mbscspn.c: Likewise.
19308         * tests/test-mbsinit.c: Likewise.
19309         * tests/test-mbsncasecmp.c: Likewise.
19310         * tests/test-mbsnrtowcs.c: Likewise.
19311         * tests/test-mbspbrk.c: Likewise.
19312         * tests/test-mbspcasecmp.c: Likewise.
19313         * tests/test-mbsrchr.c: Likewise.
19314         * tests/test-mbsrtowcs.c: Likewise.
19315         * tests/test-mbsspn.c: Likewise.
19316         * tests/test-mbsstr1.c: Likewise.
19317         * tests/test-mbsstr2.c: Likewise.
19318         * tests/test-mbsstr3.c: Likewise.
19319         * tests/test-memchr.c: Likewise.
19320         * tests/test-memchr2.c: Likewise.
19321         * tests/test-memcmp.c: Likewise.
19322         * tests/test-memmem.c: Likewise.
19323         * tests/test-memrchr.c: Likewise.
19324         * tests/test-mkdir.c: Likewise.
19325         * tests/test-mkdirat.c: Likewise.
19326         * tests/test-mkfifo.c: Likewise.
19327         * tests/test-mkfifoat.c: Likewise.
19328         * tests/test-mknod.c: Likewise.
19329         * tests/test-nanosleep.c: Likewise.
19330         * tests/test-nl_langinfo.c: Likewise.
19331         * tests/test-obstack-printf.c: Likewise.
19332         * tests/test-open.c: Likewise.
19333         * tests/test-openat.c: Likewise.
19334         * tests/test-pipe-filter-gi1.c: Likewise.
19335         * tests/test-pipe-filter-gi2-main.c: Likewise.
19336         * tests/test-pipe-filter-ii1.c: Likewise.
19337         * tests/test-pipe-filter-ii2-main.c: Likewise.
19338         * tests/test-pipe2.c: Likewise.
19339         * tests/test-popen.h: Likewise.
19340         * tests/test-posixtm.c: Likewise.
19341         * tests/test-pread.c: Likewise.
19342         * tests/test-printf-frexp.c: Likewise.
19343         * tests/test-printf-frexpl.c: Likewise.
19344         * tests/test-printf-posix.c: Likewise.
19345         * tests/test-priv-set.c: Likewise.
19346         * tests/test-quotearg.c: Likewise.
19347         * tests/test-random_r.c: Likewise.
19348         * tests/test-rawmemchr.c: Likewise.
19349         * tests/test-rbtree_list.c: Likewise.
19350         * tests/test-rbtree_oset.c: Likewise.
19351         * tests/test-rbtreehash_list.c: Likewise.
19352         * tests/test-readlink.c: Likewise.
19353         * tests/test-remove.c: Likewise.
19354         * tests/test-rename.c: Likewise.
19355         * tests/test-renameat.c: Likewise.
19356         * tests/test-rmdir.c: Likewise.
19357         * tests/test-round1.c: Likewise.
19358         * tests/test-roundf1.c: Likewise.
19359         * tests/test-roundl.c: Likewise.
19360         * tests/test-safe-alloc.c: Likewise.
19361         * tests/test-sameacls.c: Likewise.
19362         * tests/test-set-mode-acl.c: Likewise.
19363         * tests/test-setenv.c: Likewise.
19364         * tests/test-sigaction.c: Likewise.
19365         * tests/test-signbit.c: Likewise.
19366         * tests/test-sleep.c: Likewise.
19367         * tests/test-snprintf-posix.c: Likewise.
19368         * tests/test-snprintf.c: Likewise.
19369         * tests/test-sprintf-posix.c: Likewise.
19370         * tests/test-stat-time.c: Likewise.
19371         * tests/test-stat.c: Likewise.
19372         * tests/test-strcasestr.c: Likewise.
19373         * tests/test-strchrnul.c: Likewise.
19374         * tests/test-strerror.c: Likewise.
19375         * tests/test-striconv.c: Likewise.
19376         * tests/test-striconveh.c: Likewise.
19377         * tests/test-striconveha.c: Likewise.
19378         * tests/test-strsignal.c: Likewise.
19379         * tests/test-strstr.c: Likewise.
19380         * tests/test-strtod.c: Likewise.
19381         * tests/test-strverscmp.c: Likewise.
19382         * tests/test-symlink.c: Likewise.
19383         * tests/test-symlinkat.c: Likewise.
19384         * tests/test-trunc1.c: Likewise.
19385         * tests/test-trunc2.c: Likewise.
19386         * tests/test-truncf1.c: Likewise.
19387         * tests/test-truncf2.c: Likewise.
19388         * tests/test-truncl.c: Likewise.
19389         * tests/test-uname.c: Likewise.
19390         * tests/test-unlink.c: Likewise.
19391         * tests/test-unlinkat.c: Likewise.
19392         * tests/test-unsetenv.c: Likewise.
19393         * tests/test-usleep.c: Likewise.
19394         * tests/test-utimens.c: Likewise.
19395         * tests/test-utimensat.c: Likewise.
19396         * tests/test-vasnprintf-posix.c: Likewise.
19397         * tests/test-vasnprintf-posix2.c: Likewise.
19398         * tests/test-vasnprintf.c: Likewise.
19399         * tests/test-vasprintf-posix.c: Likewise.
19400         * tests/test-vasprintf.c: Likewise.
19401         * tests/test-vdprintf-posix.c: Likewise.
19402         * tests/test-vfprintf-posix.c: Likewise.
19403         * tests/test-vprintf-posix.c: Likewise.
19404         * tests/test-vsnprintf-posix.c: Likewise.
19405         * tests/test-vsnprintf.c: Likewise.
19406         * tests/test-vsprintf-posix.c: Likewise.
19407         * tests/test-wcrtomb.c: Likewise.
19408         * tests/test-wcsnrtombs.c: Likewise.
19409         * tests/test-wcsrtombs.c: Likewise.
19410         * tests/test-wctype.c: Likewise.
19411         * tests/test-wcwidth.c: Likewise.
19412         * tests/test-xfprintf-posix.c: Likewise.
19413         * tests/test-xmemdup0.c: Likewise.
19414         * tests/test-xprintf-posix.c: Likewise.
19415         * tests/test-xvasprintf.c: Likewise.
19416         * tests/unicase/test-locale-language.c: Likewise.
19417         * tests/unicase/test-mapping-part1.h: Likewise.
19418         * tests/unicase/test-predicate-part1.h: Likewise.
19419         * tests/unicase/test-u8-casecmp.c: Likewise.
19420         * tests/unicase/test-u8-casecoll.c: Likewise.
19421         * tests/unicase/test-u8-casefold.c: Likewise.
19422         * tests/unicase/test-u8-is-cased.c: Likewise.
19423         * tests/unicase/test-u8-is-casefolded.c: Likewise.
19424         * tests/unicase/test-u8-is-lowercase.c: Likewise.
19425         * tests/unicase/test-u8-is-titlecase.c: Likewise.
19426         * tests/unicase/test-u8-is-uppercase.c: Likewise.
19427         * tests/unicase/test-u8-tolower.c: Likewise.
19428         * tests/unicase/test-u8-totitle.c: Likewise.
19429         * tests/unicase/test-u8-toupper.c: Likewise.
19430         * tests/unicase/test-u16-casecmp.c: Likewise.
19431         * tests/unicase/test-u16-casecoll.c: Likewise.
19432         * tests/unicase/test-u16-casefold.c: Likewise.
19433         * tests/unicase/test-u16-is-cased.c: Likewise.
19434         * tests/unicase/test-u16-is-casefolded.c: Likewise.
19435         * tests/unicase/test-u16-is-lowercase.c: Likewise.
19436         * tests/unicase/test-u16-is-titlecase.c: Likewise.
19437         * tests/unicase/test-u16-is-uppercase.c: Likewise.
19438         * tests/unicase/test-u16-tolower.c: Likewise.
19439         * tests/unicase/test-u16-totitle.c: Likewise.
19440         * tests/unicase/test-u16-toupper.c: Likewise.
19441         * tests/unicase/test-u32-casecmp.c: Likewise.
19442         * tests/unicase/test-u32-casecoll.c: Likewise.
19443         * tests/unicase/test-u32-casefold.c: Likewise.
19444         * tests/unicase/test-u32-is-cased.c: Likewise.
19445         * tests/unicase/test-u32-is-casefolded.c: Likewise.
19446         * tests/unicase/test-u32-is-lowercase.c: Likewise.
19447         * tests/unicase/test-u32-is-titlecase.c: Likewise.
19448         * tests/unicase/test-u32-is-uppercase.c: Likewise.
19449         * tests/unicase/test-u32-tolower.c: Likewise.
19450         * tests/unicase/test-u32-totitle.c: Likewise.
19451         * tests/unicase/test-u32-toupper.c: Likewise.
19452         * tests/unicase/test-ulc-casecmp.c: Likewise.
19453         * tests/unicase/test-ulc-casecoll.c: Likewise.
19454         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
19455         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
19456         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
19457         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
19458         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
19459         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
19460         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
19461         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
19462         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
19463         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
19464         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
19465         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
19466         * tests/unictype/test-bidi_byname.c: Likewise.
19467         * tests/unictype/test-bidi_name.c: Likewise.
19468         * tests/unictype/test-bidi_of.c: Likewise.
19469         * tests/unictype/test-bidi_test.c: Likewise.
19470         * tests/unictype/test-block_list.c: Likewise.
19471         * tests/unictype/test-block_of.c: Likewise.
19472         * tests/unictype/test-block_test.c: Likewise.
19473         * tests/unictype/test-categ_and.c: Likewise.
19474         * tests/unictype/test-categ_and_not.c: Likewise.
19475         * tests/unictype/test-categ_byname.c: Likewise.
19476         * tests/unictype/test-categ_name.c: Likewise.
19477         * tests/unictype/test-categ_none.c: Likewise.
19478         * tests/unictype/test-categ_of.c: Likewise.
19479         * tests/unictype/test-categ_or.c: Likewise.
19480         * tests/unictype/test-categ_test_withtable.c: Likewise.
19481         * tests/unictype/test-combining.c: Likewise.
19482         * tests/unictype/test-decdigit.c: Likewise.
19483         * tests/unictype/test-digit.c: Likewise.
19484         * tests/unictype/test-mirror.c: Likewise.
19485         * tests/unictype/test-numeric.c: Likewise.
19486         * tests/unictype/test-pr_byname.c: Likewise.
19487         * tests/unictype/test-pr_test.c: Likewise.
19488         * tests/unictype/test-predicate-part1.h: Likewise.
19489         * tests/unictype/test-scripts.c: Likewise.
19490         * tests/unictype/test-sy_c_ident.c: Likewise.
19491         * tests/unictype/test-sy_java_ident.c: Likewise.
19492         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
19493         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
19494         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
19495         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
19496         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
19497         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
19498         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
19499         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
19500         * tests/uninorm/test-canonical-decomposition.c: Likewise.
19501         * tests/uninorm/test-compat-decomposition.c: Likewise.
19502         * tests/uninorm/test-composition.c: Likewise.
19503         * tests/uninorm/test-decomposing-form.c: Likewise.
19504         * tests/uninorm/test-decomposition.c: Likewise.
19505         * tests/uninorm/test-u8-nfc.c: Likewise.
19506         * tests/uninorm/test-u8-nfd.c: Likewise.
19507         * tests/uninorm/test-u8-nfkc.c: Likewise.
19508         * tests/uninorm/test-u8-nfkd.c: Likewise.
19509         * tests/uninorm/test-u8-normcmp.c: Likewise.
19510         * tests/uninorm/test-u8-normcoll.c: Likewise.
19511         * tests/uninorm/test-u16-nfc.c: Likewise.
19512         * tests/uninorm/test-u16-nfd.c: Likewise.
19513         * tests/uninorm/test-u16-nfkc.c: Likewise.
19514         * tests/uninorm/test-u16-nfkd.c: Likewise.
19515         * tests/uninorm/test-u16-normcmp.c: Likewise.
19516         * tests/uninorm/test-u16-normcoll.c: Likewise.
19517         * tests/uninorm/test-u32-nfc.c: Likewise.
19518         * tests/uninorm/test-u32-nfd.c: Likewise.
19519         * tests/uninorm/test-u32-nfkc.c: Likewise.
19520         * tests/uninorm/test-u32-nfkd.c: Likewise.
19521         * tests/uninorm/test-u32-normalize-big.c: Likewise.
19522         * tests/uninorm/test-u32-normcmp.c: Likewise.
19523         * tests/uninorm/test-u32-normcoll.c: Likewise.
19524         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
19525         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
19526         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
19527         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
19528         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
19529         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
19530         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
19531         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
19532         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
19533         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
19534         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
19535         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
19536         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
19537         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
19538         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
19539         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
19540         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
19541         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
19542         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
19543         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
19544         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
19545         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
19546         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
19547         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
19548         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
19549         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
19550         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
19551         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
19552         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
19553         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
19554         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
19555         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
19556         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
19557         * tests/uniwidth/test-u8-strwidth.c: Likewise.
19558         * tests/uniwidth/test-u8-width.c: Likewise.
19559         * tests/uniwidth/test-u16-strwidth.c: Likewise.
19560         * tests/uniwidth/test-u16-width.c: Likewise.
19561         * tests/uniwidth/test-u32-strwidth.c: Likewise.
19562         * tests/uniwidth/test-u32-width.c: Likewise.
19563         * tests/uniwidth/test-uc_width.c: Likewise.
19564         * tests/uniwidth/test-uc_width2.c: Likewise.
19565         * modules/acl-tests (Files): Add tests/macros.h.
19566         * modules/areadlink-tests (Files): Likewise.
19567         * modules/areadlink-with-size-tests (Files): Likewise.
19568         * modules/areadlinkat-tests (Files): Likewise.
19569         * modules/areadlinkat-with-size-tests (Files): Likewise.
19570         * modules/argmatch-tests (Files): Likewise.
19571         * modules/argv-iter-tests (Files): Likewise.
19572         * modules/array-list-tests (Files): Likewise.
19573         * modules/array-mergesort-tests (Files): Likewise.
19574         * modules/array-oset-tests (Files): Likewise.
19575         * modules/avltree-list-tests (Files): Likewise.
19576         * modules/avltree-oset-tests (Files): Likewise.
19577         * modules/avltreehash-list-tests (Files): Likewise.
19578         * modules/base64-tests (Files): Likewise.
19579         * modules/binary-io-tests (Files): Likewise.
19580         * modules/bitrotate-tests (Files): Likewise.
19581         * modules/btowc-tests (Files): Likewise.
19582         * modules/byteswap-tests (Files): Likewise.
19583         * modules/c-ctype-tests (Files): Likewise.
19584         * modules/c-stack-tests (Files): Likewise.
19585         * modules/c-strcase-tests (Files): Likewise.
19586         * modules/c-strcasestr-tests (Files): Likewise.
19587         * modules/c-strstr-tests (Files): Likewise.
19588         * modules/canonicalize-lgpl-tests (Files): Likewise.
19589         * modules/canonicalize-tests (Files): Likewise.
19590         * modules/carray-list-tests (Files): Likewise.
19591         * modules/ceilf-tests (Files): Likewise.
19592         * modules/ceill-tests (Files): Likewise.
19593         * modules/chown-tests (Files): Likewise.
19594         * modules/cloexec-tests (Files): Likewise.
19595         * modules/copy-file-tests (Files): Likewise.
19596         * modules/count-one-bits-tests (Files): Likewise.
19597         * modules/dprintf-posix-tests (Files): Likewise.
19598         * modules/dup2-tests (Files): Likewise.
19599         * modules/dup3-tests (Files): Likewise.
19600         * modules/duplocale-tests (Files): Likewise.
19601         * modules/fbufmode-tests (Files): Likewise.
19602         * modules/fchdir-tests (Files): Likewise.
19603         * modules/fcntl-safer-tests (Files): Likewise.
19604         * modules/fcntl-tests (Files): Likewise.
19605         * modules/fdopendir-tests (Files): Likewise.
19606         * modules/fdutimensat-tests (Files): Likewise.
19607         * modules/fflush-tests (Files): Likewise.
19608         * modules/filevercmp-tests (Files): Likewise.
19609         * modules/flock-tests (Files): Likewise.
19610         * modules/floorf-tests (Files): Likewise.
19611         * modules/floorl-tests (Files): Likewise.
19612         * modules/fnmatch-tests (Files): Likewise.
19613         * modules/fopen-safer-tests (Files): Likewise.
19614         * modules/fopen-tests (Files): Likewise.
19615         * modules/fpending-tests (Files): Likewise.
19616         * modules/fprintf-posix-tests (Files): Likewise.
19617         * modules/fpurge-tests (Files): Likewise.
19618         * modules/freadable-tests (Files): Likewise.
19619         * modules/freadahead-tests (Files): Likewise.
19620         * modules/freading-tests (Files): Likewise.
19621         * modules/freadptr-tests (Files): Likewise.
19622         * modules/freadseek-tests (Files): Likewise.
19623         * modules/freopen-tests (Files): Likewise.
19624         * modules/frexp-nolibm-tests (Files): Likewise.
19625         * modules/frexp-tests (Files): Likewise.
19626         * modules/frexpl-nolibm-tests (Files): Likewise.
19627         * modules/frexpl-tests (Files): Likewise.
19628         * modules/fseek-tests (Files): Likewise.
19629         * modules/fseeko-tests (Files): Likewise.
19630         * modules/fstrcmp-tests (Files): Likewise.
19631         * modules/fsync-tests (Files): Likewise.
19632         * modules/ftell-tests (Files): Likewise.
19633         * modules/ftello-tests (Files): Likewise.
19634         * modules/func-tests (Files): Likewise.
19635         * modules/futimens-tests (Files): Likewise.
19636         * modules/fwritable-tests (Files): Likewise.
19637         * modules/fwriting-tests (Files): Likewise.
19638         * modules/getcwd-tests (Files): Likewise.
19639         * modules/getdate-tests (Files): Likewise.
19640         * modules/getdelim-tests (Files): Likewise.
19641         * modules/getdtablesize-tests (Files): Likewise.
19642         * modules/getgroups-tests (Files): Likewise.
19643         * modules/getline-tests (Files): Likewise.
19644         * modules/getndelim2-tests (Files): Likewise.
19645         * modules/glob-tests (Files): Likewise.
19646         * modules/hash-tests (Files): Likewise.
19647         * modules/i-ring-tests (Files): Likewise.
19648         * modules/iconv-tests (Files): Likewise.
19649         * modules/iconv_open-utf-tests (Files): Likewise.
19650         * modules/idpriv-drop-tests (Files): Likewise.
19651         * modules/idpriv-droptemp-tests (Files): Likewise.
19652         * modules/inet_ntop-tests (Files): Likewise.
19653         * modules/inet_pton-tests (Files): Likewise.
19654         * modules/isblank-tests (Files): Likewise.
19655         * modules/isfinite-tests (Files): Likewise.
19656         * modules/isinf-tests (Files): Likewise.
19657         * modules/isnan-tests (Files): Likewise.
19658         * modules/isnand-nolibm-tests (Files): Likewise.
19659         * modules/isnand-tests (Files): Likewise.
19660         * modules/isnanf-nolibm-tests (Files): Likewise.
19661         * modules/isnanf-tests (Files): Likewise.
19662         * modules/isnanl-nolibm-tests (Files): Likewise.
19663         * modules/isnanl-tests (Files): Likewise.
19664         * modules/lchown-tests (Files): Likewise.
19665         * modules/ldexpl-tests (Files): Likewise.
19666         * modules/link-tests (Files): Likewise.
19667         * modules/linkat-tests (Files): Likewise.
19668         * modules/linked-list-tests (Files): Likewise.
19669         * modules/linkedhash-list-tests (Files): Likewise.
19670         * modules/localename-tests (Files): Likewise.
19671         * modules/lseek-tests (Files): Likewise.
19672         * modules/lstat-tests (Files): Likewise.
19673         * modules/mbmemcasecmp-tests (Files): Likewise.
19674         * modules/mbmemcasecoll-tests (Files): Likewise.
19675         * modules/mbrtowc-tests (Files): Likewise.
19676         * modules/mbscasecmp-tests (Files): Likewise.
19677         * modules/mbscasestr-tests (Files): Likewise.
19678         * modules/mbschr-tests (Files): Likewise.
19679         * modules/mbscspn-tests (Files): Likewise.
19680         * modules/mbsinit-tests (Files): Likewise.
19681         * modules/mbsncasecmp-tests (Files): Likewise.
19682         * modules/mbsnrtowcs-tests (Files): Likewise.
19683         * modules/mbspbrk-tests (Files): Likewise.
19684         * modules/mbspcasecmp-tests (Files): Likewise.
19685         * modules/mbsrchr-tests (Files): Likewise.
19686         * modules/mbsrtowcs-tests (Files): Likewise.
19687         * modules/mbsspn-tests (Files): Likewise.
19688         * modules/mbsstr-tests (Files): Likewise.
19689         * modules/memchr-tests (Files): Likewise.
19690         * modules/memchr2-tests (Files): Likewise.
19691         * modules/memcmp-tests (Files): Likewise.
19692         * modules/memmem-tests (Files): Likewise.
19693         * modules/memrchr-tests (Files): Likewise.
19694         * modules/mkdir-tests (Files): Likewise.
19695         * modules/mkfifo-tests (Files): Likewise.
19696         * modules/mkfifoat-tests (Files): Likewise.
19697         * modules/mknod-tests (Files): Likewise.
19698         * modules/nanosleep-tests (Files): Likewise.
19699         * modules/nl_langinfo-tests (Files): Likewise.
19700         * modules/obstack-printf-tests (Files): Likewise.
19701         * modules/open-tests (Files): Likewise.
19702         * modules/openat-tests (Files): Likewise.
19703         * modules/pipe-filter-gi-tests (Files): Likewise.
19704         * modules/pipe-filter-ii-tests (Files): Likewise.
19705         * modules/pipe2-tests (Files): Likewise.
19706         * modules/popen-safer-tests (Files): Likewise.
19707         * modules/popen-tests (Files): Likewise.
19708         * modules/posixtm-tests (Files): Likewise.
19709         * modules/pread-tests (Files): Likewise.
19710         * modules/printf-frexp-tests (Files): Likewise.
19711         * modules/printf-frexpl-tests (Files): Likewise.
19712         * modules/printf-posix-tests (Files): Likewise.
19713         * modules/priv-set-tests (Files): Likewise.
19714         * modules/quotearg-tests (Files): Likewise.
19715         * modules/random_r-tests (Files): Likewise.
19716         * modules/rawmemchr-tests (Files): Likewise.
19717         * modules/rbtree-list-tests (Files): Likewise.
19718         * modules/rbtree-oset-tests (Files): Likewise.
19719         * modules/rbtreehash-list-tests (Files): Likewise.
19720         * modules/readlink-tests (Files): Likewise.
19721         * modules/remove-tests (Files): Likewise.
19722         * modules/rename-tests (Files): Likewise.
19723         * modules/renameat-tests (Files): Likewise.
19724         * modules/rmdir-tests (Files): Likewise.
19725         * modules/round-tests (Files): Likewise.
19726         * modules/roundf-tests (Files): Likewise.
19727         * modules/roundl-tests (Files): Likewise.
19728         * modules/safe-alloc-tests (Files): Likewise.
19729         * modules/setenv-tests (Files): Likewise.
19730         * modules/sigaction-tests (Files): Likewise.
19731         * modules/signbit-tests (Files): Likewise.
19732         * modules/sleep-tests (Files): Likewise.
19733         * modules/snprintf-posix-tests (Files): Likewise.
19734         * modules/snprintf-tests (Files): Likewise.
19735         * modules/sprintf-posix-tests (Files): Likewise.
19736         * modules/stat-tests (Files): Likewise.
19737         * modules/stat-time-tests (Files): Likewise.
19738         * modules/strcasestr-tests (Files): Likewise.
19739         * modules/strchrnul-tests (Files): Likewise.
19740         * modules/strerror-tests (Files): Likewise.
19741         * modules/striconv-tests (Files): Likewise.
19742         * modules/striconveh-tests (Files): Likewise.
19743         * modules/striconveha-tests (Files): Likewise.
19744         * modules/strsignal-tests (Files): Likewise.
19745         * modules/strstr-tests (Files): Likewise.
19746         * modules/strtod-tests (Files): Likewise.
19747         * modules/strverscmp-tests (Files): Likewise.
19748         * modules/symlink-tests (Files): Likewise.
19749         * modules/symlinkat-tests (Files): Likewise.
19750         * modules/trunc-tests (Files): Likewise.
19751         * modules/truncf-tests (Files): Likewise.
19752         * modules/truncl-tests (Files): Likewise.
19753         * modules/uname-tests (Files): Likewise.
19754         * modules/unicase/cased-tests (Files): Likewise.
19755         * modules/unicase/ignorable-tests (Files): Likewise.
19756         * modules/unicase/locale-language-tests (Files): Likewise.
19757         * modules/unicase/tolower-tests (Files): Likewise.
19758         * modules/unicase/totitle-tests (Files): Likewise.
19759         * modules/unicase/toupper-tests (Files): Likewise.
19760         * modules/unicase/u8-casecmp-tests (Files): Likewise.
19761         * modules/unicase/u8-casecoll-tests (Files): Likewise.
19762         * modules/unicase/u8-casefold-tests (Files): Likewise.
19763         * modules/unicase/u8-is-cased-tests (Files): Likewise.
19764         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
19765         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
19766         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
19767         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
19768         * modules/unicase/u8-tolower-tests (Files): Likewise.
19769         * modules/unicase/u8-totitle-tests (Files): Likewise.
19770         * modules/unicase/u8-toupper-tests (Files): Likewise.
19771         * modules/unicase/u16-casecmp-tests (Files): Likewise.
19772         * modules/unicase/u16-casecoll-tests (Files): Likewise.
19773         * modules/unicase/u16-casefold-tests (Files): Likewise.
19774         * modules/unicase/u16-is-cased-tests (Files): Likewise.
19775         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
19776         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
19777         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
19778         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
19779         * modules/unicase/u16-tolower-tests (Files): Likewise.
19780         * modules/unicase/u16-totitle-tests (Files): Likewise.
19781         * modules/unicase/u16-toupper-tests (Files): Likewise.
19782         * modules/unicase/u32-casecmp-tests (Files): Likewise.
19783         * modules/unicase/u32-casecoll-tests (Files): Likewise.
19784         * modules/unicase/u32-casefold-tests (Files): Likewise.
19785         * modules/unicase/u32-is-cased-tests (Files): Likewise.
19786         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
19787         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
19788         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
19789         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
19790         * modules/unicase/u32-tolower-tests (Files): Likewise.
19791         * modules/unicase/u32-totitle-tests (Files): Likewise.
19792         * modules/unicase/u32-toupper-tests (Files): Likewise.
19793         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
19794         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
19795         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
19796         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
19797         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
19798         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
19799         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
19800         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
19801         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
19802         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
19803         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
19804         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
19805         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
19806         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
19807         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
19808         * modules/unictype/bidicategory-name-tests (Files): Likewise.
19809         * modules/unictype/bidicategory-of-tests (Files): Likewise.
19810         * modules/unictype/bidicategory-test-tests (Files): Likewise.
19811         * modules/unictype/block-list-tests (Files): Likewise.
19812         * modules/unictype/block-of-tests (Files): Likewise.
19813         * modules/unictype/block-test-tests (Files): Likewise.
19814         * modules/unictype/category-C-tests (Files): Likewise.
19815         * modules/unictype/category-Cc-tests (Files): Likewise.
19816         * modules/unictype/category-Cf-tests (Files): Likewise.
19817         * modules/unictype/category-Cn-tests (Files): Likewise.
19818         * modules/unictype/category-Co-tests (Files): Likewise.
19819         * modules/unictype/category-Cs-tests (Files): Likewise.
19820         * modules/unictype/category-L-tests (Files): Likewise.
19821         * modules/unictype/category-Ll-tests (Files): Likewise.
19822         * modules/unictype/category-Lm-tests (Files): Likewise.
19823         * modules/unictype/category-Lo-tests (Files): Likewise.
19824         * modules/unictype/category-Lt-tests (Files): Likewise.
19825         * modules/unictype/category-Lu-tests (Files): Likewise.
19826         * modules/unictype/category-M-tests (Files): Likewise.
19827         * modules/unictype/category-Mc-tests (Files): Likewise.
19828         * modules/unictype/category-Me-tests (Files): Likewise.
19829         * modules/unictype/category-Mn-tests (Files): Likewise.
19830         * modules/unictype/category-N-tests (Files): Likewise.
19831         * modules/unictype/category-Nd-tests (Files): Likewise.
19832         * modules/unictype/category-Nl-tests (Files): Likewise.
19833         * modules/unictype/category-No-tests (Files): Likewise.
19834         * modules/unictype/category-P-tests (Files): Likewise.
19835         * modules/unictype/category-Pc-tests (Files): Likewise.
19836         * modules/unictype/category-Pd-tests (Files): Likewise.
19837         * modules/unictype/category-Pe-tests (Files): Likewise.
19838         * modules/unictype/category-Pf-tests (Files): Likewise.
19839         * modules/unictype/category-Pi-tests (Files): Likewise.
19840         * modules/unictype/category-Po-tests (Files): Likewise.
19841         * modules/unictype/category-Ps-tests (Files): Likewise.
19842         * modules/unictype/category-S-tests (Files): Likewise.
19843         * modules/unictype/category-Sc-tests (Files): Likewise.
19844         * modules/unictype/category-Sk-tests (Files): Likewise.
19845         * modules/unictype/category-Sm-tests (Files): Likewise.
19846         * modules/unictype/category-So-tests (Files): Likewise.
19847         * modules/unictype/category-Z-tests (Files): Likewise.
19848         * modules/unictype/category-Zl-tests (Files): Likewise.
19849         * modules/unictype/category-Zp-tests (Files): Likewise.
19850         * modules/unictype/category-Zs-tests (Files): Likewise.
19851         * modules/unictype/category-and-not-tests (Files): Likewise.
19852         * modules/unictype/category-and-tests (Files): Likewise.
19853         * modules/unictype/category-byname-tests (Files): Likewise.
19854         * modules/unictype/category-name-tests (Files): Likewise.
19855         * modules/unictype/category-none-tests (Files): Likewise.
19856         * modules/unictype/category-of-tests (Files): Likewise.
19857         * modules/unictype/category-or-tests (Files): Likewise.
19858         * modules/unictype/category-test-withtable-tests (Files): Likewise.
19859         * modules/unictype/combining-class-tests (Files): Likewise.
19860         * modules/unictype/ctype-alnum-tests (Files): Likewise.
19861         * modules/unictype/ctype-alpha-tests (Files): Likewise.
19862         * modules/unictype/ctype-blank-tests (Files): Likewise.
19863         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
19864         * modules/unictype/ctype-digit-tests (Files): Likewise.
19865         * modules/unictype/ctype-graph-tests (Files): Likewise.
19866         * modules/unictype/ctype-lower-tests (Files): Likewise.
19867         * modules/unictype/ctype-print-tests (Files): Likewise.
19868         * modules/unictype/ctype-punct-tests (Files): Likewise.
19869         * modules/unictype/ctype-space-tests (Files): Likewise.
19870         * modules/unictype/ctype-upper-tests (Files): Likewise.
19871         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
19872         * modules/unictype/decimal-digit-tests (Files): Likewise.
19873         * modules/unictype/digit-tests (Files): Likewise.
19874         * modules/unictype/mirror-tests (Files): Likewise.
19875         * modules/unictype/numeric-tests (Files): Likewise.
19876         * modules/unictype/property-alphabetic-tests (Files): Likewise.
19877         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
19878         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
19879         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
19880         Likewise.
19881         * modules/unictype/property-bidi-block-separator-tests (Files):
19882         Likewise.
19883         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
19884         Likewise.
19885         * modules/unictype/property-bidi-common-separator-tests (Files):
19886         Likewise.
19887         * modules/unictype/property-bidi-control-tests (Files): Likewise.
19888         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
19889         Likewise.
19890         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
19891         Likewise.
19892         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
19893         Likewise.
19894         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
19895         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
19896         Likewise.
19897         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
19898         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
19899         Likewise.
19900         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
19901         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
19902         * modules/unictype/property-bidi-segment-separator-tests (Files):
19903         Likewise.
19904         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
19905         * modules/unictype/property-byname-tests (Files): Likewise.
19906         * modules/unictype/property-combining-tests (Files): Likewise.
19907         * modules/unictype/property-composite-tests (Files): Likewise.
19908         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
19909         * modules/unictype/property-dash-tests (Files): Likewise.
19910         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
19911         * modules/unictype/property-default-ignorable-code-point-tests (Files):
19912         Likewise.
19913         * modules/unictype/property-deprecated-tests (Files): Likewise.
19914         * modules/unictype/property-diacritic-tests (Files): Likewise.
19915         * modules/unictype/property-extender-tests (Files): Likewise.
19916         * modules/unictype/property-format-control-tests (Files): Likewise.
19917         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
19918         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
19919         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
19920         * modules/unictype/property-hex-digit-tests (Files): Likewise.
19921         * modules/unictype/property-hyphen-tests (Files): Likewise.
19922         * modules/unictype/property-id-continue-tests (Files): Likewise.
19923         * modules/unictype/property-id-start-tests (Files): Likewise.
19924         * modules/unictype/property-ideographic-tests (Files): Likewise.
19925         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
19926         * modules/unictype/property-ids-trinary-operator-tests (Files):
19927         Likewise.
19928         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
19929         * modules/unictype/property-iso-control-tests (Files): Likewise.
19930         * modules/unictype/property-join-control-tests (Files): Likewise.
19931         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
19932         * modules/unictype/property-line-separator-tests (Files): Likewise.
19933         * modules/unictype/property-logical-order-exception-tests (Files):
19934         Likewise.
19935         * modules/unictype/property-lowercase-tests (Files): Likewise.
19936         * modules/unictype/property-math-tests (Files): Likewise.
19937         * modules/unictype/property-non-break-tests (Files): Likewise.
19938         * modules/unictype/property-not-a-character-tests (Files): Likewise.
19939         * modules/unictype/property-numeric-tests (Files): Likewise.
19940         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
19941         * modules/unictype/property-other-default-ignorable-code-point-tests
19942         (Files): Likewise.
19943         * modules/unictype/property-other-grapheme-extend-tests (Files):
19944         Likewise.
19945         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
19946         * modules/unictype/property-other-id-start-tests (Files): Likewise.
19947         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
19948         * modules/unictype/property-other-math-tests (Files): Likewise.
19949         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
19950         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
19951         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
19952         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
19953         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
19954         * modules/unictype/property-private-use-tests (Files): Likewise.
19955         * modules/unictype/property-punctuation-tests (Files): Likewise.
19956         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
19957         * modules/unictype/property-radical-tests (Files): Likewise.
19958         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
19959         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
19960         * modules/unictype/property-space-tests (Files): Likewise.
19961         * modules/unictype/property-terminal-punctuation-tests (Files):
19962         Likewise.
19963         * modules/unictype/property-test-tests (Files): Likewise.
19964         * modules/unictype/property-titlecase-tests (Files): Likewise.
19965         * modules/unictype/property-unassigned-code-value-tests (Files):
19966         Likewise.
19967         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
19968         * modules/unictype/property-uppercase-tests (Files): Likewise.
19969         * modules/unictype/property-variation-selector-tests (Files): Likewise.
19970         * modules/unictype/property-white-space-tests (Files): Likewise.
19971         * modules/unictype/property-xid-continue-tests (Files): Likewise.
19972         * modules/unictype/property-xid-start-tests (Files): Likewise.
19973         * modules/unictype/property-zero-width-tests (Files): Likewise.
19974         * modules/unictype/scripts-tests (Files): Likewise.
19975         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
19976         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
19977         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
19978         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
19979         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
19980         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
19981         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
19982         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
19983         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
19984         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
19985         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
19986         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
19987         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
19988         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
19989         * modules/uninorm/composition-tests (Files): Likewise.
19990         * modules/uninorm/decomposing-form-tests (Files): Likewise.
19991         * modules/uninorm/decomposition-tests (Files): Likewise.
19992         * modules/uninorm/filter-tests (Files): Likewise.
19993         * modules/uninorm/nfc-tests (Files): Likewise.
19994         * modules/uninorm/nfd-tests (Files): Likewise.
19995         * modules/uninorm/nfkc-tests (Files): Likewise.
19996         * modules/uninorm/nfkd-tests (Files): Likewise.
19997         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
19998         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
19999         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
20000         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
20001         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
20002         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
20003         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
20004         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
20005         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
20006         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
20007         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
20008         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
20009         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
20010         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
20011         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
20012         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
20013         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
20014         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
20015         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
20016         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
20017         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
20018         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
20019         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
20020         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
20021         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
20022         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
20023         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
20024         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
20025         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
20026         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
20027         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
20028         * modules/uniwidth/u8-width-tests (Files): Likewise.
20029         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
20030         * modules/uniwidth/u16-width-tests (Files): Likewise.
20031         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
20032         * modules/uniwidth/u32-width-tests (Files): Likewise.
20033         * modules/uniwidth/width-tests (Files): Likewise.
20034         * modules/unlink-tests (Files): Likewise.
20035         * modules/unsetenv-tests (Files): Likewise.
20036         * modules/usleep-tests (Files): Likewise.
20037         * modules/utimens-tests (Files): Likewise.
20038         * modules/utimensat-tests (Files): Likewise.
20039         * modules/vasnprintf-posix-tests (Files): Likewise.
20040         * modules/vasnprintf-tests (Files): Likewise.
20041         * modules/vasprintf-posix-tests (Files): Likewise.
20042         * modules/vasprintf-tests (Files): Likewise.
20043         * modules/vdprintf-posix-tests (Files): Likewise.
20044         * modules/vfprintf-posix-tests (Files): Likewise.
20045         * modules/vprintf-posix-tests (Files): Likewise.
20046         * modules/vsnprintf-posix-tests (Files): Likewise.
20047         * modules/vsnprintf-tests (Files): Likewise.
20048         * modules/vsprintf-posix-tests (Files): Likewise.
20049         * modules/wcrtomb-tests (Files): Likewise.
20050         * modules/wcsnrtombs-tests (Files): Likewise.
20051         * modules/wcsrtombs-tests (Files): Likewise.
20052         * modules/wctype-tests (Files): Likewise.
20053         * modules/wcwidth-tests (Files): Likewise.
20054         * modules/xmemdup0-tests (Files): Likewise.
20055         * modules/xprintf-posix-tests (Files): Likewise.
20056         * modules/xvasprintf-tests (Files): Likewise.
20057
20058 2009-12-24  Eric Blake  <ebb9@byu.net>
20059
20060         test-nanosleep: fix typo
20061         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
20062         patch.
20063         Reported by Bruno Haible.
20064
20065 2009-12-24  Bruno Haible  <bruno@clisp.org>
20066
20067         Reduce namespace pollution on glibc systems.
20068         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
20069         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
20070         systems.
20071         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
20072         <getopt.h> on glibc systems.
20073         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
20074         systems.
20075         * lib/fcntl.c: Include <unistd.h> here instead.
20076
20077 2009-12-24  Bruno Haible  <bruno@clisp.org>
20078
20079         * lib/stdlib.in.h (includes): Fix typo in today's commit.
20080
20081 2009-12-24  Eric Blake  <ebb9@byu.net>
20082
20083         tests: add signature checks
20084         * tests/signature.h (SIGNATURE_CHECK): New file.
20085         * modules/atexit-tests (Files): Use it.
20086         * modules/btowc-tests (Files): Likewise.
20087         * modules/canonicalize-lgpl-tests (Files): Likewise.
20088         * modules/ceilf-tests (Files): Likewise.
20089         * modules/ceill-tests (Files): Likewise.
20090         * modules/chown-tests (Files): Likewise.
20091         * modules/dprintf-posix-tests (Files): Likewise.
20092         * modules/dup2-tests (Files): Likewise.
20093         * modules/dup3-tests (Files): Likewise.
20094         * modules/duplocale-tests (Files): Likewise.
20095         * modules/fchdir-tests (Files): Likewise.
20096         * modules/fcntl-tests (Files): Likewise.
20097         * modules/fdopendir-tests (Files): Likewise.
20098         * modules/fflush-tests (Files): Likewise.
20099         * modules/flock-tests (Files): Likewise.
20100         * modules/floorf-tests (Files): Likewise.
20101         * modules/floorl-tests (Files): Likewise.
20102         * modules/fnmatch-tests (Files): Likewise.
20103         * modules/fopen-tests (Files): Likewise.
20104         * modules/fprintf-posix-tests (Files): Likewise.
20105         * modules/freopen-tests (Files): Likewise.
20106         * modules/frexp-nolibm-tests (Files): Likewise.
20107         * modules/frexp-tests (Files): Likewise.
20108         * modules/frexpl-nolibm-tests (Files): Likewise.
20109         * modules/frexpl-tests (Files): Likewise.
20110         * modules/fseek-tests (Files): Likewise.
20111         * modules/fseeko-tests (Files): Likewise.
20112         * modules/fsync-tests (Files): Likewise.
20113         * modules/ftell-tests (Files): Likewise.
20114         * modules/ftello-tests (Files): Likewise.
20115         * modules/futimens-tests (Files): Likewise.
20116         * modules/getaddrinfo-tests (Files): Likewise.
20117         * modules/getcwd-tests (Files): Likewise.
20118         * modules/getdelim-tests (Files): Likewise.
20119         * modules/getdtablesize-tests (Files): Likewise.
20120         * modules/getgroups-tests (Files): Likewise.
20121         * modules/gethostname-tests (Files): Likewise.
20122         * modules/getline-tests (Files): Likewise.
20123         * modules/getopt-posix-tests (Files): Likewise.
20124         * modules/gettimeofday-tests (Files): Likewise.
20125         * modules/glob-tests (Files): Likewise.
20126         * modules/iconv-tests (Files): Likewise.
20127         * modules/inet_ntop-tests (Files): Likewise.
20128         * modules/inet_pton-tests (Files): Likewise.
20129         * modules/isblank-tests (Files): Likewise.
20130         * modules/lchown-tests (Files): Likewise.
20131         * modules/ldexpl-tests (Files): Likewise.
20132         * modules/link-tests (Files): Likewise.
20133         * modules/linkat-tests (Files): Likewise.
20134         * modules/lseek-tests (Files): Likewise.
20135         * modules/lstat-tests (Files): Likewise.
20136         * modules/mbrtowc-tests (Files): Likewise.
20137         * modules/mbsinit-tests (Files): Likewise.
20138         * modules/mbsnrtowcs-tests (Files): Likewise.
20139         * modules/mbsrtowcs-tests (Files): Likewise.
20140         * modules/memchr-tests (Files): Likewise.
20141         * modules/memcmp-tests (Files): Likewise.
20142         * modules/memmem-tests (Files): Likewise.
20143         * modules/memrchr-tests (Files): Likewise.
20144         * modules/mkdir-tests (Files): Likewise.
20145         * modules/mkfifo-tests (Files): Likewise.
20146         * modules/mkfifoat-tests (Files): Likewise.
20147         * modules/mknod-tests (Files): Likewise.
20148         * modules/nanosleep-tests (Files): Likewise.
20149         * modules/nl_langinfo-tests (Files): Likewise.
20150         * modules/obstack-printf-tests (Files): Likewise.
20151         * modules/open-tests (Files): Likewise.
20152         * modules/openat-tests (Files): Likewise.
20153         * modules/perror-tests (Files): Likewise.
20154         * modules/pipe2-tests (Files): Likewise.
20155         * modules/poll-tests (Files): Likewise.
20156         * modules/popen-tests (Files): Likewise.
20157         * modules/posix_spawn-tests (Files): Likewise.
20158         * modules/posix_spawnp-tests (Files): Likewise.
20159         * modules/pread-tests (Files): Likewise.
20160         * modules/printf-posix-tests (Files): Likewise.
20161         * modules/pty-tests (Files): Likewise.
20162         * modules/random_r-tests (Files): Likewise.
20163         * modules/rawmemchr-tests (Files): Likewise.
20164         * modules/readlink-tests (Files): Likewise.
20165         * modules/remove-tests (Files): Likewise.
20166         * modules/rename-tests (Files): Likewise.
20167         * modules/renameat-tests (Files): Likewise.
20168         * modules/rmdir-tests (Files): Likewise.
20169         * modules/round-tests (Files): Likewise.
20170         * modules/roundf-tests (Files): Likewise.
20171         * modules/roundl-tests (Files): Likewise.
20172         * modules/select-tests (Files): Likewise.
20173         * modules/setenv-tests (Files): Likewise.
20174         * modules/sigaction-tests (Files): Likewise.
20175         * modules/sleep-tests (Files): Likewise.
20176         * modules/snprintf-posix-tests (Files): Likewise.
20177         * modules/snprintf-tests (Files): Likewise.
20178         * modules/sprintf-posix-tests (Files): Likewise.
20179         * modules/stat-tests (Files): Likewise.
20180         * modules/strcasestr-tests (Files): Likewise.
20181         * modules/strchrnul-tests (Files): Likewise.
20182         * modules/strerror-tests (Files): Likewise.
20183         * modules/strsignal-tests (Files): Likewise.
20184         * modules/strstr-tests (Files): Likewise.
20185         * modules/strtod-tests (Files): Likewise.
20186         * modules/strverscmp-tests (Files): Likewise.
20187         * modules/symlink-tests (Files): Likewise.
20188         * modules/symlinkat-tests (Files): Likewise.
20189         * modules/times-tests (Files): Likewise.
20190         * modules/trunc-tests (Files): Likewise.
20191         * modules/truncf-tests (Files): Likewise.
20192         * modules/truncl-tests (Files): Likewise.
20193         * modules/tsearch-tests (Files): Likewise.
20194         * modules/uname-tests (Files): Likewise.
20195         * modules/unlink-tests (Files): Likewise.
20196         * modules/unsetenv-tests (Files): Likewise.
20197         * modules/usleep-tests (Files): Likewise.
20198         * modules/utimensat-tests (Files): Likewise.
20199         * modules/vasprintf-tests (Files): Likewise.
20200         * modules/vdprintf-posix-tests (Files): Likewise.
20201         * modules/vfprintf-posix-tests (Files): Likewise.
20202         * modules/vprintf-posix-tests (Files): Likewise.
20203         * modules/vsnprintf-posix-tests (Files): Likewise.
20204         * modules/vsnprintf-tests (Files): Likewise.
20205         * modules/vsprintf-posix-tests (Files): Likewise.
20206         * modules/wcrtomb-tests (Files): Likewise.
20207         * modules/wcsnrtombs-tests (Files): Likewise.
20208         * modules/wcsrtombs-tests (Files): Likewise.
20209         * modules/wcwidth-tests (Files): Likewise.
20210         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
20211         * tests/test-isinf.c (isinf): Likewise.
20212         * tests/test-isnan.c (isnan): Likewise.
20213         * tests/test-signbit.c (signbit): Likewise.
20214         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
20215         declaration, either as macro or with correct signature.
20216         (select): Ensure function under test is declared with correct
20217         signature in correct header.
20218         * tests/test-atexit.c (atexit): Likewise.
20219         * tests/test-btowc.c (btowc): Likewise.
20220         * tests/test-canonicalize-lgpl.c (realpath)
20221         (canonicalize_file_name): Likewise.
20222         * tests/test-ceilf1.c (ceilf): Likewise.
20223         * tests/test-ceill.c (ceill): Likewise.
20224         * tests/test-chown.c (chown): Likewise.
20225         * tests/test-dprintf-posix.c (dprintf): Likewise.
20226         * tests/test-dup2.c (dup2): Likewise.
20227         * tests/test-dup3.c (dup3): Likewise.
20228         * tests/test-duplocale.c (duplocale): Likewise.
20229         * tests/test-fchdir.c (fchdir): Likewise.
20230         * tests/test-fchownat.c (fchownat): Likewise.
20231         * tests/test-fcntl.c (fcntl): Likewise.
20232         * tests/test-fdopendir.c (fdopendir): Likewise.
20233         * tests/test-fflush.c (fflush): Likewise.
20234         * tests/test-flock.c (flock): Likewise.
20235         * tests/test-floorf1.c (floorf): Likewise.
20236         * tests/test-floorl.c (floorl): Likewise.
20237         * tests/test-fnmatch.c (fnmatch): Likewise.
20238         * tests/test-fopen.c (fopen): Likewise.
20239         * tests/test-fprintf-posix.c (fprintf): Likewise.
20240         * tests/test-freopen.c (freopen): Likewise.
20241         * tests/test-frexp.c (frexp): Likewise.
20242         * tests/test-frexpl.c (frexpl): Likewise.
20243         * tests/test-fseek.c (fseek): Likewise.
20244         * tests/test-fseeko.c (fseeko): Likewise.
20245         * tests/test-fstatat.c (fstatat): Likewise.
20246         * tests/test-fsync.c (fsync): Likewise.
20247         * tests/test-ftell.c (ftell): Likewise.
20248         * tests/test-ftello.c (ftello): Likewise.
20249         * tests/test-futimens.c (futimens): Likewise.
20250         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
20251         (gai_strerror): Likewise.
20252         * tests/test-getcwd.c (getcwd): Likewise.
20253         * tests/test-getdelim.c (getdelim): Likewise.
20254         * tests/test-getdtablesize.c (getdtablesize): Likewise.
20255         * tests/test-getgroups.c (getgroups): Likewise.
20256         * tests/test-gethostname.c (gethostname): Likewise.
20257         * tests/test-getline.c (getline): Likewise.
20258         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
20259         Likewise.
20260         * tests/test-gettimeofday.c (gettimeofday): Likewise.
20261         * tests/test-glob.c (glob, globfree): Likewise.
20262         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
20263         * tests/test-inet_ntop.c (inet_ntop): Likewise.
20264         * tests/test-inet_pton.c (inet_pton): Likewise.
20265         * tests/test-isblank.c (isblank): Likewise.
20266         * tests/test-lchown.c (lchown): Likewise.
20267         * tests/test-ldexpl.c (ldexpl): Likewise.
20268         * tests/test-link.c (link): Likewise.
20269         * tests/test-linkat.c (linkat): Likewise.
20270         * tests/test-lseek.c (lseek): Likewise.
20271         * tests/test-lstat.c (lstat): Likewise.
20272         * tests/test-mbrtowc.c (mbrtowc): Likewise.
20273         * tests/test-mbsinit.c (mbsinit): Likewise.
20274         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
20275         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
20276         * tests/test-memchr.c (memchr): Likewise.
20277         * tests/test-memcmp.c (memcmp): Likewise.
20278         * tests/test-memmem.c (memmem): Likewise.
20279         * tests/test-memrchr.c (memrchr): Likewise.
20280         * tests/test-mkdir.c (mkdir): Likewise.
20281         * tests/test-mkdirat.c (mkdirat): Likewise.
20282         * tests/test-mkfifo.c (mkfifo): Likewise.
20283         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
20284         * tests/test-mknod.c (mknod): Likewise.
20285         * tests/test-nanosleep.c (nanosleep): Likewise.
20286         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
20287         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
20288         Likewise.
20289         * tests/test-open.c (open): Likewise.
20290         * tests/test-openat.c (openat): Likewise.
20291         * tests/test-perror.c (perror): Likewise.
20292         * tests/test-pipe2.c (pipe2): Likewise.
20293         * tests/test-poll.c (poll): Likewise.
20294         * tests/test-popen.c (popen, pclose): Likewise.
20295         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
20296         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
20297         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
20298         (posix_spawn_file_actions_destroy)
20299         (posix_spawn_file_actions_addclose)
20300         (posix_spawn_file_actions_addopen)
20301         (posix_spawn_file_actions_adddup2): Likewise.
20302         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
20303         * tests/test-pread.c (pread): Likewise.
20304         * tests/test-printf-posix.c (printf): Likewise.
20305         * tests/test-pty.c (openpty, forkpty): Likewise.
20306         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
20307         (random_r): Likewise.
20308         * tests/test-rawmemchr.c (rawmemchr): Likewise.
20309         * tests/test-readlink.c (readlink): Likewise.
20310         * tests/test-remove.c (remove): Likewise.
20311         * tests/test-rename.c (rename): Likewise.
20312         * tests/test-renameat.c (renameat): Likewise.
20313         * tests/test-rmdir.c (rmdir): Likewise.
20314         * tests/test-round1.c (round): Likewise.
20315         * tests/test-roundf1.c (roundf): Likewise.
20316         * tests/test-roundl.c (roundl): Likewise.
20317         * tests/test-setenv.c (setenv): Likewise.
20318         * tests/test-sigaction.c (sigaction): Likewise.
20319         * tests/test-sleep.c (sleep): Likewise.
20320         * tests/test-snprintf.c (snprintf): Likewise.
20321         * tests/test-sprintf-posix.c (sprintf): Likewise.
20322         * tests/test-stat.c (stat): Likewise.
20323         * tests/test-stpncpy.c (stpncpy): Likewise.
20324         * tests/test-strcasestr.c (strcasestr): Likewise.
20325         * tests/test-strchrnul.c (strchrnul): Likewise.
20326         * tests/test-strerror.c (strerror): Likewise.
20327         * tests/test-strsignal.c (strsignal): Likewise.
20328         * tests/test-strstr.c (strstr): Likewise.
20329         * tests/test-strtod.c (strtod): Likewise.
20330         * tests/test-strverscmp.c (strverscmp): Likewise.
20331         * tests/test-symlink.c (symlink): Likewise.
20332         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
20333         * tests/test-times.c (times): Likewise.
20334         * tests/test-trunc1.c (trunc): Likewise.
20335         * tests/test-truncf1.c (truncf): Likewise.
20336         * tests/test-truncl.c (truncl): Likewise.
20337         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
20338         Likewise.
20339         * tests/test-uname.c (uname): Likewise.
20340         * tests/test-unlink.c (unlink): Likewise.
20341         * tests/test-unlinkat.c (unlinkat): Likewise.
20342         * tests/test-unsetenv.c (unsetenv): Likewise.
20343         * tests/test-usleep.c (usleep): Likewise.
20344         * tests/test-utimensat.c (utimensat): Likewise.
20345         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
20346         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
20347         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
20348         * tests/test-vprintf-posix.c (vprintf): Likewise.
20349         * tests/test-vsnprintf.c (vsnprintf): Likewise.
20350         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
20351         * tests/test-wcrtomb.c (wcrtomb): Likewise.
20352         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
20353         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
20354         * tests/test-wcwidth.c (wcwidth): Likewise.
20355
20356         build: pull in conditional headers during GNULIB_POSIXCHECK
20357         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
20358         definitions from any conditionally-included headers.
20359         * lib/stdlib.in.h (includes): Likewise.
20360         * lib/unistd.in.h (includes): Likewise.
20361
20362 2009-12-24  Bruno Haible  <bruno@clisp.org>
20363
20364         * tests/test-argv-iter.c: Include header file being tested immediately
20365         after config.h.
20366         * tests/test-base64.c: Likewise.
20367         * tests/test-flock.c: Likewise.
20368         * tests/test-fsync.c: Likewise.
20369         * tests/test-getdate.c: Likewise.
20370         * tests/test-getndelim2.c: Likewise.
20371         * tests/test-isfinite.c: Likewise.
20372         * tests/test-isinf.c: Likewise.
20373         * tests/test-strerror.c: Likewise.
20374         * tests/test-strsignal.c: Likewise.
20375
20376 2009-12-23  Eric Blake  <ebb9@byu.net>
20377
20378         unistd: work around cygwin bug
20379         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
20380         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
20381         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
20382
20383 2009-12-23  Bruno Haible  <bruno@clisp.org>
20384
20385         localename: More tests.
20386         * tests/test-localename.c (SIZEOF): New macro.
20387         (categories): New variable.
20388         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
20389         test_locale_name_default): Add test w.r.t. thread locale.
20390         (test_locale_name_thread): New function.
20391         (main): Invoke it.
20392
20393         localename: Make aware of thread locale.
20394         * lib/localename.h (gl_locale_name_thread): New declaration.
20395         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
20396         behaviour with respect to thread locale.
20397         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
20398         <langinfo.h>, glthread/lock.h.
20399         (SIZE_BITS): New macro.
20400         (string_hash): New function.
20401         (struct hash_node): New type.
20402         (HASH_TABLE_SIZE): New macro.
20403         (struniq_hash_table, struniq_lock): New variables.
20404         (struniq): New function.
20405         (gl_locale_name_thread): New function.
20406         (gl_locale_name): Invoke it.
20407         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
20408         * modules/localename (Depends-on): Add lock.
20409         Reported by Mike Gran <spk121@yahoo.com>.
20410
20411 2009-12-23  Eric Blake  <ebb9@byu.net>
20412
20413         va-args: new module
20414         * modules/va-args: New file.
20415         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
20416         * MODULES.html.sh (Core language properties): Mention it.
20417
20418         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
20419         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
20420         named alias for __attribute__((__unused__)).
20421         * lib/chown.c: Update client.
20422         * lib/fchmodat.c: Likewise.
20423         * lib/fts.c: Likewise.
20424         * lib/getdate.y: Likewise.
20425         * lib/getgroups.c: Likewise.
20426         * lib/getopt.c: Likewise.
20427         * lib/getugroups.c: Likewise.
20428         * lib/mkdir.c: Likewise.
20429         * lib/mkfifo.c: Likewise.
20430         * lib/mkfifoat.c: Likewise.
20431         * lib/mknod.c: Likewise.
20432         * lib/mknodat.c: Likewise.
20433         * lib/readlink.c: Likewise.
20434         * lib/se-context.in.h: Likewise.
20435         * lib/se-selinux.in.h: Likewise.
20436         * lib/sockets.c: Likewise.
20437         * lib/symlink.c: Likewise.
20438         * lib/symlinkat.c: Likewise.
20439         * lib/unicodeio.c: Likewise.
20440         * lib/unistr.h: Likewise.
20441         * tests/test-areadlink.c: Likewise.
20442         * tests/test-areadlinkat.c: Likewise.
20443         * tests/test-filenamecat.c: Likewise.
20444         * tests/test-fseeko.c: Likewise.
20445         * tests/test-ftello.c: Likewise.
20446         * tests/test-getdate.c: Likewise.
20447         * tests/test-getgroups.c: Likewise.
20448         * tests/test-gethostname.c: Likewise.
20449         * tests/test-quotearg.c: Likewise.
20450         * tests/test-version-etc.c: Likewise.
20451         * tests/test-xalloc-die.c: Likewise.
20452         * tests/test-xfprintf-posix.c: Likewise.
20453         * tests/test-xprintf-posix.c: Likewise.
20454         * tests/test-xvasprintf.c: Likewise.
20455
20456         tests: avoid compiler warnings
20457         * tests/test-fcntl.c (main): Delete unused parameters.
20458         * tests/test-freopen-safer.c (main): Likewise.
20459         * tests/test-xalloc-die.c (main): Mark unused parameters.
20460         * tests/test-fseeko.c (main): Likewise.
20461         * tests/test-ftello.c (main): Likewise.
20462         * tests/test-nanosleep.c (main): Avoid declaration warning.
20463         * tests/test-sleep.c (main): Likewise.
20464         * tests/test-unsetenv.c (main): Silence warning about string
20465         literal.
20466         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
20467
20468 2009-12-23  Bruno Haible  <bruno@clisp.org>
20469
20470         * tests/test-localename.c (test_locale_name): New function, extracted
20471         from main. Also test mixed situations.
20472         (test_locale_name_posix, test_locale_name_environ,
20473         test_locale_name_default): New functions.
20474         (main): Invoke them all.
20475         * modules/localename-tests (configure.ac): Test for newlocale.
20476
20477 2009-12-23  Bruno Haible  <bruno@clisp.org>
20478
20479         unistd: Ensure getcwd gets declared before being overridden.
20480         * lib/unistd.in.h: Conditionally include <io.h>.
20481
20482 2009-12-22  Bruno Haible  <bruno@clisp.org>
20483
20484         wchar: Diagnose broken combination of glibc and gcc versions and flags.
20485         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
20486         (gl_WCHAR_H): Invoke it.
20487         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
20488         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
20489         Reported by Karl Berry <karl@freefriends.org>.
20490
20491 2009-12-22  Eric Blake  <ebb9@byu.net>
20492
20493         math, unistd: avoid redundant includes
20494         * lib/math.in.h (isnan): No need to re-include <math.h>.
20495         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
20496
20497         getsubopt: work around cygwin bug
20498         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
20499         avoid conflicting with system getsubopt.
20500         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
20501         bug.
20502
20503         getopt: synchronize from glibc
20504         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
20505         parameter order.  Adjust all callers.
20506         (_getopt_internal_r, main): Adjust quoting in error messages.
20507         Drop considerations for outdated POSIX 1003.2 error message.
20508         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
20509         callers.
20510         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
20511
20512         test-getopt: test stderr behavior
20513         * modules/getopt-posix-tests (Depends-on): Add dup2.
20514         * tests/test-getopt.c (ASSERT): Avoid stderr.
20515         (main): Move stderr to a temporary file.
20516         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
20517         Instead, add parameter to inform caller if output occurred.
20518         (test_getopt): Adjust all existing tests to expect silence, and
20519         add new tests of leading ":".
20520         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
20521         glibc shortcomings with leading "-:" or "+:" in optstring.
20522         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
20523         Likewise.
20524         * doc/posix-functions/getopt.texi (getopt): Likewise.
20525
20526         test-getopt: enhance test
20527         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
20528         supports optind=0.
20529         * tests/test-getopt.c (OPTIND_MIN): Move...
20530         * tests/test-getopt.h (OPTIND_MIN): ...here.
20531         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
20532         Require that optind=0 works, since modern BSD supports it in
20533         addition to optreset, and since coreutils expects it.
20534         (test_getopt_long_only): New test.
20535         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
20536         glibc shortcomings with 'W;', and enforcement of optind=0.
20537         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
20538         Likewise.
20539
20540 2009-12-21  Bruno Haible  <bruno@clisp.org>
20541
20542         localename: Improvements for MacOS X and Cygwin.
20543         * lib/localename.h (gl_locale_name_environ): New declaration.
20544         * lib/localename.c (gl_locale_name_environ): New function, extracted from
20545         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
20546         (gl_locale_name_posix): Invoke it.
20547         (gl_locale_name_default): Add comments. Use Windows native API also on
20548         Cygwin.
20549
20550 2009-12-21  Bruno Haible  <bruno@clisp.org>
20551
20552         Update list of Win32 locale ids.
20553         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
20554         (LANG_SAMI): Renamed from LANG_SAAMI.
20555         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
20556         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
20557         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
20558         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
20559         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
20560         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
20561         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
20562         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
20563         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
20564         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
20565         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
20566         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
20567         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
20568         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
20569         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
20570         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
20571         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
20572         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
20573         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
20574         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
20575         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
20576         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
20577         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
20578         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
20579         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
20580         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
20581         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
20582         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
20583         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
20584         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
20585         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
20586         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
20587         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
20588         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
20589         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
20590         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
20591         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
20592         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
20593         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
20594         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
20595         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
20596         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
20597         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
20598         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
20599         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
20600         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
20601         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
20602         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
20603         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
20604         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
20605         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
20606         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
20607         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
20608         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
20609         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
20610         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
20611         Add more languages and countries for Sami, Sorbian. Add more countries
20612         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
20613         for Pashto. Change country for Syriac, Tswana.
20614
20615 2009-12-21  Eric Blake  <ebb9@byu.net>
20616
20617         test-utimens: avoid spurious failure
20618         * tests/test-chown.h (nap): Factor...
20619         * tests/nap.h: ...into new file.
20620         * tests/test-lchown.h (nap): Avoid duplication.
20621         * tests/test-utimens-common.h (nap): Use shared implementation,
20622         necessary on file systems with 1-second resolution.
20623         * modules/chown-tests (Files): Include new file.
20624         * modules/fdutimensat-tests (Files): Likewise.
20625         * modules/futimens-tests (Files): Likewise.
20626         * modules/lchown-tests (Files): Likewise.
20627         * modules/openat-tests (Files): Likewise.
20628         * modules/utimens-tests (Files): Likewise.
20629         * modules/utimensat-tests (Files): Likewise.
20630
20631 2009-12-19  Eric Blake  <ebb9@byu.net>
20632
20633         futimens, utimensat: work around Linux bug
20634         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
20635         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
20636         * lib/utimensat.c (rpl_utimensat): Work around it.
20637         * lib/futimens.c (rpl_futimens): Adjust comment.
20638
20639         utimens: work around Linux ctime bug
20640         * lib/utimens.c (detect_ctime_bug): New helper function.
20641         (update_timespec): Differentiate between workaround needed for
20642         this bug vs. what is needed for systems that lack utimensat.
20643         (fdutimens, lutimens): Work around bug.
20644
20645         utimens: check for ctime update
20646         * tests/test-utimens-common.h (check_ctime): Define.
20647         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
20648         * tests/test-futimens.h (test_futimens): Likewise.
20649         * tests/test-lutimens.h (test_lutimens): Likewise.
20650         * doc/posix-functions/futimens.texi (futimens): Document the bug.
20651         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
20652
20653 2009-12-19  Bruno Haible  <bruno@clisp.org>
20654
20655         dprintf-posix: Check against memory leak fixed on 2009-12-15.
20656         * tests/test-dprintf-posix2.sh: New file.
20657         * tests/test-dprintf-posix2.c: New file.
20658         * modules/dprintf-posix-tests (Files): Add them.
20659         (configure.ac): Check for getrlimit and setrlimit.
20660         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
20661
20662 2009-12-19  Bruno Haible  <bruno@clisp.org>
20663
20664         fprintf-posix: Check against memory leak fixed on 2009-12-15.
20665         * tests/test-fprintf-posix3.sh: New file.
20666         * tests/test-fprintf-posix3.c: New file.
20667         * modules/fprintf-posix-tests (Files): Add them.
20668         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
20669
20670 2009-12-19  Eric Blake  <ebb9@byu.net>
20671
20672         dirfd: fix prototype
20673         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
20674         * lib/dirfd.c (dirfd): Likewise.
20675
20676         canonicalize: reduce memory usage
20677         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
20678         allocation to size.
20679         Reported by Solar Designer <solar@openwall.com>.
20680
20681 2009-12-19  Bruno Haible  <bruno@clisp.org>
20682
20683         New module attribute 'Applicability'.
20684         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
20685         * gnulib-tool: New option --extract-applicability.
20686         (func_usage): Document it.
20687         (sed_extract_prog): Recognize it.
20688         (func_get_applicability): New function.
20689         (func_import): Generalize handling of 'link-warning' module.
20690         * modules/link-warning (Applicability): New section.
20691         * modules/arg-nonnull (Applicability): New section.
20692         Repoted by Simon Josefsson <simon@josefsson.org>.
20693
20694 2009-12-19  Bruno Haible  <bruno@clisp.org>
20695
20696         fflush: tweak
20697         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
20698         * lib/fseeko.c (rpl_fseeko): Likewise.
20699
20700 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
20701
20702         * lib/gl_list.h: Fix typo in comment.
20703
20704 2009-12-16  Eric Blake  <ebb9@byu.net>
20705
20706         fcntl: use to simplify other modules
20707         * modules/cloexec (Depends-on): Add fcntl.
20708         * modules/fchdir (Depends-on): Likewise.
20709         * modules/fd-safer-flag (Depends-on): Likewise.
20710         * modules/unistd-safer (Depends-on): Likewise.
20711         * modules/dup3 (configure.ac): Set module indicator.
20712         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
20713         missing.
20714         * lib/fchdir.c (_gl_register_dup): Fix comment.
20715         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
20716         * lib/dup-safer.c (dup_safer): Likewise.
20717         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
20718         * lib/dup3.c (dup3): Likewise.
20719         * tests/test-fchdir.c (main): Enhance test.
20720         Fixes a dup_cloexec bug reported by Ondřej Vašík.
20721
20722         fcntl: port portions of fcntl to mingw
20723         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
20724         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
20725         replacement for mingw.
20726         * modules/fcntl (Description): Update.
20727         (Depends-on): Add dup2.
20728         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
20729         * modules/fcntl-h (Makefile.am): Substitute it.
20730         * lib/fcntl.in.h (fcntl): Update declaration.
20731         (F_DUPFD, F_GETFD): New macros, when needed.
20732         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
20733         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
20734         * tests/test-fcntl.c (check_flags, main): Enhance test for items
20735         we now guarantee.
20736
20737         fcntl: work around cygwin bug in F_DUPFD
20738         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
20739         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
20740         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
20741         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
20742         * doc/posix-functions/fcntl.texi (fcntl): Document it.
20743
20744         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
20745         * modules/fcntl (Files): List new files.
20746         (configure.ac): Run a test.
20747         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
20748         * lib/fcntl.c (rpl_fcntl): Likewise.
20749         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
20750         (gl_FCNTL_H): Always replace fcntl.h.
20751         * modules/fcntl-h (Makefile.am): Substitute witnesses.
20752         * lib/fcntl.in.h (fcntl): Declare replacement.
20753         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
20754         needed, plus a witness.
20755         * doc/posix-functions/fcntl.texi (fcntl): Document this.
20756         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
20757         * tests/test-fcntl.c: New file.
20758         * modules/fcntl-tests: Likewise.
20759
20760         binary-io: avoid potential compilation warning
20761         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
20762         directives.
20763
20764         fflush: avoid compilation error on NetBSD
20765         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
20766         between off_t and fpos_t, since the latter is sometimes a struct.
20767         * lib/fseeko.c (rpl_fseeko): Likewise.
20768         Reported by Alexander Nasonov <alnsn@yandex.ru>.
20769
20770 2009-12-15  Eric Blake  <ebb9@byu.net>
20771
20772         fcntl-h, stdio, sys_ioctl: fix declarations
20773         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
20774         function must not take arguments.
20775         * lib/sys_ioctl.in.h (ioctl): Likewise.
20776         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
20777         (open): Add a link warning.
20778
20779 2009-12-15  Jim Meyering  <meyering@redhat.com>
20780
20781         areadlink, areadlink-with-size: relax license to LGPLv2+
20782         * modules/areadlink (License): Relax to LGPLv2+.
20783         * modules/areadlink-with-size (License): Likewise.
20784
20785 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
20786             Bruno Haible  <bruno@clisp.org>
20787
20788         *printf: Fix memory leak.
20789         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
20790         * lib/vfprintf.c (vfprintf): Likewise.
20791         * lib/dprintf.c (dprintf): Likewise.
20792         * lib/vdprintf.c (vdprintf): Likewise.
20793
20794 2009-12-14  Eric Blake  <ebb9@byu.net>
20795
20796         accept4: adjust module dependencies
20797         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
20798
20799         utimens: one more try at avoiding compiler warning
20800         * lib/utimens.c (lutimens): Lower scope of result.
20801
20802 2009-12-13  Bruno Haible  <bruno@clisp.org>
20803
20804         Move the malloc checking from module 'list' to new module 'xlist'.
20805         * modules/xlist: New file.
20806         * lib/gl_xlist.h: New file.
20807         * lib/gl_xlist.c: New file.
20808         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
20809         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
20810         gl_list_add_last, gl_list_add_before, gl_list_add_after,
20811         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
20812         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
20813         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
20814         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
20815         gl_sortedlist_nx_add): New declarations.
20816         (struct gl_list_implementation): Rename and change methods accordingly.
20817         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
20818         (gl_list_nx_create): Renamed from gl_list_create.
20819         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
20820         (gl_list_nx_set_at): Renamed from gl_list_set_at.
20821         (gl_list_nx_add_first): Renamed from gl_list_add_first.
20822         (gl_list_nx_add_last): Renamed from gl_list_add_last.
20823         (gl_list_nx_add_before): Renamed from gl_list_add_before.
20824         (gl_list_nx_add_after): Renamed from gl_list_add_after.
20825         (gl_list_nx_add_at): Renamed from gl_list_add_at.
20826         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
20827         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
20828         gl_list_create_empty.
20829         (gl_list_nx_create): Renamed from gl_list_create.
20830         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
20831         (gl_list_nx_set_at): Renamed from gl_list_set_at.
20832         (gl_list_nx_add_first): Renamed from gl_list_add_first.
20833         (gl_list_nx_add_last): Renamed from gl_list_add_last.
20834         (gl_list_nx_add_before): Renamed from gl_list_add_before.
20835         (gl_list_nx_add_after): Renamed from gl_list_add_after.
20836         (gl_list_nx_add_at): Renamed from gl_list_add_at.
20837         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
20838         * lib/gl_array_list.c: Don't include xalloc.h.
20839         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
20840         NULL upon out-of-memory.
20841         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
20842         out-of-memory.
20843         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
20844         Change return type to 'int'.
20845         (gl_array_nx_set_at): Renamed from gl_array_set_at.
20846         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
20847         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
20848         upon out-of-memory.
20849         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
20850         upon out-of-memory.
20851         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
20852         upon out-of-memory.
20853         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
20854         upon out-of-memory.
20855         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
20856         out-of-memory.
20857         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
20858         Update.
20859         (gl_array_list_implementation): Update.
20860         * lib/gl_carray_list.c: Don't include xalloc.h.
20861         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
20862         Return NULL upon out-of-memory.
20863         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
20864         out-of-memory.
20865         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
20866         Change return type to 'int'.
20867         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
20868         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
20869         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
20870         upon out-of-memory.
20871         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
20872         upon out-of-memory.
20873         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
20874         out-of-memory.
20875         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
20876         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
20877         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
20878         Update.
20879         (gl_carray_list_implementation): Update.
20880         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
20881         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
20882         gl_linked_create_empty. Return NULL upon out-of-memory.
20883         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
20884         out-of-memory.
20885         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
20886         Change return type to 'int'. Return -1 upon out-of-memory.
20887         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
20888         out-of-memory.
20889         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
20890         upon out-of-memory.
20891         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
20892         upon out-of-memory.
20893         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
20894         NULL upon out-of-memory.
20895         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
20896         upon out-of-memory.
20897         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
20898         out-of-memory.
20899         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
20900         Update.
20901         * lib/gl_linked_list.c: Don't include xalloc.h.
20902         (gl_linked_list_implementation): Update.
20903         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
20904         (add_to_bucket): Change return type to 'int'.
20905         (gl_linkedhash_list_implementation): Update.
20906         * lib/gl_anytree_list1.h (free_subtree): New function.
20907         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
20908         gl_tree_create_empty. Return NULL upon out-of-memory.
20909         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
20910         Change return type to 'int'. Return -1 upon out-of-memory.
20911         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
20912         out-of-memory.
20913         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
20914         (gl_tree_remove_node): New function, moved here from
20915         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
20916         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
20917         Update.
20918         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
20919         malloc, not xmalloc. Return NULL upon out-of-memory.
20920         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
20921         out-of-memory.
20922         (gl_tree_remove_node_from_tree): New function, extracted from
20923         gl_tree_remove_node.
20924         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
20925         upon out-of-memory.
20926         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
20927         out-of-memory.
20928         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
20929         upon out-of-memory.
20930         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
20931         upon out-of-memory.
20932         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
20933         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
20934         not xmalloc. Return NULL upon out-of-memory.
20935         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
20936         out-of-memory.
20937         (gl_tree_remove_node_from_tree): New function, extracted from
20938         gl_tree_remove_node.
20939         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
20940         upon out-of-memory.
20941         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
20942         out-of-memory.
20943         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
20944         upon out-of-memory.
20945         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
20946         upon out-of-memory.
20947         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
20948         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
20949         gl_anytree_list1.h before gl_anyavltree_list2.h.
20950         (gl_avltree_list_implementation): Update.
20951         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
20952         gl_anytree_list1.h before gl_anyavltree_list2.h.
20953         (gl_rbtree_list_implementation): Update.
20954         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
20955         Change return type to 'int'. Return -1 upon out-of-memory. Use
20956         __builtin_expect.
20957         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
20958         (gl_avltreehash_list_implementation): Update.
20959         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
20960         (gl_rbtreehash_list_implementation): Update.
20961         * modules/array-list (Depends-on): Remove xalloc.
20962         * modules/carray-list (Depends-on): Likewise.
20963         * modules/linked-list (Depends-on): Likewise.
20964         * modules/linkedhash-list (Depends-on): Likewise.
20965         * modules/avltree-list (Depends-on): Likewise.
20966         * modules/rbtree-list (Depends-on): Likewise.
20967         * modules/avltreehash-list (Depends-on): Likewise.
20968         * modules/rbtreehash-list (Depends-on): Likewise.
20969
20970         * modules/xsublist: New file.
20971         * lib/gl_xsublist.h: New file.
20972         * lib/gl_xsublist.c: New file.
20973         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
20974         (gl_sublist_nx_create): New declaration.
20975         * lib/gl_sublist.c: Don't include xalloc.h.
20976         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
20977         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
20978         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
20979         Change return type to 'int'. Return -1 upon out-of-memory.
20980         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
20981         upon out-of-memory.
20982         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
20983         NULL upon out-of-memory.
20984         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
20985         upon out-of-memory.
20986         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
20987         NULL upon out-of-memory.
20988         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
20989         NULL upon out-of-memory.
20990         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
20991         upon out-of-memory.
20992         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
20993         (gl_sublist_list_implementation): Update.
20994         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
20995         upon out-of-memory.
20996         * modules/sublist (Depends-on): Remove xalloc.
20997
20998         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
20999         * tests/test-carray_list.c: Likewise.
21000         * tests/test-linked_list.c: Likewise.
21001         * tests/test-linkedhash_list.c: Likewise.
21002         * tests/test-avltree_list.c: Likewise.
21003         * tests/test-rbtree_list.c: Likewise.
21004         * tests/test-avltreehash_list.c: Likewise.
21005         * tests/test-rbtreehash_list.c: Likewise.
21006         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
21007         * modules/carray-list-tests (Makefile.am): Likewise.
21008         * modules/linked-list-tests (Makefile.am): Likewise.
21009         * modules/linkedhash-list-tests (Makefile.am): Likewise.
21010         * modules/avltree-list-tests (Makefile.am): Likewise.
21011         * modules/rbtree-list-tests (Makefile.am): Likewise.
21012         * modules/avltreehash-list-tests (Makefile.am): Likewise.
21013         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
21014
21015         * NEWS: Mention the changes.
21016
21017         * lib/clean-temp.c: Include gl_xlist.h.
21018         * modules/clean-temp (Depends-on): Add xlist.
21019
21020         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
21021         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
21022
21023         * tests/test-array_oset.c: Include gl_xlist.h.
21024         * modules/array-oset-tests (Depends-on): Add xlist.
21025
21026         Reported by José E. Marchesi <jemarch@gnu.org>.
21027
21028 2009-12-13  Bruno Haible  <bruno@clisp.org>
21029
21030         Move the malloc checking from module 'oset' to new module 'xoset'.
21031         * modules/xoset: New file.
21032         * lib/gl_xoset.h: New file.
21033         * lib/gl_xoset.c: New file.
21034         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
21035         declarations.
21036         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
21037         (struct gl_oset_implementation): Rename and change methods accordingly.
21038         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
21039         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
21040         'int'. Mark as __warn_unused_result__.
21041         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
21042         gl_oset_create_empty.
21043         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
21044         'int'.
21045         * lib/gl_array_oset.c: Don't include xalloc.h.
21046         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
21047         malloc, not xmalloc.
21048         (grow): Change return type to 'int'. Don't call xalloc_die.
21049         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
21050         to 'int'.
21051         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
21052         'int'.
21053         (gl_array_oset_implementation): Update.
21054         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
21055         gl_tree_create_empty.
21056         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
21057         'int'.
21058         * lib/gl_avltree_oset.c: Don't include xalloc.h.
21059         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
21060         xmalloc.
21061         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
21062         not xmalloc.
21063         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
21064         xmalloc.
21065         (gl_avltree_oset_implementation): Update.
21066         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
21067         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
21068         xmalloc.
21069         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
21070         not xmalloc.
21071         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
21072         xmalloc.
21073         (gl_rbtree_oset_implementation): Update.
21074         * modules/array-oset (Depends-on): Remove xalloc.
21075         * modules/avltree-oset (Depends-on): Likewise.
21076         * modules/rbtree-oset (Depends-on): Likewise.
21077         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
21078         * tests/test-avltree_oset.c: Likewise.
21079         * tests/test-rbtree_oset.c: Likewise.
21080         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
21081         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
21082         * modules/rbtree-oset-tests (Makefile.am): Likewise.
21083         * NEWS: Mention the change.
21084
21085 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
21086
21087         maint.mk: allow a project to override release-prep commands
21088         * top/maint.mk (alpha, beta, stable): Move release-preparatory
21089         commands into a new rule.
21090         (release-prep): New rule.
21091         (release-prep-hook): New overridable variable.
21092
21093 2009-12-13  Bruno Haible  <bruno@clisp.org>
21094
21095         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
21096
21097 2009-12-13  Jim Meyering  <meyering@redhat.com>
21098
21099         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
21100         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
21101
21102 2009-12-12  Bruno Haible  <bruno@clisp.org>
21103
21104         duplocale: Tweak.
21105         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
21106
21107 2009-12-12  Karl Berry  <karl@gnu.org>
21108
21109         * config/srclist.txt (strtoll.c): tab changes, no more sync.
21110
21111 2009-12-12  Bruno Haible  <bruno@clisp.org>
21112
21113         * m4/po.m4: Undo incorrect untabification.
21114
21115 2009-12-12  Bruno Haible  <bruno@clisp.org>
21116
21117         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
21118         * modules/c-strtod (Depends-on): Add locale.
21119         * modules/c-strtold (Depends-on): Likewise.
21120
21121 2009-12-12  Bruno Haible  <bruno@clisp.org>
21122
21123         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
21124
21125 2009-12-11  Eric Blake  <ebb9@byu.net>
21126
21127         setenv: relax requirement in light of POSIX ruling
21128         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
21129         not NULL.
21130         * tests/test-setenv.c (main): Relax test.
21131         * tests/test-unsetenv.c (main): Likewise.
21132         * doc/posix-functions/setenv.texi (setenv): Document this.
21133         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
21134
21135 2009-12-11  Bruno Haible  <bruno@clisp.org>
21136
21137         New module 'fd-safer-flag'.
21138         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
21139         * lib/dup-safer.c (dup_safer_flag): Remove function.
21140         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
21141         * lib/fd-safer.c (fd_safer_flag): Remove function.
21142         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
21143         * modules/cloexec (configure.ac): Drop indicator macro.
21144         * modules/fd-safer-flag: New file.
21145         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
21146         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
21147         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
21148
21149 2009-12-11  Bruno Haible  <bruno@clisp.org>
21150
21151         Tests for module 'nl_langinfo'.
21152         * modules/nl_langinfo-tests: New file.
21153         * tests/test-nl_langinfo.sh: New file.
21154         * tests/test-nl_langinfo.c: New file.
21155
21156         New module 'nl_langinfo'.
21157         * lib/nl_langinfo.c: New file.
21158         * m4/nl_langinfo.m4: New file.
21159         * modules/nl_langinfo: New file.
21160         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
21161
21162 2009-12-11  Bruno Haible  <bruno@clisp.org>
21163
21164         Tests for module 'langinfo'.
21165         * modules/langinfo-tests: New file.
21166         * tests/test-langinfo.c: New file.
21167
21168         New module 'langinfo'.
21169         * lib/langinfo.in.h: New file.
21170         * m4/langinfo_h.m4: New file.
21171         * modules/langinfo: New file.
21172         * doc/posix-headers/langinfo.texi: Mention the new module.
21173
21174 2009-12-11  Bruno Haible  <bruno@clisp.org>
21175
21176         * lib/config.charset: Untabify.
21177
21178 2009-12-11  Bruno Haible  <bruno@clisp.org>
21179
21180         * modules/unistd-safer (configure.ac): Drop indicator macro.
21181
21182 2009-12-11  Bruno Haible  <bruno@clisp.org>
21183
21184         Move pipe2-safer code to its own file.
21185         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
21186         * lib/pipe-safer.c (pipe2_safer): Remove function.
21187         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
21188         (Makefile.am): Add it to lib_SOURCES.
21189
21190 2009-12-10  Bruno Haible  <bruno@clisp.org>
21191
21192         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
21193
21194 2009-12-10  Bruno Haible  <bruno@clisp.org>
21195
21196         Declare which arguments expect non-NULL values, for GCC and clang.
21197         * build-aux/arg-nonnull.h: New file.
21198         * modules/arg-nonnull: New file.
21199         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
21200         (inet_ntop, inet_pton): Use it.
21201         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
21202         (closedir, dirfd, opendir, scandir, alphasort): Use it.
21203         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
21204         (open, openat): Use it.
21205         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
21206         (fnmatch): Use it.
21207         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
21208         (getopt, getopt_long, getopt_long_only): Use it.
21209         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
21210         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
21211         Use it.
21212         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
21213         (iconv_open): Use it.
21214         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
21215         (strtoimax, strtoumax): Use it.
21216         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
21217         (duplocale): Use it.
21218         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
21219         (frexp, frexpl): Use it.
21220         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
21221         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
21222         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
21223         (tsearch, tfind, tdelete, twalk): Use it.
21224         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
21225         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
21226         sigpending): Use it.
21227         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
21228         (posix_spawn, posix_spawnp, posix_spawnattr_init,
21229         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
21230         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
21231         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
21232         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
21233         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
21234         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
21235         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
21236         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
21237         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
21238         Use it.
21239         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
21240         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
21241         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
21242         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
21243         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
21244         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
21245         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
21246         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
21247         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
21248         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
21249         strtoull, unsetenv): Use it.
21250         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
21251         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
21252         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
21253         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
21254         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
21255         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
21256         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
21257         (strcasecmp, strncasecmp): Use it.
21258         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
21259         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
21260         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
21261         rpl_setsockopt): Use it.
21262         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
21263         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
21264         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
21265         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
21266         (gettimeofday): Use it.
21267         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
21268         (times): Use it.
21269         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
21270         (uname): Use it.
21271         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
21272         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
21273         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
21274         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
21275         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
21276         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
21277         unlinkat, write): Use it.
21278         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
21279         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
21280         * lib/argv-iter.h: Include arg-nonnull.h.
21281         (_ATTRIBUTE_NONNULL_): Remove macro.
21282         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
21283         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
21284         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
21285         optimization.
21286         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
21287         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
21288         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
21289         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
21290         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
21291         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
21292         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
21293         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
21294         * modules/arpa_inet (Depends-on): Add arg-nonnull.
21295         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
21296         * modules/dirent (Depends-on): Add arg-nonnull.
21297         (Makefile.am): Insert arg-nonnull.h into dirent.h.
21298         * modules/fcntl-h (Depends-on): Add arg-nonnull.
21299         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
21300         * modules/fnmatch (Depends-on): Add arg-nonnull.
21301         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
21302         * modules/getopt-posix (Depends-on): Add arg-nonnull.
21303         (Makefile.am): Insert arg-nonnull.h into getopt.h.
21304         * modules/glob (Depends-on): Add arg-nonnull.
21305         (Makefile.am): Insert arg-nonnull.h into glob.h.
21306         * modules/iconv_open (Depends-on): Add arg-nonnull.
21307         (Makefile.am): Insert arg-nonnull.h into iconv.h.
21308         * modules/inttypes (Depends-on): Add arg-nonnull.
21309         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
21310         * modules/locale (Depends-on): Add arg-nonnull.
21311         (Makefile.am): Insert arg-nonnull.h into locale.h.
21312         * modules/math (Depends-on): Add arg-nonnull.
21313         (Makefile.am): Insert arg-nonnull.h into math.h.
21314         * modules/netdb (Depends-on): Add arg-nonnull.
21315         (Makefile.am): Insert arg-nonnull.h into netdb.h.
21316         * modules/search (Depends-on): Add arg-nonnull.
21317         (Makefile.am): Insert arg-nonnull.h into search.h.
21318         * modules/signal (Depends-on): Add arg-nonnull.
21319         (Makefile.am): Insert arg-nonnull.h into signal.h.
21320         * modules/spawn (Depends-on): Add arg-nonnull.
21321         (Makefile.am): Insert arg-nonnull.h into spawn.h.
21322         * modules/stdio (Depends-on): Add arg-nonnull.
21323         (Makefile.am): Insert arg-nonnull.h into stdio.h.
21324         * modules/stdlib (Depends-on): Add arg-nonnull.
21325         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
21326         * modules/string (Depends-on): Add arg-nonnull.
21327         (Makefile.am): Insert arg-nonnull.h into string.h.
21328         * modules/strings (Depends-on): Add arg-nonnull.
21329         (Makefile.am): Insert arg-nonnull.h into strings.h.
21330         * modules/sys_socket (Depends-on): Add arg-nonnull.
21331         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
21332         * modules/sys_stat (Depends-on): Add arg-nonnull.
21333         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
21334         * modules/sys_time (Depends-on): Add arg-nonnull.
21335         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
21336         * modules/sys_times (Depends-on): Add arg-nonnull.
21337         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
21338         * modules/sys_utsname (Depends-on): Add arg-nonnull.
21339         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
21340         * modules/time (Depends-on): Add arg-nonnull.
21341         (Makefile.am): Insert arg-nonnull.h into time.h.
21342         * modules/unistd (Depends-on): Add arg-nonnull.
21343         (Makefile.am): Insert arg-nonnull.h into unistd.h.
21344         * modules/wchar (Depends-on): Add arg-nonnull.
21345         (Makefile.am): Insert arg-nonnull.h into wchar.h.
21346         * modules/argv-iter (Depends-on): Add arg-nonnull.
21347         * tests/test-canonicalize.c (null_ptr): New function.
21348         (main): Use it.
21349         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
21350         (main): Use it.
21351         * tests/test-memmem.c (null_ptr): New function.
21352         (main): Use it.
21353         Reported by Jim Meyering.
21354
21355 2009-12-10  Bruno Haible  <bruno@clisp.org>
21356
21357         Use spaces for indentation, not tabs.
21358         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
21359         * m4/*.m4: Untabify.
21360         * build-aux/*.h: Untabify.
21361         * tests/**/*.[hc]: Untabify.
21362         * README: New section "Indent with spaces, not TABs", based on
21363         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
21364         * NEWS: Mention the change.
21365
21366 2009-12-10  Bruno Haible  <bruno@clisp.org>
21367
21368         pty test: Fix link error.
21369         * modules/pty-tests (Makefile.am): Add the default LDADD value to
21370         test_pty_LDADD.
21371
21372 2009-12-07  Simon Josefsson  <simon@josefsson.org>
21373
21374         * modules/pty: New file.
21375         * modules/pty-tests: New file.
21376         * m4/pty.m4: New file.
21377         * tests/test-pty.c: New file.
21378         * doc/glibc-headers/pty.texi: Modified.
21379         * doc/glibc-functions/forkpty.texi: Modified.
21380         * doc/glibc-functions/openpty.texi: Modified.
21381
21382 2009-12-10  Bruno Haible  <bruno@clisp.org>
21383
21384         Avoid syntax error in C++ mode.
21385         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
21386
21387 2009-12-10  Bruno Haible  <bruno@clisp.org>
21388
21389         Use sed with option -e.
21390         * gnulib-tool (func_version, func_emit_copyright_notice,
21391         func_emit_initmacro_end, func_import, func_create_testdir): Pass
21392         option -e to sed.
21393         * modules/link-warning (Makefile.am): Likewise.
21394
21395 2009-12-10  Jim Meyering  <meyering@redhat.com>
21396
21397         mgetgroups: do not write bytes beyond end of malloc'd buffer
21398         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
21399         username, we call getgroups with a one-element-shorter buffer,
21400         but still told it the length was original, max_n_groups.
21401
21402 2009-12-09  Eric Blake  <ebb9@byu.net>
21403
21404         cloexec: relax license
21405         * modules/cloexec (Maintainer): Add myself.
21406         (License): Use LGPL, not GPL.
21407
21408         link-warning: optimize generation
21409         * modules/link-warning (Makefile.am): Reduce process usage.
21410
21411 2009-12-09  Bruno Haible  <bruno@clisp.org>
21412
21413         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
21414         workaround was added on 2009-11-17.
21415
21416 2009-12-09  Jim Meyering  <meyering@redhat.com>
21417             Bruno Haible  <bruno@clisp.org>
21418
21419         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
21420         * modules/link-warning (Makefile.am): Make the comment-removing sed
21421         command more robust in the face of bootstrap-prepended comment lines.
21422
21423 2009-12-09  Bruno Haible  <bruno@clisp.org>
21424
21425         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
21426         most one group.
21427
21428 2009-12-09  Simon Josefsson <simon@josefsson.org>
21429             Bruno Haible  <bruno@clisp.org>
21430
21431         * build-aux/link-warning.h: Add copyright notice.
21432         * modules/link-warning (Makefile.am): Generate link-warning.h from
21433         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
21434         * NEWS: Mention change in link-warning module.
21435         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
21436         * modules/dirent (Makefile.am): Add dependency to dirent.h.
21437         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
21438         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
21439         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
21440         * modules/math (Makefile.am): Add dependency to math.h.
21441         * modules/search (Makefile.am): Add dependency to search.h.
21442         * modules/signal (Makefile.am): Add dependency to signal.h.
21443         * modules/spawn (Makefile.am): Add dependency to spawn.h.
21444         * modules/stdio (Makefile.am): Add dependency to stdio.h.
21445         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
21446         * modules/string (Makefile.am): Add dependency to string.h.
21447         * modules/strings (Makefile.am): Add dependency to strings.h.
21448         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
21449         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
21450         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
21451         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
21452         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
21453         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
21454         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
21455         * modules/unistd (Makefile.am): Add dependency to unistd.h.
21456         * modules/wchar (Makefile.am): Add dependency to wchar.h.
21457
21458 2009-12-09  Bruno Haible  <bruno@clisp.org>
21459
21460         fchdir: Optimize away rpl_fstat when possible.
21461         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
21462         REPLACE_OPEN_DIRECTORY.
21463         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
21464
21465 2009-12-09  Bruno Haible  <bruno@clisp.org>
21466
21467         * lib/fchdir.c: Update comment.
21468
21469 2009-12-09  Bruno Haible  <bruno@clisp.org>
21470
21471         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
21472
21473 2009-12-08  Eric Blake  <ebb9@byu.net>
21474
21475         fchdir: avoid memory leak on re-registration.
21476         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
21477
21478 2009-12-08  Jim Meyering  <meyering@redhat.com>
21479
21480         init.sh: avoid Solaris 10 /bin/sh portability problem
21481         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
21482         sourced script:
21483           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
21484           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
21485           bar
21486         tests/init.sh relied on that, accepting a --set-path=DIR argument,
21487         and two tests used that idiom.
21488         * tests/init.sh: Update suggested usage comments.
21489         (path_prepend_): New function, to be used in place
21490         of the --src-path=DIR option.
21491         (setup_): Move PATH-prepending code into path_prepend_.
21492         * tests/test-pread.sh: Adapt to new usage.
21493         * tests/test-xalloc-die.sh: Likewise.
21494
21495 2009-12-08  Simon Josefsson  <simon@josefsson.org>
21496
21497         * doc/gnulib.texi (Glibc pty.h): Add.
21498         * doc/glibc-functions/forkpty.texi: Add.
21499         * doc/glibc-functions/openpty.texi: Add.
21500         Suggested by Bruno Haible.
21501
21502 2009-12-08  Eric Blake  <ebb9@byu.net>
21503
21504         fchdir: fix logic bugs
21505         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
21506         * tests/test-fchdir.c (main): Enhance test.
21507         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
21508         is in use.
21509
21510         dup2: fix logic bugs
21511         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
21512         REPLACE_DUP2 to decide when rpl_dup2 is needed.
21513         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
21514         exists.
21515         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
21516
21517 2009-12-07  Eric Blake  <ebb9@byu.net>
21518
21519         unlink: fix m4 detection
21520         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
21521
21522         unistd-safer: add unit test
21523         * modules/unistd-safer-tests: New file.
21524         * tests/test-dup-safer.c: Likewise.
21525         * tests/test-cloexec.c (setmode): Avoid compiler warning.
21526         * tests/test-dup2.c (setmode): Likewise.
21527         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
21528
21529         cloexec: preserve text vs. binary across dup_cloexec
21530         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
21531         mode.
21532         * modules/dup2-tests (Depends-on): Add binary-io.
21533         * modules/cloexec-tests (Depends-on): Likewise.
21534         * tests/test-dup2.c (setmode, is_mode): New helpers.
21535         (main): Add tests that translation mode is preserved.
21536         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
21537         Reported by Bruno Haible.
21538
21539         mgetgroups: reduce duplicate listings
21540         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
21541         resulting array.
21542         * tests/test-chown.h (test_chown): Simplify client.
21543         * tests/test-lchown.h (test_lchown): Likewise.
21544
21545 2009-12-06  Bruno Haible  <bruno@clisp.org>
21546
21547         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
21548         value.
21549
21550 2009-12-06  Bruno Haible  <bruno@clisp.org>
21551
21552         * lib/progname.c: Include stdio.h, stdlib.h.
21553         (set_program_name): Reject a NULL argument.
21554
21555 2009-12-05  Eric Blake  <ebb9@byu.net>
21556
21557         pipe2-safer: new module
21558         * modules/pipe2-safer: New file.
21559         * lib/unistd-safer.h (pipe2_safer): New prototype.
21560         * lib/unistd--.h (pipe2): New wrapper.
21561         * lib/pipe-safer.c (pipe2_safer): New function.
21562         * modules/pipe (Depends-on): Add pipe2-safer.
21563         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
21564
21565         stdlib-safer: preserve cloexec flag for mkostemp[s]
21566         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
21567         fd_safer_flag.
21568
21569         unistd-safer: allow preservation of cloexec status via flag
21570         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
21571         prototypes.
21572         * lib/dup-safer.c (dup_safer_flag): New function.
21573         * lib/fd-safer.c (fd_safer_flag): Likewise.
21574         * modules/cloexec (configure.ac): Set witness.
21575
21576         test-dup2: enhance test
21577         * modules/dup2-tests (Depends-on): Add cloexec.
21578         * tests/test-dup2.c (main): Enhance test.
21579
21580         cloexec: add dup_cloexec
21581         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
21582         header and comments.
21583         * lib/cloexec.c (set_cloexec_flag): Add comments.
21584         (dup_cloexec): New function, with mingw implementation borrowed
21585         from...
21586         * lib/w32spawn.h (dup_noinherit): ...here.
21587         * modules/execute (Depends-on): Add cloexec.
21588         * modules/pipe (Depends-on): Likewise.
21589         * modules/cloexec (Depends-on): Add dup2.
21590         * modules/cloexec-tests (Files): New file.
21591         * tests/test-cloexec.c: Likewise.
21592
21593         test-xalloc-die: fix test for mingw
21594         * modules/xalloc-die-tests (Files): Add tests/init.sh.
21595         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
21596         directory and .exe suffix off argv[0] output.
21597
21598         test-fseeko: fix test for mingw
21599         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
21600         than undefining fseek, so test will pass on mingw.
21601
21602 2009-12-05  Bruno Haible  <bruno@clisp.org>
21603
21604         * lib/progname.h (set_program_name): Clarify specification.
21605         * lib/progname.c (set_program_name): Likewise.
21606         Reported by Jim Meyering.
21607
21608 2009-12-05  Jim Meyering  <meyering@redhat.com>
21609
21610         maint.mk: backslash-escape parens in default regexp
21611         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
21612         backslash-escape the literal parentheses.
21613
21614         maint.mk: news-date-check: use grep -E
21615         * top/maint.mk (today): Define a Make variable, not a...
21616         (news-date-check): ...shell variable.
21617         (news-date-regexp): Use the Make variable.
21618         Use grep's -E option.  Change the failing diagnostic to mention
21619         the variable, $(news-date-regexp).
21620
21621 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
21622
21623         maintainer-makefile: allow customization of NEWS entry format
21624         * top/maint.mk (news-date-regexp): New overridable variable.
21625         (news-date-check): Use it.
21626
21627 2009-12-04  Eric Blake  <ebb9@byu.net>
21628
21629         mgetgroups: add xgetgroups, and avoid ENOSYS failures
21630         * lib/mgetgroups.h (xgetgroups): New prototype.
21631         * lib/mgetgroups.c (xgetgroups): New wrapper.
21632         (mgetgroups): Handle ENOSYS.
21633         * modules/mgetgroups (Depends-on): Add realloc.
21634         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
21635
21636         mgetgroups: avoid argument promotion issues with -1
21637         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
21638         for invalid gid_t.
21639         * tests/test-chown.h (getegid, test_chown): Likewise.
21640         * tests/test-lchown.h (getegid, test_lchown): Likewise.
21641
21642 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
21643
21644         exclude: Fix header file problems.
21645         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
21646
21647 2009-12-01  Jim Meyering  <meyering@redhat.com>
21648
21649         fts: fts_open: do not let an empty string cause immediate failure
21650         This is required in support of GNU rm, for which the command
21651         "rm A '' B" must process and remove both A and B, in spite of
21652         the empty string argument.
21653         * lib/fts.c (fts_open): Do not let the presence of an empty string
21654         cause fts_open to fail immediately.  Most fts-using tools must be
21655         able to process all arguments, in order, and can be expected to
21656         diagnose such arguments themselves.
21657
21658 2009-11-30  Eric Blake  <ebb9@byu.net>
21659
21660         utimens: fix compilation error
21661         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
21662         Declare variable at right scope.
21663
21664 2009-11-29  Jim Meyering  <meyering@redhat.com>
21665
21666         bootstrap: handle perl-5.11's changed --version output
21667         * build-aux/bootstrap (get_version): Handle perl separately,
21668         since perl-5.11's --version output is different.
21669
21670 2009-11-28  Jim Meyering  <meyering@redhat.com>
21671
21672         userspec: depend on the inttostr module, too
21673         * modules/userspec (Depends-on): Add inttostr.
21674
21675         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
21676         * lib/userspec.c (parse_with_separator): Do not accept a user ID
21677         number of MAXUID when it evaluates to (uid_t) -1.
21678         Likewise for group ID.  Reported by Matt McCutchen in
21679         <http://savannah.gnu.org/bugs/?28113>
21680
21681         userspec: reformat to use spaces, not TABs
21682         * lib/userspec.c: Expand TABs to spaces.
21683         Add Emacs' "indent-tabs-mode: nil" hint.
21684
21685 2009-11-27  Eric Blake  <ebb9@byu.net>
21686
21687         getopt-gnu: flush out another BSD bug
21688         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
21689         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
21690         flush out BSD bug.
21691         * tests/test-getopt.h (test_getopt): End lists with NULL.
21692         * tests/test-getopt_long.h (test_getopt_long): Likewise.
21693         (test_getopt_long_posix): Enhance test.
21694         * modules/getopt-posix-tests (Depends-on): Add stdbool.
21695         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
21696         getopt-gnu.
21697         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
21698         Likewise.
21699
21700 2009-11-27  Simon Josefsson  <simon@josefsson.org>
21701
21702         * modules/idpriv-droptemp-tests (Notice): Fix text.
21703
21704 2009-11-27  Jim Meyering  <meyering@redhat.com>
21705
21706         test-xalloc-die: avoid spurious failure due to libtool argv difference
21707         In a libtool-enabled project, this test would fail due to a difference
21708         in the emitted program name, e.g.,
21709         -test-xalloc-die: memory exhausted
21710         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
21711         Use program to avoid that.
21712         * modules/xalloc-die-tests (Depends-on): Add progname.
21713         * tests/test-xalloc-die.c: Include progname.h".
21714         (program_name): Remove decl.
21715         (main): Call set_program_name.
21716         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
21717
21718 2009-11-26  Richard Jones  <rjones@redhat.com>
21719
21720         w32sock: leave win32 error in place.
21721         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
21722
21723 2009-11-26  Eric Blake  <ebb9@byu.net>
21724
21725         init.sh: suggest to use skip_ and fail_ functions in comments
21726         * tests/init.sh: Add a sentence.
21727
21728 2009-11-25  Bruno Haible  <bruno@clisp.org>
21729
21730         init.sh: add documentation in comments
21731         * tests/init.sh: Add some developer and user documentation.
21732
21733 2009-11-26  Jim Meyering  <meyering@redhat.com>
21734
21735         init.sh: accommodate even those who specify bogus srcdir manually
21736         * tests/init.sh: Normally, srcdir is guaranteed by automake and
21737         configure-time tests to be sanitized, so that there is no need to
21738         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
21739         (with no double quotes) suffices.  However, since tests may be
21740         invoked manually, and since you may explicitly set srcdir to the
21741         name of a directory containing spaces, do quote its uses here.
21742         * tests/test-pread.sh: Likewise.
21743         Suggested by Bruno Haible.
21744
21745         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
21746         * tests/test-pread.sh: Write no data into the pipe, because
21747         test-pread actually reads none.  This avoids a diagnostic,
21748         "bash: echo: write error: Broken pipe", that arises in the unusual
21749         event something is ignoring SIGPIPE, and might be interpreted
21750         as some sort of failure.  Reported by Bruno Haible.
21751
21752 2009-11-25  Jim Meyering  <meyering@redhat.com>
21753
21754         test-pread: cover failure with ESPIPE and EINVAL
21755         * tests/test-pread.c (main): Test for failure, too.
21756         * tests/test-pread.sh: Invoke with stdin on a pipe.
21757         Suggested by Eric Blake.
21758
21759         pread: improvement and fix
21760         * modules/pread (Depends-on): Depend on lseek, for portability to
21761         e.g., mingw.  Suggested by Eric Blake.
21762         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
21763
21764         unistd.in.h: correct declaration of pread
21765         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
21766         Reported by Richard W.M. Jones.
21767
21768         test-pread.sh: distribute the test script
21769         * modules/pread-tests (Files): Include test-pread.sh.
21770
21771         test-pread.sh: clean up
21772         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
21773         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
21774         That is unnecessary, since it's always ".".
21775         Suggestion from Eric Blake.
21776
21777         test-pread.sh: make executable
21778         * tests/test-pread.sh: Set executable bit.
21779         Reported by Eric Blake.
21780
21781         correct typo in test-pread.sh
21782         * tests/test-pread.sh: Add #! line.
21783
21784         test pread
21785         * tests/test-pread.c: New file.
21786         * tests/test-pread.sh: Likewise.
21787         * modules/pread-tests: Likewise.
21788
21789         pread: new module
21790         * modules/pread: New file.
21791         * lib/unistd.in.h (pread): Define/declare.
21792         * lib/pread.c (pread): New file.
21793         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
21794         * modules/unistd (Makefile.am): Substitute witnesses.
21795         * doc/posix-functions/pread.texi (pread): Update.
21796         * MODULES.html.sh: Add pread.
21797
21798 2009-11-25  Jim Meyering  <meyering@redhat.com>
21799
21800         tests/init.sh: new file to be used via most *.sh tests
21801         * tests/init.sh: New file.
21802
21803 2009-11-25  Eric Blake  <ebb9@byu.net>
21804
21805         utimens: work around older Linux failure with symlinks
21806         * lib/utimens.c (lutimensat_works_really): New variable.
21807         (fdutimens, lutimens): Use it to manage kernels that support
21808         nanosecond times on files, but not on symlinks.
21809         Reported by Ondřej Vašík.
21810
21811         utimes: fix configure grammar
21812         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
21813
21814 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
21815
21816         regex: Fix fastmap for multibyte character ranges.
21817         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
21818         characters when a multibyte character range is included.
21819
21820 2009-11-22  Andy Wingo  <wingo@pobox.com>
21821
21822         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
21823         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
21824
21825 2009-11-24  Bruno Haible  <bruno@clisp.org>
21826
21827         doc: Most *_l functions exist in MacOS X 10.5.
21828         * doc/posix-functions/duplocale.texi: Update platforms list.
21829         * doc/posix-functions/freelocale.texi: Likewise.
21830         * doc/posix-functions/newlocale.texi: Likewise.
21831         * doc/posix-functions/uselocale.texi: Likewise.
21832         * doc/posix-functions/isalnum_l.texi: Likewise.
21833         * doc/posix-functions/isalpha_l.texi: Likewise.
21834         * doc/posix-functions/isblank_l.texi: Likewise.
21835         * doc/posix-functions/iscntrl_l.texi: Likewise.
21836         * doc/posix-functions/isdigit_l.texi: Likewise.
21837         * doc/posix-functions/isgraph_l.texi: Likewise.
21838         * doc/posix-functions/islower_l.texi: Likewise.
21839         * doc/posix-functions/isprint_l.texi: Likewise.
21840         * doc/posix-functions/ispunct_l.texi: Likewise.
21841         * doc/posix-functions/isspace_l.texi: Likewise.
21842         * doc/posix-functions/isupper_l.texi: Likewise.
21843         * doc/posix-functions/iswalnum_l.texi: Likewise.
21844         * doc/posix-functions/iswalpha_l.texi: Likewise.
21845         * doc/posix-functions/iswblank_l.texi: Likewise.
21846         * doc/posix-functions/iswcntrl_l.texi: Likewise.
21847         * doc/posix-functions/iswctype_l.texi: Likewise.
21848         * doc/posix-functions/iswdigit_l.texi: Likewise.
21849         * doc/posix-functions/iswgraph_l.texi: Likewise.
21850         * doc/posix-functions/iswlower_l.texi: Likewise.
21851         * doc/posix-functions/iswprint_l.texi: Likewise.
21852         * doc/posix-functions/iswpunct_l.texi: Likewise.
21853         * doc/posix-functions/iswspace_l.texi: Likewise.
21854         * doc/posix-functions/iswupper_l.texi: Likewise.
21855         * doc/posix-functions/iswxdigit_l.texi: Likewise.
21856         * doc/posix-functions/isxdigit_l.texi: Likewise.
21857         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
21858         * doc/posix-functions/strcasecmp_l.texi: Likewise.
21859         * doc/posix-functions/strcoll_l.texi: Likewise.
21860         * doc/posix-functions/strfmon_l.texi: Likewise.
21861         * doc/posix-functions/strftime_l.texi: Likewise.
21862         * doc/posix-functions/strncasecmp_l.texi: Likewise.
21863         * doc/posix-functions/strxfrm_l.texi: Likewise.
21864         * doc/posix-functions/tolower_l.texi: Likewise.
21865         * doc/posix-functions/toupper_l.texi: Likewise.
21866         * doc/posix-functions/towctrans_l.texi: Likewise.
21867         * doc/posix-functions/towlower_l.texi: Likewise.
21868         * doc/posix-functions/towupper_l.texi: Likewise.
21869         * doc/posix-functions/wcscoll_l.texi: Likewise.
21870         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
21871         * doc/posix-functions/wctrans_l.texi: Likewise.
21872         * doc/posix-functions/wctype_l.texi: Likewise.
21873         * doc/glibc-functions/strptime_l.texi: Likewise.
21874         * doc/glibc-functions/strtod_l.texi: Likewise.
21875         * doc/glibc-functions/strtof_l.texi: Likewise.
21876         * doc/glibc-functions/strtol_l.texi: Likewise.
21877         * doc/glibc-functions/strtold_l.texi: Likewise.
21878         * doc/glibc-functions/strtoll_l.texi: Likewise.
21879         * doc/glibc-functions/strtoul_l.texi: Likewise.
21880         * doc/glibc-functions/strtoull_l.texi: Likewise.
21881         * doc/glibc-functions/wcsftime_l.texi: Likewise.
21882         * doc/glibc-functions/wcstod_l.texi: Likewise.
21883         * doc/glibc-functions/wcstof_l.texi: Likewise.
21884         * doc/glibc-functions/wcstol_l.texi: Likewise.
21885         * doc/glibc-functions/wcstold_l.texi: Likewise.
21886         * doc/glibc-functions/wcstoll_l.texi: Likewise.
21887         * doc/glibc-functions/wcstoul_l.texi: Likewise.
21888         * doc/glibc-functions/wcstoull_l.texi: Likewise.
21889
21890 2009-11-24  Bruno Haible  <bruno@clisp.org>
21891
21892         duplocale: Fix logic bug.
21893         * lib/duplocale.c: Don't include <langinfo.h>.
21894         (_NL_LOCALE_NAME): Remove macro.
21895         (rpl_duplocale): Use setlocale instead of nl_langinfo.
21896         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
21897
21898 2009-11-23  Jim Meyering  <meyering@redhat.com>
21899
21900         test-update-copyright: don't hard-code /usr/bin/perl
21901         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
21902         perl to print the current year.  Gilles Espinasse reported that
21903         the replaced use of perl was hard-coded as /usr/bin/perl.
21904
21905 2009-11-23  Bruno Haible  <bruno@clisp.org>
21906
21907         duplocale: Add support for glibc 2.3.x.
21908         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
21909
21910 2009-11-22  Bruno Haible  <bruno@clisp.org>
21911
21912         vasnprintf: Tiny optimization.
21913         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
21914         MacOS X.
21915
21916 2009-11-22  Bruno Haible  <bruno@clisp.org>
21917
21918         Tests for module 'duplocale'.
21919         * modules/duplocale-tests: New file.
21920         * tests/test-duplocale.c: New file.
21921
21922         New module 'duplocale'.
21923         * m4/duplocale.m4: New file.
21924         * lib/locale.in.h (duplocale): New declaration.
21925         * lib/duplocale.c: New file.
21926         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
21927         gl_LOCALE_H_DEFAULTS): New macros.
21928         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
21929         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
21930         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
21931         REPLACE_DUPLOCALE.
21932         * modules/duplocale: New file.
21933         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
21934
21935 2009-11-22  Bruno Haible  <bruno@clisp.org>
21936
21937         * modules/locale-tests (configure.ac): Test for newlocale function.
21938         * tests/test-locale.c: When the system has extended locale functions,
21939         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
21940
21941         locale: Make locale_t available when possible.
21942         * lib/locale.in.h: Include <xlocale.h> when it exists.
21943         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
21944         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
21945         * modules/locale (Depends-on): Add extensions.
21946         (Makefile.am): Also substitute HAVE_XLOCALE_H.
21947         * doc/posix-headers/locale.texi: Document the problem with locale_t.
21948
21949 2009-11-22  Bruno Haible  <bruno@clisp.org>
21950
21951         Add comments.
21952         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
21953         invocation.
21954         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
21955         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
21956         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
21957
21958 2009-11-22  Bruno Haible  <bruno@clisp.org>
21959
21960         error: account for the possibility of freopen (stdout).
21961         * lib/error.c: Include <unistd.h>.
21962         (flush_stdout): New function, extracted from error and error_at_line.
21963         Determine stdout's fd dynamically.
21964         (error, error_at_line): Invoke flush_stdout.
21965         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
21966         * modules/error (Depends-on): Add unistd.
21967
21968 2009-11-22  Bruno Haible  <bruno@clisp.org>
21969
21970         diffseq: Add comment.
21971         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
21972
21973 2009-11-22  Jim Meyering  <meyering@redhat.com>
21974
21975         c-stack: avoid defining an unused static function
21976         * lib/c-stack.c (find_stack_direction): Do not define this function
21977         when it will not be used.
21978
21979         diffseq: avoid spurious gcc warnings
21980         * lib/diffseq.h (IF_LINT2): Define.
21981         (compareseq): Use it to initialize two members of "part".
21982         This avoids two used-uninitialized warnings.
21983
21984 2009-11-21  Jim Meyering  <meyering@redhat.com>
21985
21986         c-stack: avoid "ignoring return value of `write'" warning
21987         * lib/c-stack.c: Include "ignore-value.h".
21988         (die): Explicitly ignore each write return value.
21989         * modules/c-stack (Depends-on): Add ignore-value.
21990
21991 2009-11-21  Bruno Haible  <bruno@clisp.org>
21992
21993         diffseq: reduce scope of variable 'best'.
21994         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
21995         variable, earlier used for two different purposes.
21996
21997 2009-11-21  Jim Meyering  <meyering@redhat.com>
21998
21999         diffseq: remove useless assignment to "best"
22000         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
22001         assignment.  At that point "best" is already guaranteed to be zero.
22002
22003 2009-11-20  Eric Blake  <ebb9@byu.net>
22004
22005         build: mention ftp redirector in release announcements
22006         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
22007         values that used to come from cfg.mk; mention FTP redirect URL.
22008         * build-aux/announce-gen: Mention the mirror list.
22009         Suggested by Karl Berry.
22010
22011         nanosleep: improve port to mingw
22012         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
22013         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
22014         LIB_NANOSLEEP, but only when needed.
22015         * modules/select (Link): Document LIBSOCKET.
22016         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
22017         enough.
22018
22019         nanosleep: work around cygwin bug
22020         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
22021         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
22022         bug.
22023         (getnow): Delete, not needed.
22024         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
22025         LIB_CLOCK_GETTIME.
22026         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
22027         clock-time, gettime.
22028         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
22029         bug.
22030         * modules/nanosleep-tests: New test.
22031         * tests/test-nanosleep.c: New file.
22032
22033         sleep: work around cygwin bug
22034         * lib/sleep.c (rpl_sleep): Work around the bug.
22035         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
22036         (gl_PREREQ_SLEEP): Delete unused macro.
22037         * modules/sleep (Depends-on): Add verify.
22038         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
22039         * modules/unistd (Makefile.am): Substitute witness.
22040         * lib/unistd.in.h (sleep): Update prototype.
22041         * doc/posix-functions/sleep.texi (sleep): Document the bug.
22042         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
22043         * modules/sleep-tests (Depends-on): Check for alarm.
22044
22045 2009-11-20  Jim Meyering  <meyering@redhat.com>
22046
22047         maint.mk: improve sc_prohibit_magic_number_exit
22048         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
22049         so it does not match uses like System.exit(1).
22050         Add comments showing how to correct all offenders.
22051
22052 2009-11-19  Eric Blake  <ebb9@byu.net>
22053
22054         xalloc-die-tests: add missing library
22055         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
22056
22057         test-xvasprintf: silence compiler warnings
22058         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
22059         empty string from gcc.
22060
22061 2009-11-19  Jim Meyering  <meyering@redhat.com>
22062
22063         xfreopen: new module, from coreutils
22064         * modules/xfreopen: New module.
22065         * lib/xfreopen.c: New file.
22066         * lib/xfreopen.h: New file.
22067         * MODULES.html.sh (File stream based Input/Output"): Add it.
22068
22069 2009-11-19  Eric Blake  <ebb9@byu.net>
22070
22071         manywarnings: depend on warnings
22072         * modules/manywarnings (Depends-on): Add warnings.
22073
22074         build: avoid compiler warnings
22075         * lib/select.c (rpl_select): Delete unused variable.
22076         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
22077
22078 2009-11-18  Eric Blake  <ebb9@byu.net>
22079
22080         tests: avoid false negative with --with-packager
22081         * tests/test-version-etc.sh: Discard packager information.
22082         * tests/test-argp-version-etc-1.sh: Likewise.
22083         Reported by Mike Frysinger.
22084
22085         utimens: fix regression on Solaris
22086         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
22087         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
22088         can only change fd timestamps via futimesat.  Instead, use an
22089         additional witness macro to avoid BSD bug.
22090         Reported by Jim Meyering.
22091
22092 2009-11-17  Eric Blake  <ebb9@byu.net>
22093
22094         usleep: use it to simplify tests
22095         * modules/stat-time-tests (Depends-on): Add usleep.
22096         (configure.ac): Drop usleep check.
22097         * modules/chown-tests (Depends-on, configure.ac): Likewise.
22098         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
22099         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
22100         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
22101         * modules/openat-tests (Depends-on, configure.ac): Likewise.
22102         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
22103         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
22104         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
22105         Likewise.
22106         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
22107         * tests/test-lchown.h (nap): Likewise.
22108         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
22109         * tests/test-stat-time.c (nap): Likewise.
22110         * tests/test-utimens-common.h (nap): Update comments.
22111
22112         usleep: new module
22113         * modules/usleep: New file.
22114         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
22115         * lib/usleep.c (usleep): Likewise.
22116         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
22117         * modules/unistd (Makefile.am): Substitute witnesses.
22118         * lib/unistd.in.h (usleep): Add declaration.
22119         * doc/pastposix-functions/usleep.texi (usleep): Document this.
22120         * MODULES.html.sh (Date and time): Likewise.
22121         * modules/usleep-tests (Depends-on): New test.
22122         * tests/test-usleep.c: New file.
22123
22124         chown: work around OpenBSD bug
22125         * lib/chown.c (rpl_chown): Work around the bug.
22126         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
22127         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
22128         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
22129         * modules/chown (Depends-on): Add stdbool.
22130         * modules/lchown (Depends-on): Likewise.
22131         * doc/posix-functions/chown.texi (chown): Document the bug.
22132         * doc/posix-functions/lchown.texi (lchown): Likewise.
22133         * tests/test-lchown.h (test_chown): Relax test.
22134
22135         mkstemp: avoid conflict with C++ keyword template
22136         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
22137         * lib/mkostemp.c (mkostemp): Likewise.
22138         * lib/mkostemps.c (mkostemps): Likewise.
22139         * lib/mkstemp.c (mkstemp): Likewise.
22140         * lib/mkstemps.c (mkstemps): Likewise.
22141
22142         xalloc-die-tests: optimize
22143         * tests/test-xalloc-die.sh: Reduce number of processes.
22144
22145 2009-11-17  Simon Josefsson  <simon@josefsson.org>
22146
22147         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
22148         patch from ludo@gnu.org (Ludovic Courtès).
22149
22150 2009-11-17  Jim Meyering  <meyering@redhat.com>
22151
22152         version-etc: use proper license string
22153         * modules/version-etc (License): Use LGPL, not LGPLv3+.
22154         * modules/version-etc-fsf: Likewise.
22155
22156 2009-11-17  Simon Josefsson  <simon@josefsson.org>
22157
22158         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
22159         printed to stdout.  Deal with EOL differences.
22160
22161 2009-11-17  Eric Blake  <ebb9@byu.net>
22162
22163         unsetenv: work around Solaris bug
22164         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
22165         * lib/unsetenv.c (rpl_unsetenv): Work around it.
22166         Reported by Jim Meyering.
22167
22168         vasnprintf: avoid compiler warnings
22169         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
22170         variables.
22171         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
22172
22173 2009-11-17  Simon Josefsson  <simon@josefsson.org>
22174
22175         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
22176         settings since xalloc-die is no longer the self test,
22177         xalloc-die.sh is.
22178
22179 2009-11-17  Jim Meyering  <meyering@redhat.com>
22180
22181         test-xalloc-die.sh: make the code agree with the commit log
22182         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
22183         at the end, just in case you happen to have a test-xalloc-die
22184         program in some other PATH directory.
22185
22186         test-xalloc-die.sh: fix a portability bug
22187         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
22188         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
22189         Otherwise, argv[0] (as often seen in diagnostics) would be too
22190         system-dependent, sometimes with, and sometimes without the leading "./".
22191
22192         version-etc-fsf: relax license to LGPLv3+
22193         * modules/version-etc-fsf (License): Relax license.
22194
22195 2009-11-16  Eric Blake  <ebb9@byu.net>
22196
22197         xalloc-die-tests: avoid printing null pointer
22198         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
22199         shell script.
22200         * tests/test-xalloc-die.c (program_name): Declare.
22201         * tests/test-xalloc-die.sh (tmpfiles): New file.
22202
22203         setenv, unsetenv: work around various bugs
22204         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
22205         (setenv) [HAVE_SETENV]: Work around bugs.
22206         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
22207         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
22208         for bugs.
22209         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
22210         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
22211         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
22212         * modules/stdlib (Makefile.am): Update substitutions.
22213         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
22214         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
22215         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
22216         * modules/setenv-tests: New test.
22217         * modules/unsetenv-tests: Likewise.
22218         * tests/test-setenv.c: New file.
22219         * tests/test-unsetenv.c: Likewise.
22220
22221 2009-11-16  Jim Meyering  <meyering@redhat.com>
22222
22223         version-etc: relax license to LGPLv3+
22224         * modules/version-etc (License): Relax license.
22225
22226         better AC_REQUIRE expanded-before-required-warning avoidance
22227         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
22228         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
22229         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
22230         which is no longer needed.
22231
22232 2009-11-16  Eric Blake  <ebb9@byu.net>
22233
22234         test-freading: clean up temporary file
22235         * tests/test-freading.c (main): Remove file on success, and use
22236         ASSERT more liberally.
22237         Reported by Jim Meyering.
22238
22239 2009-11-16  Jim Meyering  <meyering@redhat.com>
22240
22241         avoid new AC_REQUIRE expanded-before-required warnings
22242         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
22243         merely using it.
22244         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
22245         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
22246
22247 2009-11-15  Simon Josefsson  <simon@josefsson.org>
22248
22249         * tests/test-xalloc-die.c: New file.
22250         * modules/xalloc-die-tests: New file.
22251         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
22252         XFAIL_TESTS so it can be appended by modules.
22253
22254 2009-11-15  Simon Josefsson  <simon@josefsson.org>
22255
22256         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
22257         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
22258
22259 2009-11-14  Eric Blake  <ebb9@byu.net>
22260
22261         fnmatch: avoid compiler warning
22262         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
22263         to silence compiler warning about mismatch signedness in ?:.
22264         Reported by Robert Millan.
22265
22266         intprops: add double-inclusion guard
22267         * lib/intprops.h: Allow idempotent includes.
22268         Suggested by Bruce Korb.
22269
22270         openat: detect Solaris fchownat bug
22271         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
22272         penalizing glibc chownat when only lchownat is broken.
22273         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
22274         trailing slash bugs.
22275         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
22276         * modules/openat-tests (Files): Include more files.
22277         (Depends-on): Add mgetgroups, sleep, stat-time.
22278         (configure.ac): Add additional checks.
22279         (Makefile.am): Build new test.
22280         * tests/test-fchownat.c: New file.
22281
22282         lchown: detect Solaris and FreeBSD bug
22283         * lib/lchown.c (rpl_lchown): Work around bug.
22284         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
22285         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
22286         * modules/unistd (Makefile.am): Populate it.
22287         * lib/unistd.in.h (lchown): Update declaration.
22288         * doc/posix-functions/lchown.texi (lchown): Document the bug.
22289         * modules/lchown-tests: New file.
22290         * tests/test-lchown.h (test_lchown): Likewise.
22291         * tests/test-lchown.c (main): Likewise.
22292
22293         chown: detect Solaris and FreeBSD bug
22294         * lib/chown.c (rpl_chown): Work around bug.
22295         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
22296         (gl_PREREQ_CHOWN): Delete.
22297         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
22298         * modules/unistd (Makefile.am): Populate it.
22299         * lib/unistd.in.h (chown): Update declaration.
22300         * lib/lchown.c (chown): Update client.
22301         * modules/lchown (Depends-on): Add lstat.
22302         * doc/posix-functions/chown.texi (chown): Document the bug.
22303         * doc/posix-functions/getgroups.texi (getgroups): Document
22304         getgroups pitfall.
22305         * modules/chown-tests: New file.
22306         * tests/test-chown.h (test_chown): Likewise.
22307         * tests/test-chown.c (main): Likewise.
22308
22309 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
22310
22311         gnulib-tool: correctly detect absence of m4 directories
22312         * gnulib-tool: Avoid extra newline on data passed to wc -l.
22313
22314 2009-11-14  Jim Meyering  <meyering@redhat.com>
22315
22316         maint.mk: Prohibit inclusion of "xalloc.h" without use.
22317         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
22318
22319 2009-11-14  John W. Eaton  <jwe@gnu.org>
22320
22321         strftime.h: wrap funtion declaration in extern "C" block
22322         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
22323
22324 2009-11-13  Eric Blake  <ebb9@byu.net>
22325
22326         getgroups: avoid compiler warning
22327         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
22328
22329         getgroups: work around FreeBSD bug
22330         * lib/getgroups.c (rpl_getgroups): Work around the bug.
22331         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
22332         * doc/posix-functions/getgroups.texi (getgroups): Document it.
22333         * tests/test-getgroups.c (main): Fix buffer overrun.
22334
22335         getgroups: avoid compilation failure
22336         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
22337         * modules/getgroups (Depends-on): Add stdint.
22338
22339 2009-11-13  Jim Meyering  <meyering@redhat.com>
22340
22341         test-getgroups: avoid compilation failure
22342         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
22343
22344 2009-11-13  Eric Blake  <ebb9@byu.net>
22345
22346         mgetgroups: new module, taken from coreutils
22347         * modules/mgetgroups: New file.
22348         * lib/mgetgroups.h: Likewise.
22349         * lib/mgetgroups.c (mgetgroups): Likewise.
22350         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
22351         * MODULES.html.sh (Users and groups): Mention it.
22352
22353         getgroups: don't expose GETGROUPS_T to user
22354         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
22355         an element at a time if GETGROUPS_T is wrong size.
22356         * lib/getugroups.h (getugroups): Change signature.
22357         * lib/unistd.in.h (getgroups): Likewise.
22358         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
22359         signature needs fixing.
22360         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
22361         AC_TYPE_GETGROUPS.
22362         * modules/group-member (Depends-on): Add getgroups.
22363         * lib/group-member.c (group_info, get_group_info): Use gid_t.
22364         (group_member): Rely on getgroups replacement.
22365         * lib/getugroups.c (getugroups): Use gid_t.
22366         * tests/test-getgroups.c (main): Likewise.
22367         * NEWS: Mention the signature change.
22368         * doc/posix-functions/getgroups.texi (getgroups): Mention the
22369         problem with signature.
22370         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
22371         GETGROUPS_T is still useful for setgroups.
22372
22373         getgroups, getugroups: provide stubs for mingw
22374         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
22375         * lib/getugroups.c (getugroups): Likewise.
22376         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
22377         function.  Modernize replacement scheme.
22378         (gl_PREREQ_GETGROUPS): Delete.
22379         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
22380         * modules/getgroups (configure.ac): Declare witness.
22381         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
22382         * modules/unistd (Depends-on): Substitute witness.
22383         * lib/unistd.in.h (getgroups): Declare replacement.
22384
22385         getgroups: avoid calling exit
22386         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
22387         drop xalloc.
22388         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
22389         dependencies.
22390         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
22391         exiting, in the rare case of malloc failure.
22392
22393         getgroups: fix logic error
22394         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
22395         has more than 20 groups.
22396         * modules/getgroups-tests: New test.
22397         * tests/test-getgroups.c: New file.
22398
22399 2009-11-13  Simon Josefsson  <simon@josefsson.org>
22400
22401         * tests/test-base64.c: Improve.
22402
22403 2009-11-13  Simon Josefsson  <simon@josefsson.org>
22404
22405         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
22406         Blake <ebb9@byu.net>.
22407
22408 2009-11-13  Simon Josefsson  <simon@josefsson.org>
22409
22410         * tests/test-xvasprintf.c: Add %s%s related checks.
22411
22412 2009-11-12  Eric Blake  <ebb9@byu.net>
22413
22414         version-etc: match standards.texi style
22415         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
22416         and use <> only for URLs.
22417
22418 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
22419
22420         fts: do not fail on a submount during traversal
22421         * lib/fts.c (fts_build): Read the stat info again after opening
22422         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
22423         Original report at http://bugzilla.redhat.com/501848.
22424
22425 2009-11-12  Jim Meyering  <meyering@redhat.com>
22426
22427         bootstrap: sync from coreutils
22428         * build-aux/bootstrap (bootstrap_epilogue): New function.
22429         Use git_modules_config in one more place.  This make bootstrap's
22430         --gnulib-srcdir option more useful for testing.
22431
22432         bootstrap: generalize autoheader check
22433         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
22434         AC_CONFIG_HEADERS.
22435
22436 2009-11-11  Eric Blake  <ebb9@byu.net>
22437
22438         mkfifoat: use new modules for Solaris and BSD bugs
22439         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
22440         * lib/mkfifoat.c (mknodat): Split...
22441         * lib/mknodat.c (mknodat): ...into new file.
22442         * modules/mkfifoat (Files): Ship new file.
22443         (Depends-on): Add mkfifo, mknod.
22444         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
22445         (Depends-on): Add symlink.
22446         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
22447         redundant with test_mkfifo.h.
22448         (do_mkfifoat, do_mknodat): New helpers.
22449
22450         mknod: new module
22451         * modules/mknod: New file.
22452         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
22453         * lib/mknod.c (mknod): Likewise.
22454         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
22455         defaults.
22456         * modules/sys_stat (Makefile.am): Substitute them.
22457         * lib/sys_stat.in.h (mknod): Declare replacement.
22458         * MODULES.html.sh (Support for systems lacking POSIX:2008):
22459         Document it.
22460         * doc/posix-functions/mknod.texi (mknod): Likewise.
22461         * modules/mknod-tests: New test.
22462         * tests/test-mknod.c: Likewise.
22463
22464         mkfifo: new module
22465         * modules/mkfifo: New file.
22466         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
22467         * lib/mkfifo.c (mkfifo): Likewise.
22468         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
22469         defaults.
22470         * modules/sys_stat (Makefile.am): Substitute them.
22471         * lib/sys_stat.in.h (mkfifo): Declare replacement.
22472         * MODULES.html.sh (Support for systems lacking POSIX:2008):
22473         Document it.
22474         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
22475         * modules/mkfifo-tests: New test.
22476         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
22477         from test-mkfifoat.c.
22478         * tests/test-mkfifo.c: New file.
22479
22480         readlink: detect FreeBSD bug
22481         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
22482         slash on symlink.
22483         * doc/posix-functions/readlink.texi (readlink): Document the bug.
22484         * tests/test-readlink.h (test_readlink): Enhance test.
22485
22486         symlink: detect FreeBSD bug
22487         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
22488         slash on symlink.
22489         * doc/posix-functions/symlink.texi (symlink): Document the bug.
22490         * tests/test-symlink.h (test_symlink): Enhance test.
22491
22492 2009-11-10  Eric Blake  <ebb9@byu.net>
22493
22494         link: detect FreeBSD bug
22495         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
22496         symlink.
22497         * doc/posix-functions/link.texi (link): Document the bug.
22498         * tests/test-link.h (test_link): Enhance test.
22499         * tests/test-linkat.c (main): Update caller.
22500
22501         unlink, remove: detect FreeBSD bug
22502         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
22503         slash on symlink.
22504         * doc/posix-functions/unlink.texi (unlink): Document the bug.
22505         * doc/posix-functions/remove.texi (remove): Likewise.
22506         * tests/test-unlink.h (test_unlink): Enhance test.
22507         * tests/test-remove.c (main): Likewise.
22508
22509 2009-11-09  Eric Blake  <ebb9@byu.net>
22510
22511         rename: detect FreeBSD bug
22512         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
22513         slash on symlink.
22514         * modules/renameat-tests (Depends-on): Add filenamecat.
22515         * tests/test-rename.h (test_rename): Allow one more errno.
22516         * tests/test-renameat.c (main): Likewise.
22517         * doc/posix-functions/rename.texi (rename): Document the bug.
22518
22519         open: detect FreeBSD bug
22520         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
22521         symlink.
22522         * doc/posix-functions/open.texi (open): Document the bug.
22523         * doc/posix-functions/utimes.texi (utimes): Likewise.
22524         * tests/test-open.h (test_open): Add parameters, and test symlink
22525         handling.
22526         * tests/test-open.c (main): Adjust caller.
22527         * tests/test-fcntl-safer.c (main): Likewise.
22528         * modules/open-tests (Depends-on): Add stdbool, symlink.
22529         * modules/fcntl-safer-tests (Depends-on): Likewise.
22530         * tests/test-openat.c (main): Add test-open tests.
22531
22532         stat: detect FreeBSD bug
22533         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
22534         symlink.
22535         * doc/posix-functions/stat.texi (stat): Document the bug.
22536         * tests/test-stat.h (test_stat_func): Add argument.
22537         * tests/test-stat.c (main): Adjust caller.
22538         * tests/test-fstatat.c (main): Likewise.
22539         * modules/stat-tests (Depends-on): Add stdbool, symlink.
22540         Reported by Jim Meyering.
22541
22542 2009-11-09  James Youngman  <jay@gnu.org>
22543
22544         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
22545         * lib/strftime.c: Correct placement of #include "ignore-value.h".
22546
22547 2009-11-08  Jim Meyering  <meyering@redhat.com>
22548
22549         utimens: remove invalid futimesat call
22550         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
22551         It used the file descriptor of the target file as the DIR_FD
22552         parameter and NULL as the file name.  That caused failure with
22553         errno == EFAULT on FreeBSD-8.0-rc2
22554
22555 2009-11-07  Eric Blake  <ebb9@byu.net>
22556
22557         fflush, freadseek: use fseeko, not fseek
22558         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
22559         (clear_ungetc_buffer): Avoid potential problems on large files.
22560         * lib/freadseek.c (freadseek): Likewise.
22561         * modules/freadseek (Depends-on): Add fseeko.
22562         * modules/fseek (configure.ac): Set a witness.
22563         * tests/test-fflush.c (main): Use fseeko.
22564         * tests/test-fpurge.c (fseek): Disable link warning.
22565         * tests/test-freadable.c (fseek): Likewise.
22566         * tests/test-freading.c (fseek): Likewise.
22567         * tests/test-fseeko.c (fseek): Likewise.
22568         * tests/test-ftell.c (fseek): Likewise.
22569         * tests/test-ftello.c (fseek): Likewise.
22570         * tests/test-fwritable.c (fseek): Likewise.
22571         * tests/test-fwriting.c (fseek): Likewise.
22572
22573 2009-11-06  Simon Josefsson  <simon@josefsson.org>
22574
22575         * modules/memchr (Depends-on): Drop getpagesize dependency.
22576
22577 2009-11-06  Simon Josefsson  <simon@josefsson.org>
22578
22579         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
22580         Reported by Ludovic Courtès.
22581         * build-aux/pmccabe2html: Improve example usage.
22582         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
22583
22584 2009-11-06  Jim Meyering  <meyering@redhat.com>
22585
22586         do-release-commit-and-tag: New module.
22587         Automate the release-commit and tag process.
22588         * build-aux/do-release-commit-and-tag: New script, from coreutils.
22589         * modules/do-release-commit-and-tag: New file.
22590         * MODULES.html.sh (Support for maintaining and releasing): Add it.
22591
22592 2009-11-06  Simon Josefsson  <simon@josefsson.org>
22593
22594         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
22595         because test-select.c uses inet_pton.
22596
22597 2009-11-06  Simon Josefsson  <simon@josefsson.org>
22598
22599         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
22600         GETADDRINFO_LIB.  Bump serial number.
22601         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
22602         Suggested by Eric Blake <ebb9@byu.net>.
22603
22604 2009-11-05  Eric Blake  <ebb9@byu.net>
22605
22606         strtod: detect darwin bug
22607         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
22608         Reported by Leo Davis.
22609
22610         freopen-safer: new module
22611         * modules/freopen-safer: New module.
22612         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
22613         * lib/freopen-safer.c (freopen_safer): New file.
22614         * lib/stdio-safer.h (freopen_safer): New declaration.
22615         * lib/stdio--.h (freopen): New override.
22616         * MODULES.html.sh (File stream based Input/Output): Mention it.
22617         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
22618         freopen-safer module.
22619         * doc/posix-functions/stderr.texi (stderr): Likewise.
22620         * doc/posix-functions/stdin.texi (stdin): Likewise.
22621         * doc/posix-functions/stdout.texi (stdout): Likewise.
22622         * modules/freopen-safer-tests: New test.
22623         * tests/test-reopen-safer.c: New file.
22624
22625 2009-11-05  Jim Meyering  <meyering@redhat.com>
22626
22627         maint.mk: Prohibit inclusion of "close-stream.h" without use.
22628         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
22629
22630 2009-11-05  Simon Josefsson  <simon@josefsson.org>
22631
22632         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
22633
22634 2009-11-05  Simon Josefsson  <simon@josefsson.org>
22635
22636         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
22637
22638 2009-11-05  Simon Josefsson  <simon@josefsson.org>
22639
22640         Fix link error.
22641         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
22642         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
22643
22644 2009-11-05  Simon Josefsson  <simon@josefsson.org>
22645
22646         * tests/test-func.c: Also test value of __func__.
22647
22648 2009-11-05  Simon Josefsson  <simon@josefsson.org>
22649
22650         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
22651         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
22652
22653 2009-11-05  Bruno Haible  <bruno@clisp.org>
22654
22655         Fix link error.
22656         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
22657         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
22658         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
22659
22660 2009-11-05  Bruno Haible  <bruno@clisp.org>
22661
22662         Tests for module 'inet_pton'.
22663         * modules/inet_pton-tests: New file.
22664         * tests/test-inet_pton.c: New file.
22665
22666 2009-11-05  Bruno Haible  <bruno@clisp.org>
22667
22668         Tests for module 'inet_ntop'.
22669         * modules/inet_ntop-tests: New file.
22670         * tests/test-inet_ntop.c: New file.
22671
22672 2009-11-04  Eric Blake  <ebb9@byu.net>
22673
22674         stdlib-safer: wrap all mkstemp variants
22675         * modules/mkostemp (configure.ac): Set witness.
22676         * modules/mkostemps (configure.ac): Likewise.
22677         * modules/mkstemps (configure.ac): Likewise.
22678         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
22679         (mkstemps_safer): Wrap more functions.
22680         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
22681         wrapping.
22682         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
22683         (mkstemps_safer): Implement the wrappers.
22684
22685         mkstemps, mkostemps: new modules
22686         * modules/mkostemps: New module.
22687         * modules/mkstemps: Likewise.
22688         * lib/mkostemps.c (mkostemps): New file.
22689         * lib/mkstemps.c (mkstemps): Likewise.
22690         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
22691         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
22692         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
22693         * modules/stdlib (Makefile.am): Substitute them.
22694         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
22695         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
22696         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
22697         * doc/gnulib.texi (Glibc stdlib.h): Include them.
22698         * MODULES.html.sh (File system functions): Mention them.
22699
22700         tempname: resync from glibc
22701         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
22702         same values for __GT_FILE as glibc.  Abort even when assertions
22703         are disabled.
22704         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
22705         match its value otherwise.  Allow idempotent inclusion.
22706         * lib/mkdtemp.c (mkdtemp): Adjust caller.
22707         * lib/mkostemp.c (mkostemp): Likewise.
22708         * lib/mkstemp.c (mkstemp): Likewise.
22709         * lib/tmpfile.c (tmpfile): Likewise.
22710         * NEWS: Document this.
22711
22712         utimens: fix use of futimens on older Linux
22713         * lib/utimens.c (fdutimens): Use updated, rather than original,
22714         timespec to avoid bug in older Linux kernel.
22715         Reported by Simon Josefsson.
22716
22717 2009-11-04  Bruno Haible  <bruno@clisp.org>
22718
22719         Make num_processors more flexible and consistent.
22720         * lib/nproc.h (enum nproc_query): New type.
22721         (num_processors): Add a 'query' argument.
22722         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
22723         (num_processors): Add a 'query' argument. Test the value of the
22724         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
22725         mingw, count the number of CPUs available for the current process.
22726         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
22727         Check for sched_getaffinity and sched_getaffinity_np.
22728         * modules/nproc (Depends-on): Add c-ctype, extensions.
22729         * NEWS: Mention the change.
22730
22731 2009-11-03  Bruno Haible  <bruno@clisp.org>
22732
22733         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
22734
22735 2009-11-03  Jim Meyering  <meyering@redhat.com>
22736
22737         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
22738         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
22739         if it is defined.
22740
22741 2009-11-02  Eric Blake  <ebb9@byu.net>
22742
22743         mktime, timegm: share common declaration
22744         * lib/mktime-internal.h: New file.
22745         * lib/mktime.c: Use it rather than open-coding a declaration.
22746         * lib/timegm.c: Likewise.
22747         * modules/mktime (Files): Ship it.
22748         * modules/timegm (Files): Likewise.
22749         Suggested by Bruno Haible.
22750
22751         test-update-copyright: update test to match script changes
22752         * tests/test-update-copyright.sh: Avoid hard-coding perl
22753         location.  Don't update *.bak created by earlier runs.
22754
22755 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
22756             Simon Josefsson  <simon@josefsson.org>
22757             Bruno Haible  <bruno@clisp.org>
22758
22759         Fix link error on Solaris 8.
22760         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
22761         also in libnsl. Define also INET_PTON_LIB.
22762         * modules/inet_pton (Link): New section.
22763
22764 2009-11-02  Simon Josefsson  <simon@josefsson.org>
22765             Bruno Haible  <bruno@clisp.org>
22766
22767         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
22768         * modules/inet_ntop (Link): New section.
22769         Reported by Boyan Kasarov <bkasarov@gmail.com>.
22770
22771 2009-11-02  Eric Blake  <ebb9@byu.net>
22772
22773         maint: avoid compiler warnings in m4 macros
22774         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
22775         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
22776
22777 2009-11-02  Simon Josefsson  <simon@josefsson.org>
22778
22779         * m4/pmccabe2html.m4: Remove file.
22780         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
22781         function.  Change maintainer.
22782         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
22783         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
22784         Courtès).
22785
22786 2009-10-31  Eric Blake  <ebb9@byu.net>
22787
22788         fseeko: fix m4 regression
22789         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
22790         regression from 2009-10-27.
22791         Reported by Ralf Wildenhues.
22792
22793 2009-10-31  Jim Meyering  <meyering@redhat.com>
22794
22795         inttostr: aesthetics and improved (compile-time) safety
22796         Define inttype_is_signed rather than inttype_is_unsigned,
22797         since the sole use is via "#if inttype_is_signed".
22798         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
22799         inttype_is_unsigned.
22800         * lib/offtostr.c (inttype_is_signed): Likewise.
22801         * lib/uinttostr.c (inttype_is_signed): Likewise.
22802         * lib/umaxtostr.c (inttype_is_signed): Likewise.
22803         * lib/inttostr.c (inttostr): Use verify to cross-check the
22804         inttype_is_signed value and the signedness of the actual type.
22805         * modules/inttostr (Depends-on): Add verify.
22806
22807 2009-10-30  Eric Blake  <ebb9@byu.net>
22808
22809         build: avoid compiler warnings
22810         * lib/fchmodat.c (lchmod): Mark unused variables.
22811         * lib/getopt.c (_getopt_initialize): Likewise.
22812         * lib/mktime.c (__mktime_internal): Provide prototype.
22813         * lib/inttostr.c (inttostr): Avoid compiler warning even with
22814         older gcc that do not understand #pragma GCC diagnostic.
22815         * lib/uinttostr.c (inttype_is_unsigned): Define.
22816         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
22817
22818 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
22819
22820         stat: fix compilation on AIX
22821         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
22822         only see struct stat64.
22823
22824 2009-10-30  Eric Blake  <ebb9@byu.net>
22825
22826         exclude: make more robust
22827         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
22828         rather than masking a coding bug.
22829         Suggested by Bruno Haible.
22830
22831 2009-10-30  Jim Meyering  <meyering@redhat.com>
22832
22833         perl scripts: remove #!/usr/bin/perl in favor of more portable...
22834         Rather than putting #!/usr/bin/perl on the first line,
22835         start with a variant of what's recommended by "man perlrun" that
22836         invokes the first "perl" program from your shell's search path.
22837         * build-aux/gitlog-to-changelog: Replace #!... as above.
22838         Add a "Local Variables" perl mode setting.
22839         Prompted by a patch from Ludovic Courtès.
22840         Improved by Eric Blake.
22841         * build-aux/useless-if-before-free: Likewise.
22842         * build-aux/announce-gen: Likewise.
22843         * build-aux/update-copyright: Likewise.
22844
22845 2009-10-29  Eric Blake  <ebb9@byu.net>
22846
22847         filenamecat-lgpl: adjust clients
22848         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
22849         filenamecat.
22850         * modules/renameat (Depends-on): Likewise.
22851
22852         filenamecat: split into filenamecat-lgpl
22853         * modules/filenamecat-lgpl: New module.
22854         * modules/filenamecat (Files): Move library-safe files into
22855         filenamecat-lgpl.
22856         (Depends-on): Add filenamecat-lgpl.
22857         (configure.ac): Declare witness.
22858         * lib/filenamecat.h (file_name_concat): Only declare when using
22859         GPL module.
22860         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
22861         Move...
22862         * lib/filenamecat-lgpl.c: ...into new file.
22863         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
22864         (gl_FILE_NAME_CONCAT): Use it.
22865         * MODULES.html.sh (File system functions): Mention new module.
22866
22867         argp: avoid memory leak
22868         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
22869         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
22870         base_name, since the latter malloc()s and can call exit().
22871         Leak introduced 2006-07-03.
22872
22873         dirname-lgpl: adjust clients that don't need full dirname
22874         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
22875         * modules/filenamecat (Depends-on): Likewise.
22876         * modules/linkat (Depends-on): Likewise.
22877         * modules/mkancesdirs (Depends-on): Likewise.
22878         * modules/mkdir (Depends-on): Likewise.
22879         * modules/openat (Depends-on): Likewise.
22880         * modules/savewd (Depends-on): Likewise.
22881         * modules/rename (Depends-on): Likewise.
22882         (License): Relax license.
22883         * modules/mkdir-tests (Depends-on): Drop progname.
22884         (Makefile.am): Delete unneeded LDADD.
22885         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
22886
22887         dirname: split into dirname-lgpl
22888         * modules/dirname-lgpl: New module.
22889         * modules/dirname (Files): Move library-safe files into
22890         dirname-lgpl.
22891         (Depends-on): Add dirname-lgpl.
22892         (configure.ac): Declare witness.
22893         * modules/double-slash-root (License): Relax license.
22894         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
22895         module.
22896         * lib/dirname.c (dir_len, mdir_name): Move...
22897         * lib/dirname-lgpl.c: ...into new file.
22898         * lib/basename.c (last_component, base_len): Move...
22899         * lib/basename-lgpl.c: ...into new file.
22900         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
22901         (gl_DIRNAME): Use it.
22902         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
22903         Mention new module.
22904         * modules/dirname-tests (Depends-on): Add progname.
22905         * tests/test-dirname.c (program_name): Delete.
22906
22907         mkdir: make safe for libraries
22908         * modules/mkdir (Depends-on): Drop xalloc.
22909         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
22910         exit.
22911
22912         tests: avoid some compiler warnings
22913         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
22914         literals.
22915         * tests/test-memchr.c (main): Avoid type mismatch.
22916         * tests/test-arpa_inet.c (main): Avoid unused parameters.
22917         * tests/test-base64.c (main): Likewise.
22918         * tests/test-getdelim.c (main): Likewise.
22919         * tests/test-gethostname.c (main): Likewise.
22920         * tests/test-getline.c (main): Likewise.
22921         * tests/test-netinet_in.c (main): Likewise.
22922         * tests/test-select.c (open_server_socket, main): Likewise.
22923         * tests/test-select-stdin.c (main): Likewise.
22924         * tests/test-sockets.c (main): Likewise.
22925         * tests/test-strsignal.c (main): Likewise.
22926         * tests/test-sys_select.c (main): Likewise.
22927         * tests/test-sys_socket.c (main): Likewise.
22928         * tests/test-u64.c (main): Likewise.
22929         * tests/test-xfprintf-posix.c (main): Likewise.
22930         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
22931
22932         sockets: avoid compiler warning
22933         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
22934
22935         maint: detect usage(1) and other suspicious exits
22936         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
22937
22938 2009-10-29  Jim Meyering  <meyering@redhat.com>
22939
22940         timespec: long-to-int truncation could make timespec_cmp malfunction
22941         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
22942         a multiple of 2^32 nanoseconds as no difference.
22943
22944 2009-10-28  Jim Meyering  <meyering@redhat.com>
22945
22946         fprintftime: wrap macro code argument in "do {...} while(0)"
22947         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
22948         cpy macro must be a statement that can be followed by a semicolon.
22949         Now that the else clause contains a comment and is hence longer
22950         than one line, I require curly braces.  That in turn requires
22951         that we wrap this code block in the standard do...while(0).
22952
22953         fprintftime: remove stray semicolon from previous change
22954         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
22955
22956         fprintftime: avoid a warning about ignored fwrite return value
22957         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
22958         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
22959         that is unsafe.
22960         * modules/fprintftime (Depends-on): Add ignore-value.
22961
22962         exclude: avoid an unwarranted warning
22963         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
22964
22965 2009-10-27  Eric Blake  <ebb9@byu.net>
22966
22967         fseek: avoid compilation failure when fflush is replaced
22968         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
22969         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
22970         module is in use.
22971         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
22972         module is not in use; since REPLACE_FSEEK worked otherwise.
22973         (GNULIB_FTELLO): Likewise for ftell.
22974         Reported by Ian Beckwith and others.
22975
22976 2009-10-27  Bruno Haible  <bruno@clisp.org>
22977
22978         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
22979         Reported by Jim Meyering.
22980
22981 2009-10-27  Jim Meyering  <jim@meyering.net>
22982             Bruno Haible  <bruno@clisp.org>
22983
22984         Avoid warning despite dropping the return value of fwrite.
22985         * lib/unicodeio.c: Include ignore-value.h.
22986         (fwrite_success_callback): Explicitly ignore fwrite's return value.
22987         * modules/unicodeio (Depends-on): Add ignore-value.
22988
22989 2009-10-26  Eric Blake  <ebb9@byu.net>
22990
22991         areadlinkat: fix fallback path
22992         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
22993         pointer and zero.
22994
22995 2009-10-22  Pádraig Brady  <P@draigBrady.com>
22996
22997         Use a better IO block size for modern systems
22998         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
22999         * lib/md2.c: Likewise.
23000         * lib/md4.c: Likewise.
23001         * lib/md5.c: Likewise.
23002         * lib/sha1.c: Likewise.
23003         * lib/sha256.c: Likewise.
23004         * lib/sha512.c: Likewise.
23005
23006 2009-10-22  Eric Blake  <ebb9@byu.net>
23007
23008         tests: avoid several compiler warnings
23009         * tests/test-getcwd.c (main): Avoid buffer underflow.
23010         * tests/test-getdate.c (main): String literals are not safe with
23011         putenv, so use setenv.  Declare unused argument.
23012         * modules/getdate-tests (Depends-on): Add setenv.
23013         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
23014         problems with string literals in char *.
23015         * tests/test-hash.c (main): Avoid shadowing declaration.
23016         (insert_new): Treat string literals as char const *.
23017         * tests/test-getopt.h (test_getopt): Likewise.
23018         (getopt_loop): Alter types to minimize casting elsewhere.
23019         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
23020         (test_getopt_long_posix): Likewise.
23021         (do_getopt_long): Add wrapper to minimize casting.
23022         * tests/test-atexit.c (clear_temp_file): Use void.
23023         * tests/test-areadlink-with-size.c (main): Declare unused
23024         arguments.
23025         * tests/test-areadlink.c (main): Likewise.
23026         * tests/test-areadlinkat-with-size.c (main): Likewise.
23027         * tests/test-areadlinkat.c (main): Likewise.
23028         * tests/test-canonicalize-lgpl.c (main): Likewise.
23029         * tests/test-canonicalize.c (main): Likewise.
23030         * tests/test-dirent-safer.c (main): Likewise.
23031         * tests/test-dirname.c (main): Likewise.
23032         * tests/test-dup2.c (main): Likewise.
23033         * tests/test-fchdir.c (main): Likewise.
23034         * tests/test-fcntl-h.c (main): Likewise.
23035         * tests/test-fcntl-safer.c (main): Likewise.
23036         * tests/test-fdopendir.c (main): Likewise.
23037         * tests/test-fdutimensat.c (main): Likewise.
23038         * tests/test-fflush.c (main): Likewise.
23039         * tests/test-filenamecat.c (main): Likewise.
23040         * tests/test-filevercmp.c (main): Likewise.
23041         * tests/test-fopen-safer.c (main): Likewise.
23042         * tests/test-fopen.c (main): Likewise.
23043         * tests/test-fpending.c (main): Likewise.
23044         * tests/test-fpurge.c (main): Likewise.
23045         * tests/test-freading.c (main): Likewise.
23046         * tests/test-fstatat.c (main): Likewise.
23047         * tests/test-fsync.c (main): Likewise.
23048         * tests/test-futimens.c (main): Likewise.
23049         * tests/test-getndelim2.c (main): Likewise.
23050         * tests/test-gettimeofday.c (main): Likewise.
23051         * tests/test-getopt.c (main): Likewise.
23052         * tests/test-i-ring.c (main): Likewise.
23053         * tests/test-inttypes.c (main): Likewise.
23054         * tests/test-link.c (main): Likewise.
23055         * tests/test-lstat.c (main): Likewise.
23056         * tests/test-math.c (main): Likewise.
23057         * tests/test-md5.c (main): Likewise.
23058         * tests/test-memchr2.c (main): Likewise.
23059         * tests/test-memrchr.c (main): Likewise.
23060         * tests/test-mkdir.c (main): Likewise.
23061         * tests/test-mkdirat.c (main): Likewise.
23062         * tests/test-mkfifoat.c (main): Likewise.
23063         * tests/test-open.c (main): Likewise.
23064         * tests/test-openat-safer.c (main): Likewise.
23065         * tests/test-openat.c (main): Likewise.
23066         * tests/test-quotearg.c (main): Likewise.
23067         * tests/test-rawmemchr.c (main): Likewise.
23068         * tests/test-readlink.c (main): Likewise.
23069         * tests/test-remove.c (main): Likewise.
23070         * tests/test-rename.c (main): Likewise.
23071         * tests/test-renameat.c (main): Likewise.
23072         * tests/test-rmdir.c (main): Likewise.
23073         * tests/test-sha1.c (main): Likewise.
23074         * tests/test-signal.c (main): Likewise.
23075         * tests/test-sigaction.c (main): Likewise.
23076         * tests/test-stat.c (main): Likewise.
23077         * tests/test-stat-time.c (main): Likewise.
23078         * tests/test-stddef.c (main): Likewise.
23079         * tests/test-stdint.c (main): Likewise.
23080         * tests/test-stdio.c (main): Likewise.
23081         * tests/test-stdlib.c (main): Likewise.
23082         * tests/test-strchrnul.c (main): Likewise.
23083         * tests/test-strerror.c (main): Likewise.
23084         * tests/test-string.c (main): Likewise.
23085         * tests/test-strtod.c (main): Likewise.
23086         * tests/test-strverscmp.c (main): Likewise.
23087         * tests/test-symlink.c (main): Likewise.
23088         * tests/test-symlinkat.c (main): Likewise.
23089         * tests/test-sys_stat.c (main): Likewise.
23090         * tests/test-sys_time.c (main): Likewise.
23091         * tests/test-time.c (main): Likewise.
23092         * tests/test-unistd.c (main): Likewise.
23093         * tests/test-unlink.c (main): Likewise.
23094         * tests/test-unlinkat.c (main): Likewise.
23095         * tests/test-utimens.c (main): Likewise.
23096         * tests/test-utimensat.c (main): Likewise.
23097         * tests/test-version-etc.c (main): Likewise.
23098         * tests/test-wchar.c (main): Likewise.
23099         * tests/test-wctype.c (main): Likewise.
23100         * tests/test-xprintf-posix.c (main): Likewise.
23101         * tests/test-posixtm.c (main): Likewise.
23102         (STREQ): Delete unused macro.
23103         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
23104         shadowed variables.
23105         * tests/test-memchr.c (main): Likewise.
23106
23107 2009-10-21  Eric Blake  <ebb9@byu.net>
23108
23109         areadlinkat: avoid failure on older glibc
23110         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
23111         rather than mis-comparing 0 against FUNC_RESULT of char*.
23112
23113 2009-10-21  Bruno Haible  <bruno@clisp.org>
23114
23115         * modules/stpncpy (License): Relicense under LGPLv2+.
23116         Reported by David Lutterkort <lutter@redhat.com>.
23117
23118 2009-10-20  Eric Blake  <ebb9@byu.net>
23119
23120         utimensat: work around Solaris 9 bug
23121         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
23122         has trailing slash bugs.
23123         * tests/test-lutimens.h (test_lutimens): Enhance test.
23124         * tests/test-utimens.h (test_utimens): Likewise.
23125         * doc/posix-functions/utime.texi (utime): Enhance documentation.
23126         * doc/posix-functions/utimes.texi (utimes): Likewise.
23127         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
23128         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
23129         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
23130         * doc/posix-functions/futimens.texi (futimens): Likewise.
23131
23132         fdutimensat: new module
23133         * modules/fdutimensat: New file.
23134         * lib/fdutimensat.c (fdutimensat): Likewise.
23135         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
23136         * MODULES.html.sh (File system functions): Mention module.
23137         * modules/fdutimensat-tests: New test.
23138         * tests/test-fdutimensat.c: Likewise.
23139
23140         doc: regenerate INSTALL
23141         * doc/INSTALL: Reflect recent autoconf update.
23142         * doc/INSTALL.ISO: Likewise.
23143         * doc/INSTALL.UTF-8: Likewise.
23144
23145 2009-10-20  Pádraig Brady  <P@draigBrady.com>
23146
23147         acl: warn if ACL support is not detected
23148         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
23149
23150 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
23151
23152         * lib/nproc.h: Add extern "C" block for C++.
23153
23154 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
23155             Bruno Haible  <bruno@clisp.org>
23156
23157         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
23158         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
23159         * doc/posix-functions/isalpha.texi: Likewise.
23160         * doc/posix-functions/isblank.texi: Likewise.
23161         * doc/posix-functions/iscntrl.texi: Likewise.
23162         * doc/posix-functions/isdigit.texi: Likewise.
23163         * doc/posix-functions/isgraph.texi: Likewise.
23164         * doc/posix-functions/islower.texi: Likewise.
23165         * doc/posix-functions/isprint.texi: Likewise.
23166         * doc/posix-functions/ispunct.texi: Likewise.
23167         * doc/posix-functions/isspace.texi: Likewise.
23168         * doc/posix-functions/isupper.texi: Likewise.
23169         * doc/posix-functions/isxdigit.texi: Likewise.
23170
23171 2009-10-18  Bruno Haible  <bruno@clisp.org>
23172
23173         Tests for module 'isblank'.
23174         * modules/isblank-tests: New file.
23175         * tests/test-isblank.c: New file.
23176
23177         New module 'isblank'.
23178         * lib/isblank.c: New file.
23179         * m4/isblank.m4: New file.
23180         * modules/isblank: New file.
23181         * doc/posix-functions/isblank.texi: Mention the new module.
23182
23183 2009-10-18  Bruno Haible  <bruno@clisp.org>
23184
23185         New module 'ctype'.
23186         * lib/ctype.in.h: New file.
23187         * m4/ctype.m4: New file.
23188         * modules/ctype: New file.
23189         * doc/posix-headers/ctype.texi: Mention the new module.
23190
23191 2009-10-18  Jim Meyering  <meyering@redhat.com>
23192
23193         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
23194         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
23195         right after its initialization, rather than farther down.
23196         Keeping these in close proximity makes it easier to ensure
23197         that each such variable is initialized.  E.g.,
23198
23199             LIB_CLOCK_GETTIME=
23200             AC_SUBST([LIB_CLOCK_GETTIME])
23201
23202         This change also increments these serial numbers.
23203         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
23204         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
23205         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
23206
23207 2009-10-18  Bruno Haible  <bruno@clisp.org>
23208
23209         Don't let environment variables perturb build.
23210         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
23211         (gl_PREREQ_GETHRXTIME): ... not here.
23212
23213 2009-10-18  Bruno Haible  <bruno@clisp.org>
23214
23215         Avoid symlink attack in localcharset module.
23216         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
23217         (O_NOFOLLOW): Define fallback.
23218         (get_charset_aliases): Don't open the file if it is a symbolic link.
23219         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
23220         gl_FCNTL_H.
23221         (gl_FCNTL_H): Require it.
23222         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
23223         * modules/localcharset (Files): Add m4/fcntl_h.m4.
23224         Reported by Fergal Glynn <fglynn@veracode.com>.
23225
23226 2009-10-18  Bruno Haible  <bruno@clisp.org>
23227
23228         Implement nproc for mingw.
23229         * lib/nproc.c: Include <windows.h>
23230         (num_processors): On native Windows platforms, try GetSystemInfo.
23231
23232 2009-10-18  Bruno Haible  <bruno@clisp.org>
23233
23234         Implement nproc for IRIX.
23235         * lib/nproc.c: Include <sys/sysmp.h>.
23236         (num_processors): On IRIX systems, try sysmp.
23237         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
23238
23239 2009-10-18  Bruno Haible  <bruno@clisp.org>
23240
23241         Implement nproc for HP-UX.
23242         * lib/nproc.c: Include <sys/pstat.h>
23243         (num_processors): On HP-UX systems, try pstat_getdynamic.
23244         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
23245         pstat_getdynamic.
23246
23247 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
23248             Bruno Haible  <bruno@clisp.org>
23249
23250         Implement nproc for NetBSD, OpenBSD.
23251         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
23252         (ARRAY_SIZE): New macro.
23253         (num_processors): On BSD systems, try sysctl of HW_NCPU.
23254         * m4/nproc.m4: New file.
23255         * modules/nproc (Files): Add m4/nproc.m4.
23256         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
23257         (Makefile.am): Instead, augment lib_SOURCES.
23258
23259 2009-10-18  Bruno Haible  <bruno@clisp.org>
23260
23261         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
23262         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
23263         sys/param.h.
23264
23265 2009-10-16  Eric Blake  <ebb9@byu.net>
23266
23267         utimensat: new module
23268         * modules/utimensat: New file.
23269         * lib/utimensat.c (utimensat): Likewise.
23270         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
23271         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
23272         so we can work around Linux bugs.
23273         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
23274         * modules/sys_stat (Makefile.am): Substitute them.
23275         * lib/sys_stat.in.h (utimensat): Declare it.
23276         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
23277         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
23278         * modules/utimensat-tests: New test.
23279         * tests/test-utimensat.c: Likewise.
23280
23281         utimens: let lutimens work on non-symlinks
23282         * lib/utimens.c (lutimens): Fall back to utimens rather than
23283         failing with ENOSYS, when file is not a symlink.
23284         (utimens): Reduce redirection.
23285         * tests/test-lutimens.h (test_lutimens): Update test to cover
23286         non-symlinks.
23287         * tests/test-utimens.h (test_utimens): Update test to cover
23288         symlinks.
23289         * tests/test-utimens.c (main): Update caller.
23290
23291         utimens: cache whether utimensat syscall works
23292         * lib/utimens.c (utimensat_works_really): New cache variable.
23293         (fdutimens, lutimens): Use it to avoid failing syscall.
23294
23295         test-stat-time, test-utimens: improve portability
23296         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
23297         ext4 on alpha, and for cygwin.
23298         * tests/test-utimens-common.h: New file.
23299         (nap): Factor delays into single function.
23300         * tests/test-lutimens.h (test_lutimens): Use new header.
23301         * tests/test-futimens.h (test_futimens): Likewise.
23302         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
23303         timestamps to occur from same machine, as was done previously for
23304         test_utimens.
23305         * modules/utimens-tests (Files): Ship new file.
23306         * modules/futimens-tests (Files): Likewise.
23307         Reported in part by Jim Meyering.
23308
23309         sys_stat: sort replacement declarations
23310         * lib/sys_stat.in.h: Sort declarations.
23311         * lib/futimens.c (futimens): Fix typo.
23312
23313 2009-10-15  Jim Meyering  <meyering@redhat.com>
23314
23315         don't let environment settings perturb build
23316         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
23317         could cause a configure-time and/or build-time malfunction.
23318         Typically, a configure-time function-in-library test is performed
23319         via code like this:
23320
23321           LIB_VAR=
23322           AC_SUBST([LIB_VAR])
23323           prefix_saved_LIBS=$LIBS
23324             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
23325                        [test "$ac_cv_search_FUNC" = "none required" ||
23326                         LIB_VAR=$ac_cv_search_FUNC])
23327           LIBS=$prefix_saved_LIBS
23328
23329         However, in each of the files affected by this change, the LIB_VAR=
23330         initialization was omitted.  Thus, when set in the environment, its
23331         value would propagate into generated Makefiles when FUNC is not found
23332         in LIB_NAME.
23333         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
23334         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
23335         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
23336
23337 2009-10-14  Eric Blake  <ebb9@byu.net>
23338
23339         fchdir: avoid infinite recursion in mingw
23340         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
23341         recursing.
23342
23343         test-stat-time: port to mingw
23344         * tests/test-stat-time.c (force_unlink): Return a value.
23345         (test_ctime) [W32]: Fix compilation error.
23346         (nap): Don't call usleep with too large an argument.  Use
23347         force_unlink.
23348         * doc/pastposix-functions/usleep.texi (usleep): Document the
23349         portability issue.
23350
23351 2009-10-13  Jim Meyering  <meyering@redhat.com>
23352
23353         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
23354         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
23355         * modules/pipe-filter-ii: Likewise.
23356         * modules/sys_socket-tests: Likewise.
23357         * modules/tsearch-tests: Likewise.
23358         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
23359         (check): Depend on it.
23360
23361 2009-10-12  Eric Blake  <ebb9@byu.net>
23362
23363         utimens-tests: port to NFS file systems
23364         * tests/test-utimens.h (test_utimens): Refactor utimecmp
23365         comparisons to avoid spurious failures from timestamp drift
23366         between NFS machines.
23367
23368 2009-10-12  Eric Blake  <ebb9@byu.net>
23369
23370         stat-time-tests: minor cleanups
23371         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
23372         * tests/test-stat-time.c (nap): Separate assignment from call.
23373         Suggested by Paolo Bonzini and Bruno Haible.
23374
23375         sys_stat: guarantee struct timespec
23376         * lib/sys_stat.in.h (includes): Always include <time.h>
23377         * modules/sys_stat (Depends-on): Add time.
23378         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
23379         mode_t permission values.
23380         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
23381         get at subsecond timestamps.
23382
23383 2009-10-10  Eric Blake  <ebb9@byu.net>
23384
23385         futimens: new module
23386         * modules/futimens: New file.
23387         * lib/futimens.c (futimens): Likewise.
23388         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
23389         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
23390         we can work around Linux bugs.
23391         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
23392         * modules/sys_stat (Makefile.am): Substitute them.
23393         * lib/sys_stat.in.h (futimens): Declare it.
23394         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
23395         * doc/posix-functions/futimens.texi (futimens): Likewise.
23396         * modules/futimens-tests: New test.
23397         * tests/test-futimens.c: Likewise.
23398
23399         utimens: introduce fdutimens
23400         * lib/utimens.h (fdutimens): New prototype.
23401         * lib/utimens.c (gl_futimens): Move guts...
23402         (fdutimens): ...to new interface.
23403         * tests/test-utimens.c (do_fdutimens): Use it.
23404
23405         utimens: add UTIME_NOW and UTIME_OMIT support
23406         * lib/utimens.c (validate_timespec, update_timespec): New helper
23407         functions.
23408         (gl_futimens, lutimens): Use them.
23409         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
23410         stdbool, sys_stat.
23411         (Link): Mention resulting library dependency.
23412         * modules/utimecmp (Link): Likewise.
23413         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
23414         (Makefile.am): Pick up library dependency.
23415         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
23416         definition.
23417         * tests/test-sys_stat.c: Test the definitions.
23418         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
23419         * NEWS: Document library dependency.
23420
23421         utimecmp: support symlink timestamps
23422         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
23423         hashing when possible.  Use pathconf when available.
23424         (SYSCALL_RESOLUTION): Recognize tighter resolution.
23425         * modules/utimecmp (Depends-on): Add lstat.
23426
23427         utimens: add lutimens interface
23428         * lib/utimens.c (lutimens): New function.
23429         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
23430         * lib/utimens.h (lutimens): Declare new interface.
23431         * tests/test-utimens.c (main): Enhance test.
23432         * tests/test-lutimens.h (test_lutimens): New file.
23433         * modules/utimens-tests (Files): Distribute it.
23434         (Depends-on): Add symlink.
23435         (configure.ac): Check for usleep.
23436
23437         utimens: validate futimens usage
23438         * lib/utimens.c (gl_futimens): Require valid fd up front, using
23439         fewer syscalls on failure later on.  Avoid compiler warning on
23440         mingw.
23441         * modules/utimens (Depends-on): Add dup2.
23442
23443         utimens: add test
23444         * modules/utimens-tests: New test.
23445         * tests/test-utimens.h: New file.
23446         * tests/test-futimens.h: Likewise.
23447         * tests/test-utimens.c: Likewise.
23448
23449         doc: mention timestamp portability issues
23450         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
23451         instead.
23452         * doc/posix-functions/utime.texi (utime): Likewise.
23453         * doc/posix-functions/utimes.texi (utimes): Likewise.
23454         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
23455         instead.
23456         * doc/posix-functions/futimens.texi (futimens): Mention utimens
23457         module.
23458         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
23459         Mention weakness with symlink timestamps.
23460         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
23461         to utimensat/futimens instead.
23462         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
23463
23464         test-dup2: enhance test
23465         * tests/test-dup2.c (main): Also check AT_FDCWD.
23466
23467         test-stat-time: avoid more spurious failures
23468         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
23469         xfs; and avoid race if the two timestamps cross quantization edge.
23470
23471         relocatable: prefer 'file system' over 'filesystem'
23472         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
23473         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
23474         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
23475         * doc/relocatable.texi (Enabling Relocatability): Likewise.
23476         * lib/relocatable.c (compute_curr_prefix): Likewise.
23477
23478 2009-10-10  Jim Meyering  <meyering@redhat.com>
23479
23480         stat-time-tests: check for the usleep function
23481         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
23482
23483 2009-10-10  Bruno Haible  <bruno@clisp.org>
23484
23485         * modules/xnanosleep: Put the Link section after the Include section.
23486
23487 2009-10-09  Eric Blake  <ebb9@byu.net>
23488
23489         dup2: work around FreeBSD 6.1 bug
23490         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
23491         * doc/posix-functions/dup2.texi (dup2): Document it.
23492         Reported by Nelson H. F. Beebe and Jim Meyering.
23493
23494         test-stat-time: port to buggy NFS clients
23495         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
23496         (test_ctime): Also skip test if mtime and ctime are skewed.
23497
23498         maint: prefer 'file system' over 'filesystem'
23499         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
23500         * doc/posix-functions/lstat.texi (lstat): Likewise.
23501         * lib/file-has-acl.c (file_has_acl): Likewise.
23502         * lib/fwriteerror.c [TEST]: Likewise.
23503         * tests/test-areadlink.h (test_areadlink): Likewise.
23504         * tests/test-areadlinkat-with-size.c (main): Likewise.
23505         * tests/test-areadlinkat.c (main): Likewise.
23506         * tests/test-canonicalize-lgpl.c (main): Likewise.
23507         * tests/test-canonicalize.c (main): Likewise.
23508         * tests/test-fstatat.c (main): Likewise.
23509         * tests/test-linkat.c (main): Likewise.
23510         * tests/test-lstat.h (test_lstat_func): Likewise.
23511         * tests/test-mkdir.h (test_mkdir): Likewise.
23512         * tests/test-readlink.h (test_readlink): Likewise.
23513         * tests/test-remove.c (main): Likewise.
23514         * tests/test-rename.h (test_rename): Likewise.
23515         * tests/test-renameat.c (main): Likewise.
23516         * tests/test-rmdir.h (test_rmdir_func): Likewise.
23517         * tests/test-symlink.h (test_symlink): Likewise.
23518         * tests/test-symlinkat.c (main): Likewise.
23519         * tests/test-unlink.h (test_unlink_func): Likewise.
23520         * tests/test-unlinkat.c (main): Likewise.
23521
23522         maint: make realtime library usage explicit
23523         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
23524         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
23525         * modules/settime (Link): Likewise.
23526         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
23527
23528         test-stat-time: speed up execution
23529         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
23530         warning on mingw.
23531         (nap): New helper function.
23532         (prepare_test): Use it to reduce sleep time.
23533         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
23534         execution.
23535         * modules/stat-time-tests (configure.ac): Check for usleep.
23536
23537 2009-10-09  Jim Meyering  <meyering@redhat.com>
23538
23539         selinux-h: always use getfilecon wrappers
23540         * lib/getfilecon.c: New file.
23541         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
23542         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
23543         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
23544         (fgetfilecon): Provide a stub.
23545         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
23546         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
23547         file unconditionally.
23548         When <selinux/selinux.h> is found, arrange to use wrappers.
23549         * modules/selinux-h (Files): Add getfilecon.c.
23550         (Makefile.am): Substitute include-next-related bits
23551         into the now-always-generated selinux/selinux.h file.
23552         * doc/glibc-functions/lgetfilecon.texi: New file.
23553         * doc/glibc-functions/fgetfilecon.texi: New file.
23554         * doc/glibc-functions/getfilecon.texi: New file.
23555         * doc/glibc-functions/getfilecon-desc.texi: New file.
23556         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
23557         which to pull in the new files.
23558         * MODULES.html.sh (Misc): Add selinux-h.
23559
23560 2009-10-08  Jim Meyering  <meyering@redhat.com>
23561
23562         unistd: fix comment typo
23563         * lib/unistd.in.h (euidaccess): Fix a comment typo.
23564
23565 2009-10-08  Eric Blake  <ebb9@byu.net>
23566
23567         areadlink: use SIZE_MAX consistently
23568         * modules/areadlink (Depends-on): Add stdint.
23569         * modules/areadlink-with-size (Depends-on): Likewise.
23570         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
23571         gives NULL; drop sys/types, since unistd gives size_t; and add
23572         stdint for SIZE_MAX.
23573         (SIZE_MAX): Rely on headers.
23574         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
23575         and add stdint.
23576         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
23577         (SIZE_MAX): Likewise.
23578         (INITIAL_BUF_SIZE): Turn into enum.
23579         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
23580
23581 2009-10-08  Jim Meyering  <meyering@redhat.com>
23582
23583         areadlinkat: avoid compilation failure
23584         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
23585         Fix typo in comment.
23586
23587 2009-10-07  Eric Blake  <ebb9@byu.net>
23588
23589         areadlinkat-with-size: new module
23590         * modules/areadlinkat-with-size: New module.
23591         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
23592         * lib/areadlink.h (areadlinkat): Declare it.
23593         * MODULES.html.sh (File system functions): Mention it.
23594         * modules/areadlinkat-with-size-tests: New test.
23595         * tests/test-areadlinkat-with-size.c: New file.
23596
23597         xreadlinkat: new module
23598         * modules/xreadlinkat: New module.
23599         * lib/xreadlinkat.c (xreadlinkat): New file.
23600         * lib/xreadlink.h (xreadlinkat): Declare it.
23601         * MODULES.html.sh (File system functions): Mention it.
23602
23603         areadlinkat: new module
23604         * lib/at-func.c (FUNC_FAIL): New define.
23605         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
23606         * modules/areadlinkat: New module.
23607         * lib/linkat.c (areadlinkat): Move...
23608         * lib/areadlinkat.c (areadlinkat): ...to new file.
23609         * lib/areadlink.h (areadlinkat): Declare it.
23610         * modules/linkat (Depends-on): Add areadlinkat.
23611         * MODULES.html.sh (File system functions): Mention it.
23612         * modules/areadlinkat-tests: New test.
23613         * tests/test-areadlinkat.c: New file.
23614
23615         areadlink, areadlink-with-size: add tests
23616         * modules/areadlink-tests: New test.
23617         * modules/areadlink-with-size-tests: Likewise.
23618         * tests/test-areadlink.h: New file.
23619         * tests/test-areadlink.c: Likewise.
23620         * tests/test-areadlink-with-size.c: Likewise.
23621
23622         maint: minor cleanups
23623         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
23624         _UNUSED_PARAMETER_ instead.
23625         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
23626         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
23627         * modules/linkat-tests (Files): Distribute test-link.h.
23628
23629         openat, utimens: whitespace cleanup
23630         * lib/openat.c: Prefer space throughout, rather than mix of 8
23631         spaces vs. tabs.
23632         * lib/at-func.c: Likewise.
23633         * lib/utimens.c: Likewise.
23634
23635         openat: avoid using wrong fd
23636         * lib/openat.c (openat_permissive): Reject user's fd if saving the
23637         working directory chooses same fd.
23638         * lib/at-func.c (AT_FUNC_NAME): Likewise.
23639
23640         mkdir, mkdirat: fix cygwin 1.5.x bug
23641         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
23642         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
23643         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
23644         bug.
23645         (gl_PREREQ_MKDIR): Delete unused macro.
23646         * modules/mkdir (Files): Track file rename.
23647         (configure.ac): Update macro name.
23648         * modules/openat (Depends-on): Add mkdir.
23649         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
23650
23651         mkdir, mkdirat: add tests
23652         * modules/mkdir-tests: New test.
23653         * tests/test-mkdir.h: New file.
23654         * tests/test-mkdir.c: Likewise.
23655         * tests/test-mkdirat.c: Likewise.
23656         * modules/openat-tests (Files): Add new files.
23657         (Makefile.am): Run new test.
23658
23659 2009-10-06  Eric Blake  <ebb9@byu.net>
23660
23661         doc: tweak *at function documentation
23662         * doc/posix-functions/faccessat.texi (faccessat): Mention
23663         known issue with replacement.
23664         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
23665         * doc/posix-functions/linkat.texi (linkat): Likewise.
23666         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
23667         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
23668         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
23669         * doc/posix-functions/renameat.texi (renameat): Likewise.
23670         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
23671
23672         openat: fix GNU/Hurd bug in unlinkat
23673         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
23674         broken.
23675         * doc/posix-functions/unlink.texi (unlink): Document this.
23676         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
23677
23678         fdopendir: fix GNU/Hurd bug
23679         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
23680         allowing non-directory fds.
23681         * lib/fdopendir.c (rpl_fdopendir): Work around it.
23682         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
23683         * modules/dirent (Makefile.am): Substitute it.
23684         * lib/dirent.in.h (fdopendir): Declare replacement.
23685         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
23686         * tests/test-fdopendir.c (main): Test something other than
23687         /dev/null, since on Hurd that behaves like a directory.
23688
23689         test-symlink: port to GNU/Hurd
23690         * tests/test-symlink.h (test_symlink): Relax expected errno.
23691
23692         doc: tweak more cygwin information
23693         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
23694         now compatible with glibc.
23695         * doc/posix-functions/getopt.texi (getopt): Likewise.
23696
23697         getopt-gnu: add another test
23698         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
23699         guarantee behavior relied on by m4.
23700         * tests/test-getopt.c (main): Use it.
23701         * modules/getopt-posix-tests (Depends-on): Add setenv.
23702         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
23703
23704         getopt: fix compilation on darwin
23705         * lib/getopt.in.h (includes): Leave breadcrumbs during system
23706         include.
23707         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
23708         Reported by Ludovic Courtès.
23709
23710 2009-10-06  Bruno Haible  <bruno@clisp.org>
23711
23712         * modules/size_max (Description): Discourage its use.
23713         Reported by Simon Josefsson.
23714
23715 2009-10-06  Jim Meyering  <meyering@redhat.com>
23716
23717         linkat: avoid compilation failure
23718         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
23719
23720 2009-10-05  Eric Blake  <ebb9@byu.net>
23721
23722         linkat: support Linux 2.6.17
23723         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
23724         linkat on Linux, but allow cache variable override.
23725         * lib/linkat.c (rpl_linkat): Define override.
23726         * modules/linkat (Depends-on): Add symlinkat.
23727         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
23728         * modules/unistd (Makefile.am): Substitute it.
23729         * lib/unistd.in.h (linkat): Declare replacement.
23730         Reported by Pádraig Brady.
23731
23732         quotearg: port test to systems with C.UTF-8 locale
23733         * tests/test-quotearg.c (struct result_strings): Add another
23734         member, differentiating between C.ASCII and C.UTF-8 handling.
23735         (compare_strings): Add parameter.
23736         (main): Adjust all callers.
23737
23738         getopt: avoid clash with FreeBSD _getopt_internal
23739         * lib/getopt.in.h (_getopt_internal): Override the name.
23740         * lib/getopt_int.h (includes): Pick up any overrides.
23741         Reported by Reuben Thomas.
23742
23743         hash: allow C89 compilation
23744         * lib/hash.c (check_tuning): Move declaration before statement.
23745         Reported by Reuben Thomas.
23746
23747 2009-10-05  Karl Berry  <karl@gnu.org>
23748
23749         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
23750
23751 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
23752             Bruno Haible  <bruno@clisp.org>
23753
23754         * lib/uname.c (uname): Use a table-driven algorithm to compute
23755         Windows NT versions.
23756
23757 2009-10-04  Bruno Haible  <bruno@clisp.org>
23758
23759         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
23760         program_invocation_short_name.
23761         * modules/progname (configure.ac): Test for presence of
23762         program_invocation_short_name.
23763         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
23764
23765 2009-10-04  Bruno Haible  <bruno@clisp.org>
23766
23767         * lib/progname.c (set_program_name): Fix comment.
23768         Reported by Jim Meyering.
23769
23770 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
23771             Bruno Haible  <bruno@clisp.org>
23772
23773         * lib/uname.c: Include <string.h>.
23774         (uname): Do only one call to GetVersionEx in the common case.
23775
23776 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
23777             Bruno Haible  <bruno@clisp.org>
23778
23779         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
23780         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
23781         (uname): Add support for Windows CE and various non-x86 CPU types.
23782
23783 2009-10-03  Bruno Haible  <bruno@clisp.org>
23784
23785         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
23786         invocation to tests/configure.ac.
23787         Reported by Ian Beckwith <ianb@erislabs.net>.
23788
23789 2009-10-02  Eric Blake  <ebb9@byu.net>
23790
23791         fchdir: avoid compiler warning
23792         * lib/fchdir.c (canonicalize_file_name)
23793         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
23794
23795         test-open: support mingw errno values
23796         * tests/test-open.h (test_open): Relax test.
23797         * tests/test-fopen.h (test_fopen): Likewise.
23798         * tests/test-openat-safer.c (main): Likewise.
23799
23800         open: fix opening directory on mingw
23801         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
23802
23803         test-open: on GNU/Hurd, /dev/null is a directory
23804         * tests/test-fopen.h (main): Rename...
23805         (test_fopen): ...to this.  Use a guaranteed non-directory when
23806         confirming open behavior on trailing slash.
23807         * tests/test-openat-safer.c (main): Likewise.
23808         * tests/test-open.h (main): Likewise....
23809         (test_open): ...to this.
23810         * tests/test-fopen.c (main): Adjust caller.
23811         * tests/test-fopen-safer.c (main): Likewise.
23812         * tests/test-open.c (main): Likewise.
23813         * tests/test-fcntl-safer.c (main): Likewise.
23814         Reported by Samuel Thibault.
23815
23816         rename, fchdir: don't ignore chdir failure
23817         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
23818         * lib/rename.c (rpl_rename) [W32]: Likewise.
23819         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
23820         an empty destination directory if source cannot be renamed,
23821         although there is still possibility for failure.
23822         * doc/posix-functions/rename.texi (rename): Document the race.
23823         Reported by Jim Meyering.
23824
23825         maint: cleanup whitespace in recent commits
23826         * lib/rename.c (rpl_rename): Remove tabs.
23827         * tests/test-link.h (test_link): Likewise.
23828         * lib/fchdir.c (get_name): Likewise.
23829         Reported by Jim Meyering.
23830
23831 2009-10-02  Ben Pfaff  <blp@gnu.org>
23832
23833         relocatable-prog-wrapper: Add missing dependency on
23834         double-slash-root.
23835         * modules/relocatable-prog-wrapper: Add dependency.
23836         Reported by Ian Beckwith <ianb@erislabs.net>.
23837
23838 2009-10-02  Eric Blake  <ebb9@byu.net>
23839
23840         renameat: fix Solaris bugs
23841         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
23842         needed fixing.
23843         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
23844         * modules/stdio (Makefile.am): Substitute it.
23845         * lib/stdio.in.h (renameat): Declare replacement.
23846         * lib/renameat.c (rpl_renameat): Implement fix.
23847
23848         renameat: new module
23849         * modules/renameat: New file.
23850         * lib/renameat.c (renameat): Likewise.
23851         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
23852         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
23853         * modules/stdio (Makefile.am): Substitute them.
23854         * lib/stdio.in.h (renameat): Declare it.
23855         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
23856         * doc/posix-functions/renameat.texi (renameat): Likewise.
23857         * modules/renameat-tests: New test.
23858         * tests/test-renameat.c: Likewise.
23859
23860         rename: fix mingw bugs
23861         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
23862         directory overwrite bugs.
23863
23864         rename: fix another cygwin 1.5 bug
23865         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
23866         checks.
23867         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
23868         unnecessary cygwin workarounds.  Also work around bug with moving
23869         full directory onto an empty one.
23870         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
23871
23872         rename-dest-slash: merge into rename module
23873         * modules/rename-dest-slash (Status): Mark obsolete.
23874         (Depends-on): Add rename.
23875         (Files): Let rename do it all.
23876         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
23877         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
23878         * m4/rename-dest-slash.m4: ...so this file can be deleted.
23879         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
23880         * lib/rename.c (rpl_rename): Update comments.
23881
23882         rename: fix cygwin 1.5.x bugs
23883         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
23884         * lib/rename.c (rpl_rename): Work around them.
23885         * modules/rename (Depends-on): Add same-inode.
23886
23887         rename: fix Solaris 10 bug
23888         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
23889         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
23890         was the only bug.
23891
23892         rename: fix Solaris 9 bug
23893         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
23894         on non-directory.  Avoid calling exit.
23895         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
23896         strdup.
23897         * modules/rename-tests (Depends-on): Drop lstat.
23898         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
23899         (gl_PREREQ_RENAME): Delete unused macro.
23900
23901         rename-dest-slash: fix NetBSD bug
23902         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
23903         links.
23904         * modules/rename-dest-slash (Depends-on): Add same-inode.
23905
23906         rename-tests: new test, exposes several platform bugs
23907         * modules/rename-tests: New file.
23908         * tests/test-rename.h: Likewise.
23909         * tests/test-rename.c: Likewise.
23910         * doc/posix-functions/rename.texi (rename): Improve documentation,
23911         including bugs that will eventually be fixed in gnulib.
23912
23913 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
23914
23915         * lib/uname.c: Include <stdlib.h>
23916         (uname): Assume version info is available.
23917
23918 2009-10-02  Jim Meyering  <meyering@redhat.com>
23919
23920         gnu-web-doc-update: correct --help output
23921         * build-aux/gnu-web-doc-update: Make --help output relevant.
23922
23923         gnu-web-doc-update: add standard options
23924         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
23925
23926         gnu-web-doc-update: New module.
23927         Use this script to automatically update the on-line web documentation
23928         for your GNU project at http://www.gnu.org/software/$pkg/manual/
23929         * modules/gnu-web-doc-update: New file, from coreutils.
23930         * build-aux/gnu-web-doc-update: New script.
23931
23932 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
23933
23934         link: LoadLibrary is not needed.
23935         * lib/link.c: Use GetModuleHandle.
23936
23937 2009-10-01  Eric Blake  <ebb9@byu.net>
23938
23939         getopt: bump serial number
23940         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
23941         change.
23942
23943         tests: tighten link, rmdir, and remove tests
23944         * tests/test-link.h (includes): No need to use <config.h> here.
23945         Clean up if directory hard link was created, otherwise test for
23946         trailing '.'.
23947         * tests/test-linkat.c (main): Simplify.
23948         * tests/test-remove.c (main): Enhance test for trailing '.'.
23949         * tests/test-rmdir.h (test_rmdir_func): Likewise.
23950
23951 2009-10-01  Jim Meyering  <meyering@redhat.com>
23952
23953         maint.mk: requiring "make major" was annoying, for a "minor" release.
23954         What is intended is "stable", to contrast with alpha and beta,
23955         so require "make stable", not "make major".
23956         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
23957         (get_tool_versions): Likewise.
23958         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
23959
23960 2009-09-30  Ben Pfaff  <blp@gnu.org>
23961
23962         Fix broken build of replacement for Windows tmpfile().
23963         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
23964         flags argument added along with the 'mkostemp' module.
23965
23966 2009-09-28  Bruno Haible  <bruno@clisp.org>
23967
23968         Avoid identifier clash with POSIX function 'remove' defined as a macro.
23969         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
23970         to 'remove_elt'.
23971         (gl_list_remove): Update.
23972         * lib/gl_list.c (gl_list_remove): Update.
23973         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
23974         to 'remove_elt'.
23975         (gl_oset_remove): Update.
23976         * lib/gl_list.c (gl_oset_remove): Update.
23977         Reported by Eric Blake.
23978
23979 2009-09-28  Eric Blake  <ebb9@byu.net>
23980
23981         doc: mention yet more cygwin 1.7 status
23982         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
23983         cygwin.
23984         * doc/glibc-functions/execvpe.texi (execvpe): New file.
23985         * doc/gnulib.texi (Glibc unistd.h): Mention it.
23986
23987         argp: fix test failure
23988         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
23989         that are not upper-case.  Pass correct range to tolower.
23990
23991 2009-09-27  Jim Meyering  <meyering@redhat.com>
23992
23993         test-yesno: work around sparc-dash here-document infelicity
23994         Without this change, the literal \177 byte in a here document
23995         would make dash 0.5.5.1-3 access uninitialized memory.
23996         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
23997         Instead, use a marker, "@", and filter through tr to create the desired
23998         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
23999
24000 2009-09-27  Bruno Haible  <bruno@clisp.org>
24001
24002         Disable untested support for new flavours of ACLs on AIX.
24003         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
24004         progress.
24005         * lib/set-mode-acl.c (qset_acl): Likewise.
24006
24007 2008-12-07  Bruno Haible  <bruno@clisp.org>
24008
24009         Add support for new flavours of ACLs on AIX. (Untested.)
24010         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
24011         (file_has_acl): Add support for newer AIX.
24012         * lib/set-mode-acl.c (qset_acl): Likewise.
24013         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
24014         Rainer Tammer <tammer@tammer.net>.
24015
24016 2009-09-26  Eric Blake  <ebb9@byu.net>
24017
24018         argp: fix compilation of getopt
24019         * lib/getopt.in.h (includes): Use different guard than glibc.
24020         Reported by Sergey Poznyakoff.
24021
24022         doc: mention more cygwin 1.7 status
24023         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
24024         bug.
24025         * doc/posix-functions/execl.texi (execl): Likewise.
24026         * doc/posix-functions/execle.texi (execle): Likewise.
24027         * doc/posix-functions/execlp.texi (execlp): Likewise.
24028         * doc/posix-functions/execv.texi (execv): Likewise.
24029         * doc/posix-functions/execve.texi (execve): Likewise.
24030         * doc/posix-functions/execvp.texi (execvp): Likewise.
24031         * doc/glibc-functions/canonicalize_file_name.texi
24032         (canonicalize_file_name): Cygwin 1.7 now provides this.
24033         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
24034         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
24035         on AT_SYMLINK_NOFOLLOW.
24036
24037 2009-09-24  Eric Blake  <ebb9@byu.net>
24038
24039         test-linkat: make test more robust
24040         * tests/test-linkat.c (main): Avoid collision with EEXIST.
24041
24042         getopt: fix inclusion guards for cygwin
24043         * modules/getopt-posix (Depends-on): Add include-next.
24044         (Makefile.am): Substitute more items in replacement header.
24045         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
24046         <getopt.h>.
24047         * lib/getopt.in.h (includes): Use split inclusion guard, and
24048         prefer <getopt.h> over include <unistd.h> when one is present.
24049         (option): Also override name of 'struct option'.
24050
24051         same-inode: revert prior change; it is not yet ready
24052         * NEWS: Undo mention of this change.
24053         * lib/same-inode.h (same-inode.h): Undo tri-state change.
24054         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
24055         * lib/cycle-check.c (cycle_check): Likewise.
24056         * lib/same.c (same_name): Likewise.
24057         * lib/at-func2.c (at_func2): Likewise.
24058
24059 2009-09-23  Eric Blake  <ebb9@byu.net>
24060
24061         linkat: new module
24062         * modules/linkat: New file.
24063         * lib/at-func2.c (at_func2): Likewise.
24064         * lib/linkat.c (linkat): Likewise.
24065         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
24066         * lib/openat-priv.h (at_func2): Add declaration.
24067         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
24068         * modules/unistd (Makefile.am): Substitute them.
24069         * lib/unistd.in.h (linkat): Declare it.
24070         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
24071         * doc/posix-functions/linkat.texi (linkat): Likewise.
24072         * doc/posix-functions/link.texi (link): Tweak wording.
24073         * tests/test-link.c (main): Move guts...
24074         * tests/test-link.h (test_link): ...into new file.
24075         * modules/linkat-tests: New test.
24076         * tests/test-linkat.c: Likewise.
24077         * modules/link-tests (Files): Ship new file.
24078         (Depends-on): Add stdbool.
24079
24080         dirname: add library-safe mdir_name
24081         * lib/dirname.h (mdir_name): New prototype.
24082         * lib/dirname.c (dir_name): Move guts...
24083         (mdir_name): ...to new function that avoids xalloc_die.
24084
24085         fchdir: another mingw fix
24086         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
24087         * lib/fchdir.c (get_name): New helper method; skips canonicalize
24088         on mingw (where it has not yet been ported), and make it optional
24089         elsewhere.
24090         (_gl_register_fd): Use it.
24091
24092         same-inode: make SAME_INODE tri-state, to port to mingw
24093         * NEWS: Mention this change.
24094         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
24095         st_ino always being 0.
24096         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
24097         * lib/cycle-check.c (cycle_check): Likewise.
24098         * lib/same.c (same_name): Likewise.
24099
24100         lstat: avoid mingw compilation error
24101         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
24102         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
24103         lstat ourselves.
24104         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
24105         was adequate.
24106         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
24107         the checks for lstat.
24108         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
24109
24110         link: fix test failure on Solaris 9
24111         * lib/link.c (rpl_link): Don't assume link will catch bogus
24112         trailing slash on source.
24113
24114         test-symlinkat: enhance test
24115         * tests/test-readlink.c (main): Move guts...
24116         * tests/test-readlink.h (test_readlink): ...into new file.
24117         * tests/test-symlink.c (main): Move guts...
24118         * tests/test-symlink.h (test_symlink): ...into new file.
24119         * tests/test-symlinkat.c (main): Use new files for further
24120         coverage.
24121         (do_symlink, do_readlink): New helper functions.
24122         * modules/symlink-tests (Files): Ship new file.
24123         (Depends-on): Add stdbool.
24124         * modules/readlink-tests (Files): Ship new file.
24125         (Depends-on): Add stdbool.
24126         * modules/symlinkat-tests (Files): Use new files.
24127
24128 2009-09-23  Eric Blake  <ebb9@byu.net>
24129
24130         readlink: document portability issue with symlink length
24131         * doc/posix-functions/lstat.texi (lstat): Mention that some file
24132         systems have bogus st_size on symlinks, and mention the
24133         areadlink-with-size module.
24134         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
24135         * doc/posix-functions/readlink.texi (readlink): Mention the
24136         areadlink module, and ERANGE failure.
24137         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
24138         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
24139
24140         readlink: fix Solaris 9 bug with trailing slash
24141         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
24142         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
24143         * doc/posix-functions/readlink.texi (readlink): Document this.
24144         * modules/readlink-tests: New test.
24145         * tests/test-readlink.c: Likewise.
24146
24147         readlink: fix cygwin 1.5.x bug with return type
24148         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
24149         * lib/unistd.in.h (readlink): Use ssize_t.
24150         * lib/readlink.c (readlink): Likewise.
24151         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
24152         * modules/unistd (Makefile.am): Substitute it.
24153         * lib/unistd.in.h (readlink): Declare replacement.
24154         * doc/posix-functions/readlink.texi (readlink): Document this.
24155
24156         symlink: use throughout gnulib
24157         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
24158         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
24159         symlink is not used.
24160         * modules/symlinkat (Depends-on): Add symlink.
24161         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
24162         * modules/canonicalize-tests (Depends-on): Likewise.
24163         * modules/lstat-tests (Depends-on): Likewise.
24164         * modules/openat-tests (Depends-on): Likewise.
24165         * modules/remove-tests (Depends-on): Likewise.
24166         * modules/rmdir-tests (Depends-on): Likewise.
24167         * modules/unlink-tests (Depends-on): Likewise.
24168         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
24169         * tests/test-canonicalize.c (symlink): Likewise.
24170         * tests/test-fstatat.c (symlink): Likewise.
24171         * tests/test-lstat.c (symlink): Likewise.
24172         * tests/test-remove.c (symlink): Likewise.
24173         * tests/test-rmdir.c (symlink): Likewise.
24174         * tests/test-unlink.c (symlink): Likewise.
24175         * tests/test-unlinkat.c (symlink): Likewise.
24176
24177         symlink: new module, for Solaris 9 bug
24178         * modules/symlink: New file.
24179         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
24180         * lib/symlink.c: Likewise.
24181         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
24182         * modules/unistd (Makefile.am): Substitute them.
24183         * lib/unistd.in.h (symlink): Declare replacement.
24184         * MODULES.html.sh (File system functions): Mention it.
24185         * doc/posix-functions/symlink.texi (symlink): Likewise.
24186         * modules/symlink-tests: New test.
24187         * tests/test-symlink.c: Likewise.
24188
24189 2009-09-23  Bruno Haible  <bruno@clisp.org>
24190
24191         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
24192         when needed.
24193         Test case: gnulib-tool --import --with-tests atexit inttypes.
24194         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
24195
24196 2009-09-23  Bruno Haible  <bruno@clisp.org>
24197
24198         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
24199         subcommand, not in a subshell.
24200
24201 2009-09-22  Eric Blake  <ebb9@byu.net>
24202
24203         unistd: sort replacement declarations
24204         * lib/unistd.in.h: Sort declarations.
24205
24206         open, openat: minor optimization
24207         * lib/open.c (open): If open succeeded, len is non-zero.
24208         * lib/openat.c (rpl_openat): Likewise.
24209
24210         link-follow: ensure correct result
24211         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
24212         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
24213         distinguish between possible failures.
24214
24215 2009-09-21  Eric Blake  <ebb9@byu.net>
24216
24217         fts: avoid compiler warning
24218         * lib/fts.c (dirent_inode_sort_may_be_useful)
24219         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
24220
24221 2009-09-19  Bruno Haible  <bruno@clisp.org>
24222
24223         * lib/progreloc.c (canonicalize_file_name): New declaration.
24224
24225 2009-09-19  Eric Blake  <ebb9@byu.net>
24226
24227         link: fix quoting
24228         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
24229
24230         openat: fix openat bugs on Solaris 9
24231         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
24232         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
24233         * modules/openat (Depends-on): Add open.
24234         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
24235         * modules/fcntl-h (Makefile.am): Substitute it.
24236         * lib/fcntl.in.h (openat): Declare replacement.
24237         * doc/posix-functions/openat.texi (openat): Document this.
24238
24239         openat: move fstatat and unlinkat into correct files
24240         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
24241         compiled.
24242         * lib/openat.c (fstatat, unlinkat): Move...
24243         * lib/fstatat.c (fstatat): ...into correct files.
24244         * lib/unlinkat.c (unlinkat): Likewise.
24245
24246         openat: fix unlinkat bugs on Solaris 9
24247         * lib/unlinkat.c (unlinkat): New file.
24248         * modules/openat (Depends-on): Add unlink.
24249         (Files): Distribute it.
24250         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
24251         trailing slash behavior is broken.
24252         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
24253         * modules/unistd (Makefile.am): Substitute it.
24254         * lib/unistd.in.h (unlinkat): Declare replacement.
24255         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
24256
24257         openat: fix fstatat bugs on Solaris 9
24258         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
24259         stat.
24260         * doc/posix-functions/fstatat.texi (fstatat): Document this.
24261
24262         test-unlinkat: enhance test, to expose Solaris 9 bug
24263         * tests/test-unlink.c (main): Factor guts...
24264         * tests/test-unlink.h (test_rmdir_func): ...into new file.
24265         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
24266         * tests/test-rmdir.c (main): Adjust caller.
24267         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
24268         (unlinker): New helper function.
24269         (rmdirat): Enhance check.
24270         * modules/rmdir-tests (Depends-on): Add stdbool.
24271         * modules/unlink-tests (Depends-on): Likewise.
24272         (Files): Add test-unlink.h.
24273         * modules/openat-tests (Files): Likewise.
24274         (Depends-on): Add unlinkdir.
24275
24276         test-fstatat: new test, to expose Solaris 9 bugs
24277         * tests/test-stat.c (main): Factor guts...
24278         * tests/test-stat.h (test_stat_func): ...into new file.
24279         * tests/test-lstat.c (main): Factor guts...
24280         * tests/test-lstat.h (test_lstat_func): ...into new file.
24281         * tests/test-fstatat.c: New file.
24282         * modules/stat-tests (Files): Add test-stat.h.
24283         * modules/lstat-tests (Files): Add test-lstat.h.
24284         (Depends-on): Add stdbool.
24285         * modules/openat-tests (Depends-on): Add pathmax.
24286         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
24287         (Makefile.am): Run new test.
24288
24289         remove: new module, for mingw and Solaris 9 bugs
24290         * modules/remove: New file.
24291         * lib/remove.c: Likewise.
24292         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
24293         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
24294         * modules/stdio (Makefile.am): Use them.
24295         * lib/stdio.in.h (remove): Declare replacement.
24296         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
24297         * doc/posix-functions/remove.texi (remove): Likewise.
24298         * modules/remove-tests: New test.
24299         * tests/test-remove.c: Likewise.
24300
24301         unlink: new module, for Solaris 9 bug
24302         * modules/unlink: New file.
24303         * lib/unlink.c: Likewise.
24304         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
24305         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
24306         * modules/unistd (Makefile.am): Use them.
24307         * lib/unistd.in.h (stat): Declare replacement.
24308         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
24309         * doc/posix-functions/unlink.texi (unlink): Likewise.
24310         * modules/unlink-tests: New test.
24311         * tests/test-unlink.c: Likewise.
24312
24313         lstat: fix Solaris 9 bug
24314         * lib/lstat.c (lstat): Also check for trailing slash on
24315         non-symlink, non-directories.  Use stat module to simplify logic.
24316         * doc/posix-functions/lstat.texi (lstat): Document it.
24317         * modules/lstat-tests (Depends-on): Add errno, same-inode.
24318         (configure.ac): Check for symlink.
24319         * tests/test-lstat.c (main): Add more tests.
24320
24321         stat: add as dependency to other modules
24322         * modules/chown (Depends-on): Add stat.
24323         * modules/euidaccess (Depends-on): Likewise.
24324         * modules/fchdir (Depends-on): Likewise.
24325         * modules/isdir (Depends-on): Likewise.
24326         * modules/link (Depends-on): Likewise.
24327         * modules/lstat (Depends-on): Likewise.
24328         * modules/mkdir-p (Depends-on): Likewise.
24329         * modules/modechange (Depends-on): Likewise.
24330         * modules/open (Depends-on): Likewise.
24331         * modules/readlink (Depends-on): Likewise.
24332         * modules/same (Depends-on): Likewise.
24333
24334         stat: fix Solaris 9 bug
24335         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
24336         slash.
24337         * lib/stat.c (rpl_stat): Work around it.
24338         * doc/posix-functions/stat.texi (stat): Update documentation.
24339
24340         stat: new module, for mingw bug
24341         * modules/stat: New file.
24342         * lib/stat.c: Likewise.
24343         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
24344         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
24345         * modules/sys_stat (Makefile.am): Use them.
24346         * lib/sys_stat.in.h (stat): Declare replacement.
24347         * lib/openat.c (fstatat): Deal with lstat and stat being function
24348         macros.
24349         * modules/openat (Depends-on): Add inline.
24350         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
24351         * doc/posix-functions/stat.texi (stat): Likewise.
24352         * modules/stat-tests: New test.
24353         * tests/test-stat.c: Likewise.
24354
24355 2009-09-19  Jim Meyering  <meyering@redhat.com>
24356
24357         syntax-check: detect unnecessary inclusion of canonicalize.h
24358         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
24359
24360 2009-09-19  Eric Blake  <ebb9@byu.net>
24361
24362         canonicalize-lgpl: adjust clients to use correct header
24363         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
24364         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
24365         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
24366         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
24367         * lib/progreloc.c (includes): Likewise.
24368
24369 2009-09-19  Jim Meyering  <meyering@redhat.com>
24370
24371         test-posixtm.c: correct a comment
24372         * tests/test-posixtm.c: Correct first-line comment.
24373         Spotted by Eric Blake.
24374
24375 2009-09-16  Jim Meyering  <meyering@redhat.com>
24376
24377         posixtm-tests: make T const-correct; add a test case
24378         * tests/test-posixtm.c (T): Declare const.
24379         Add a test for -(2^31+1).
24380         Remove useless can-succeed-only-in-2002 test.
24381
24382         posixtm-tests: adjust the sole failing test
24383         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
24384         expected output matches what mktime now produces.  Cross-checked via
24385         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
24386
24387         posixtm: move #ifdef'd tests into a new module
24388         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
24389         * tests/test-posixtm.c: ... this new file.
24390         * modules/posixtm-tests: New module.
24391
24392 2009-09-19  Eric Blake  <ebb9@byu.net>
24393
24394         openat: simplify use of at-func.c
24395         * lib/at-func.c (includes): Include prerequisites here, to
24396         simplify requirements on client files.
24397         * lib/openat-priv.h: Add double-inclusion guard.
24398         * lib/faccessat.c (includes): Simplify.
24399         * lib/fchmodat.c (includes): Likewise.
24400         * lib/fchownat.c (includes): Likewise.
24401         * lib/mkdirat.c (includes): Likewise.
24402         * lib/mkfifoat.c (includes): Likewise.
24403         * lib/symlinkat.c (includes): Likewise.
24404
24405         openat: allow return of fd 0
24406         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
24407         * modules/save-cwd (Depends-on): Replace fcntl-safer with
24408         unistd-safer.
24409         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
24410         <fcntl.h>; this module does not leak fds.
24411         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
24412         must be allowed to return 0, leaving openat_safer to add the
24413         safety.
24414         (openat_permissive): Avoid writing to just-opened fd 2 if
24415         restoring the current directory fails.
24416         * lib/openat-die.c (openat_restore_fail): Add comment.
24417         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
24418         (save_cwd): Guarantee safe fd, but without use of open_safer.
24419         * tests/test-openat.c: New test.
24420         * modules/openat-tests (Files, Makefile.am): Distribute and build
24421         new file.
24422
24423         relocatable-prog-wrapper: fix build
24424         * modules/relocatable-prog-wrapper (Files): Update name of
24425         canonicalize m4 file, broken on 2009-09-17.
24426         Reported by emad hajjar <aleppos@hotmail.com>.
24427
24428 2009-09-19  Bruno Haible  <bruno@clisp.org>
24429
24430         * lib/safe-alloc.h: Use the standard header with GPL copyright.
24431         * lib/safe-alloc.c: Likewise.
24432         Reported by Ian Beckwith <ianb@erislabs.net>.
24433
24434 2009-09-18  Bruno Haible  <bruno@clisp.org>
24435
24436         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
24437         Reported by <erobles@sensacd.com.mx>.
24438
24439 2009-09-17  Eric Blake  <ebb9@byu.net>
24440
24441         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
24442         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
24443         slashes when checking if last component is missing.
24444         * tests/test-canonicalize.c (main): Test this.
24445
24446         canonicalize, canonicalize-lgpl: honor // if distinct from /
24447         * modules/canonicalize (Files): Add double-slash-root.m4.
24448         * modules/canonicalize-lgpl (Files): Likewise.
24449         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
24450         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
24451         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
24452         fallback definition.
24453         (canonicalize_filename_mode): Use it to protect //.
24454         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
24455         (__realpath): Likewise.
24456         * tests/test-canonicalize.c (main): Test this.
24457         * tests/test-canonicalize-lgpl.c (main): Likewise.
24458         * modules/canonicalize-tests (Depends-on): Add same-inode.
24459         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
24460
24461         canonicalize-lgpl: fix glibc bug with trailing slash
24462         * m4/canonicalize-lgpl.m4: Move contents...
24463         * m4/canonicalize.m4: ...here.
24464         (gl_CANONICALIZE_LGPL): Factor realpath check...
24465         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
24466         glibc 2.3.5 bug, fixed 2005-04-27.
24467         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
24468         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
24469         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
24470         * modules/canonicalize-lgpl (Files): Manage file rename.
24471         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
24472         * modules/stdlib (Makefile.am): Substitute witness.
24473         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
24474         is needed.
24475         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
24476         replacement is required.
24477         * lib/canonicalize.c (canonicalize_file_name): Likewise.
24478         * doc/glibc-functions/canonicalize_file_name.texi
24479         (canonicalize_file_name): Document this.
24480         * doc/posix-functions/realpath.texi (realpath): Likewise.
24481
24482         canonicalize-lgpl: reject non-directory with trailing slash
24483         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
24484         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
24485         catches failures in glibc 2.3.5.
24486         * tests/test-canonicalize.c (main): Likewise.
24487
24488         canonicalize-lgpl: use native realpath if it works
24489         * lib/canonicalize-lgpl.c (realpath): Guard with
24490         FUNC_REALPATH_WORKS.
24491         * lib/stdlib.in.h (realpath): Make declaration optional based on
24492         HAVE_REALPATH.
24493         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
24494         native realpath works.
24495         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
24496         * modules/stdlib (Makefile.am): Substitute witness.
24497
24498         canonicalize, canonicalize-lgpl: use <stdlib.h>
24499         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
24500         (Include): Mention <stdlib.h>.
24501         (configure.ac): Mention functions we provide.
24502         * modules/canonicalize (configure.ac): Likewise.
24503         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
24504         realpath if canonicalize_file_name is missing.
24505         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
24506         * modules/stdlib (Makefile.am): Substitute witnesses.
24507         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
24508         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
24509         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
24510         * NEWS: Document this.
24511         * doc/glibc-functions/canonicalize_file_name.texi
24512         (canonicalize_file_name): Likewise.
24513         * doc/posix-functions/realpath.texi (realpath): Likewise.
24514         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
24515
24516         test-canonicalize: consolidate into single C program
24517         * tests/test-canonicalize.sh: Delete; move setup into...
24518         * tests/test-canonicalize.c (main): ...the program, making it
24519         easier to run in debugger.  Add some tests.
24520         * modules/canonicalize-tests (Files): Remove unused file.
24521         (Depends-on): Add progname.
24522         (configure.ac, Makefile.am): Simplify.
24523
24524         test-canonicalize-lgpl: consolidate into single C program
24525         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
24526         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
24527         easier to run in debugger.  Add some tests.
24528         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
24529         (configure.ac, Makefile.am): Simplify.
24530
24531         canonicalize: avoid resolvepath
24532         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
24533         unnecessary checks.
24534         * lib/canonicalize.c (includes): Simplify.
24535         (canonicalize_file_name): Drop resolvepath implementation.
24536         * modules/canonicalize (Depends-on): Drop filenamecat.
24537
24538         canonicalize: don't lose errno
24539         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
24540         over calls to free.
24541
24542         canonicalize: simplify errno handling
24543         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
24544         assignment.
24545
24546         canonicalize, canonicalize-lgpl: update module dependencies
24547         * modules/canonicalize (Depends-on): Add extensions, lstat,
24548         pathmax, stdlib.
24549         (Files): Drop pathmax.h.
24550         (configure.ac): Adjust macro name.
24551         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
24552         lstat, stdlib, sys_stat.
24553         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
24554         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
24555         extensions.
24556         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
24557         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
24558         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
24559         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
24560         declaration, if available.
24561         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
24562         we can rely on the readlink module.
24563         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
24564         (includes): Use <unistd.h> unconditionally.
24565
24566 2009-09-17  Eric Blake  <ebb9@byu.net>
24567
24568         maint: make Include sections of modules consistent
24569         * modules/alloca: Use only header name; no need to list #include.
24570         * modules/alloca-opt: Likewise.
24571         * modules/arpa_inet: Likewise.
24572         * modules/canon-host: Likewise.
24573         * modules/configmake: Likewise.
24574         * modules/dirent: Likewise.
24575         * modules/eealloc: Likewise.
24576         * modules/environ: Likewise.
24577         * modules/fchdir: Likewise.
24578         * modules/fcntl: Likewise.
24579         * modules/fcntl-h: Likewise.
24580         * modules/gethrxtime: Likewise.
24581         * modules/gettime: Likewise.
24582         * modules/ignore-value: Likewise.
24583         * modules/inet_ntop: Likewise.
24584         * modules/inet_pton: Likewise.
24585         * modules/inttypes: Likewise.
24586         * modules/isnand-nolibm: Likewise.
24587         * modules/isnanf-nolibm: Likewise.
24588         * modules/mbchar: Likewise.
24589         * modules/mbfile: Likewise.
24590         * modules/mbiter: Likewise.
24591         * modules/mbuiter: Likewise.
24592         * modules/netdb: Likewise.
24593         * modules/netinet_in: Likewise.
24594         * modules/nproc: Likewise.
24595         * modules/pagealign_alloc: Likewise.
24596         * modules/poll: Likewise.
24597         * modules/printf-frexp: Likewise.
24598         * modules/pthread: Likewise.
24599         * modules/putenv: Likewise.
24600         * modules/random_r: Likewise.
24601         * modules/relocatable-prog: Likewise.
24602         * modules/search: Likewise.
24603         * modules/select: Likewise.
24604         * modules/selinux-h: Likewise.
24605         * modules/settime: Likewise.
24606         * modules/signal: Likewise.
24607         * modules/size_max: Likewise.
24608         * modules/socklen: Likewise.
24609         * modules/ssize_t: Likewise.
24610         * modules/stdarg: Likewise.
24611         * modules/stdbool: Likewise.
24612         * modules/stddef: Likewise.
24613         * modules/stdint: Likewise.
24614         * modules/stdio: Likewise.
24615         * modules/stdlib: Likewise.
24616         * modules/string: Likewise.
24617         * modules/strings: Likewise.
24618         * modules/sys_file: Likewise.
24619         * modules/sys_ioctl: Likewise.
24620         * modules/sys_select: Likewise.
24621         * modules/sys_socket: Likewise.
24622         * modules/sys_stat: Likewise.
24623         * modules/sys_time: Likewise.
24624         * modules/sys_times: Likewise.
24625         * modules/sys_utsname: Likewise.
24626         * modules/sys_wait: Likewise.
24627         * modules/sysexits: Likewise.
24628         * modules/time: Likewise.
24629         * modules/times: Likewise.
24630         * modules/tmpfile: Likewise.
24631         * modules/trim: Likewise.
24632         * modules/unistd: Likewise.
24633         * modules/wchar: Likewise.
24634         * modules/wctype: Likewise.
24635
24636 2009-09-17  Bruno Haible  <bruno@clisp.org>
24637
24638         Make getdate.y compile on QNX and NetBSD 5 / i386.
24639         * m4/getdate.m4 (gl_GETDATE): Conditionally define
24640         TIME_T_FITS_IN_LONG_INT.
24641         * lib/getdate.y (long_time_t): New type.
24642         (relative_time): Change type of 'seconds' field to long_time_t.
24643         (get_date): Update types of local variables. Check against overflow
24644         during conversion from long_time_t to time_t.
24645         Reported by Matt Kraai <kraai@ftbfs.org>
24646         and Hasso Tepper <hasso@netbsd.org>.
24647
24648 2009-09-17  Bruno Haible  <bruno@clisp.org>
24649
24650         * modules/COPYING: Update copyright years.
24651         * modules/README: Likeiwse.
24652         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
24653         Reported by Ian Beckwith <ianb@erislabs.net>.
24654
24655 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
24656
24657         * users.txt: Update references for gnuit package.
24658
24659 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
24660
24661         * m4/getdelim.m4: Fix typo in copyright line.
24662
24663 2009-09-17  Bruno Haible  <bruno@clisp.org>
24664
24665         * lib/atoll.c: Use the standard header with GPL copyright.
24666         * lib/argz.in.h: Likewise.
24667         * lib/glob.c: Likewise.
24668         * lib/glob-libc.h: Likewise.
24669         * lib/random_r.c: Likewise.
24670         * lib/siglist.h: Likewise.
24671         * lib/strsignal.c: Likewise.
24672         Reported by Ian Beckwith <ianb@erislabs.net>.
24673
24674 2009-09-17  Eric Blake  <ebb9@byu.net>
24675
24676         rmdir: ensure correct dependency order
24677         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
24678
24679 2009-09-17  Bruno Haible  <bruno@clisp.org>
24680
24681         Disable assertion that fails on NetBSD 5 / i386.
24682         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
24683         Reported by Sam Steingold <sds@gnu.org>
24684         and Hasso Tepper <hasso@netbsd.org>.
24685
24686 2009-09-16  Eric Blake  <ebb9@byu.net>
24687
24688         unlinkdir: port to mingw
24689         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
24690         on which no one can unlink a directory.
24691
24692         stdlib: sort witness names
24693         * modules/stdlib (Makefile.am): Sort replacements.
24694         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
24695         * lib/stdlib.in.h: Likewise.
24696
24697         parse-duration-tests: avoid link failure
24698         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
24699         LIBINTL.
24700         Reported by Tom G. Christensen.
24701
24702         openat-tests: ensure unlinkat behaves like rmdir
24703         * tests/test-rmdir.c (main): Factor guts...
24704         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
24705         * modules/rmdir-tests (Files): Ship new file.
24706         * modules/openat-tests: New test.
24707         * tests/test-unlinkat.c: Likewise.
24708
24709         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
24710         * modules/rmdir-errno (Status, Notice): Now obsolete.
24711
24712         rmdir: work around cygwin 1.5.x and mingw bugs
24713         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
24714         * lib/rmdir.c (rmdir): Work around it.
24715         * modules/rmdir (Status, Notice): No longer obsolete.
24716         (Files): Add dos.m4.
24717         (Depends-on): Add unistd.
24718         (configure.ac): Set witnesses.
24719         (License): Relax to LGPLv2+.
24720         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
24721         * modules/unistd (Makefile.am): Substitute witnesses.
24722         * lib/unistd.in.h (rmdir): Declare replacement.
24723         * doc/posix-functions/rmdir.texi (rmdir): Document this.
24724         * modules/rmdir-tests: New tests.
24725         * tests/test-rmdir.c: Likewise.
24726
24727 2009-09-15  Eric Blake  <ebb9@byu.net>
24728
24729         fchdir: improve use of replacement functions
24730         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
24731         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
24732         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
24733         REPLACE_CLOSEDIR.
24734         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
24735         * modules/sys_stat (Makefile.am): Substitute correct witness.
24736         * modules/dirent (Makefile.am): Likewise.
24737         * modules/unistd (Makefile.am): Likewise.
24738         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
24739         * lib/unistd.in.h (dup): Likewise.
24740         * lib/sys_stat.in.h (fstat): Likewise.
24741
24742         maint: ignore gnulib-tool temp files
24743         * .gitignore: Ignore files created during gnulib-tool --test.
24744
24745 2009-09-13  Jim Meyering  <meyering@redhat.com>
24746
24747         posixtm: don't reject a time that specify "60" as the number of seconds
24748         * lib/posixtm.c (posixtime): The code to reject invalid dates
24749         would also reject a time specified with the .60 suffix.
24750         But POSIX allows that, in order to accommodate leap seconds.
24751         So don't reject it.
24752         (main): Adjust tests accordingly.
24753         * modules/posixtm (Depends-on): Add stpcpy.
24754
24755 2009-09-11  Jim Meyering  <meyering@redhat.com>
24756
24757         announce-gen: include [$release_type] in emitted Subject:
24758         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
24759         e.g., [stable] in the emitted Subject: line.
24760
24761 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24762
24763         Remove obsolete macros from several modules.
24764         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
24765         obsolete Autoconf macros with their modern counterparts.
24766         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
24767         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
24768         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
24769         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
24770         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
24771         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
24772         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
24773         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
24774         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
24775         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
24776         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
24777         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
24778         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
24779         * m4/sockets.m4 (gl_SOCKETS): Likewise.
24780         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
24781         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
24782         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
24783         * m4/time_r.m4 (gl_TIME_R): Likewise.
24784         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
24785         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
24786         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
24787
24788         Fix copyright header in build-aux scripts.
24789         * build-aux/git-version-gen: Fix copyright header to match GPLv3
24790         recommendation.
24791         * build-aux/ncftpput-ftp: Likewise.
24792         * build-aux/update-copyright: Likewise.
24793
24794 2009-09-09  Eric Blake  <ebb9@byu.net>
24795
24796         test-link: allow Linux choice of errno
24797         * tests/test-link.c (main): Relax test for alternate error.
24798
24799         strndup: fix improper m4 caching
24800         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
24801         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
24802         (gl_PREREQ_STRNDUP): Delete.
24803         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
24804         * modules/string (Makefile.am): Substitute it.
24805         * lib/string.in.h (strndup): Modernize prototype.
24806
24807         getcwd: port to mingw
24808         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
24809         different from the POSIX assumptions made throughout the getcwd
24810         module; fortunately, the mingw getcwd does not need replacement.
24811         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
24812         * modules/getcwd-tests: New test.
24813         * tests/test-getcwd.c: Likewise.
24814
24815         link: fix platform bugs
24816         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
24817         * lib/link.c (link): Work around them.  Fix related mingw bug.
24818         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
24819         * modules/unistd (Makefile.am): Substitute it.
24820         * lib/unistd.in.h (link): Declare replacement.
24821         * doc/posix-functions/link.texi (link): Document this.
24822         * modules/link (Depends-on): Add strdup-posix, sys_stat.
24823
24824         test-link: consolidate into single C program, test more cases
24825         * tests/test-link.sh: Delete.
24826         * tests/test-link.c: Test more error conditions.  Exposes bugs on
24827         at least Cygwin and Solaris.
24828         * modules/link-tests (Files): Remove unused file.
24829         (Depends-on): Add errno, sys_stat.
24830         (Makefile.am): Simplify.
24831
24832 2009-09-08  Bruno Haible  <bruno@clisp.org>
24833
24834         Work around towlower, towupper bug on mingw.
24835         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
24836         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
24837         * doc/posix-functions/towlower.texi: Mention the mingw bug.
24838         * doc/posix-functions/towupper.texi: Likewise.
24839         Reported by Eric Blake.
24840
24841 2009-09-08  Jim Meyering  <meyering@redhat.com>
24842
24843         build: don't try to run autoheader if we don't use it
24844         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
24845         is not used in configure.ac.
24846
24847 2009-09-08  Eric Blake  <ebb9@byu.net>
24848
24849         euidaccess: fix compilation error
24850         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
24851
24852         rawmemchr: relax license
24853         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
24854         okay.
24855         Reported by Jim Meyering.
24856
24857         mkfifoat: new module
24858         * modules/mkfifoat: New file.
24859         * lib/mkfifoat.c: Likewise.
24860         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
24861         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
24862         * modules/sys_stat (Makefile.am): Use them.
24863         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
24864         * MODULES.html.sh (File system functions): Mention module.
24865         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
24866         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
24867         * modules/mkfifoat-tests: New test.
24868         * tests/test-mkfifoat.c: Likewise.
24869
24870         strchrnul: relax license
24871         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
24872         okay.
24873         Reported by Jim Meyering.
24874
24875 2009-09-08  Eric Blake  <ebb9@byu.net>
24876
24877         fstatat: fix compilation on Solaris
24878         * lib/fstatat.c (includes): Add fcntl.h.
24879         Reported by Pádraig Brady.
24880
24881 2009-09-07  Eric Blake  <ebb9@byu.net>
24882
24883         rename: modernize replacement
24884         * modules/rename (Depends-on): Add stdio.
24885         (configure.ac): Declare witness.
24886         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
24887         stdio take care of replacement.
24888         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
24889         * modules/stdio (Makefile.am): Substitute them.
24890         * lib/stdio.in.h (rename): Declare replacement.
24891         * lib/rename.c (includes): Allow cross-compilation to non-windows
24892         machines.
24893         * doc/posix-functions/rename.texi (rename): Improve
24894         documentation.
24895
24896         stdio: sort witness names
24897         * modules/stdio (Makefile.am): Sort replacements.
24898         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
24899         * lib/stdio.in.h: Likewise.
24900
24901         getcwd: minor cleanups
24902         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
24903         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
24904
24905         openat: provide more convenience names
24906         * modules/faccessat (configure.ac): Add C witness.
24907         * lib/unistd.in.h (readlinkat): Fix typo.
24908         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
24909         convenience wrappers.
24910         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
24911         wrappers in syntax checks.
24912
24913 2009-09-06  Eric Blake  <ebb9@byu.net>
24914
24915         doc: fix comments in recent patches
24916         * lib/faccessat.c: Mention correct function.
24917         * lib/fchmodat.c: Likewise.
24918         * lib/fchownat.c: Likewise.
24919         * lib/symlinkat.c: Likewise.
24920         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
24921         constants.
24922
24923         faccessat, symlinkat: continue cleanup of previous patch
24924         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
24925         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
24926         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
24927         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
24928         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
24929         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
24930         set.
24931
24932 2009-09-06  Bruno Haible  <bruno@clisp.org>
24933
24934         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
24935         (fstatat): Declare if GNULIB_FSTATAT is set.
24936         (mkdirat): Declare if GNULIB_MKDIRAT is set.
24937         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
24938         (unlinkat): Declare if GNULIB_UNLINKAT is set.
24939         * modules/fcntl-h (Files): Remove m4/openat.m4.
24940         * modules/sys_stat (Files): Remove m4/openat.m4.
24941         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
24942         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
24943         * modules/unistd (Files): Remove m4/openat.m4.
24944         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
24945         GNULIB_OPENAT.
24946         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
24947         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
24948         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
24949         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
24950         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
24951         gl_OPENAT_DEFAULTS.
24952         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
24953         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
24954         Don't require gl_OPENAT_DEFAULTS.
24955         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
24956         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
24957         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
24958         (gl_OPENAT_DEFAULTS): Remove macro.
24959
24960 2009-09-06  Bruno Haible  <bruno@clisp.org>
24961
24962         * modules/openat (configure.ac): Remove unneeded witness.
24963
24964 2009-09-06  Bruno Haible  <bruno@clisp.org>
24965
24966         Set errno to ENOSYS when a function is entirely unsupported.
24967         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
24968         EOPNOTSUPP.
24969         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
24970         * modules/chown (Depends-on): Remove errno.
24971
24972 2009-09-06  Bruno Haible  <bruno@clisp.org>
24973
24974         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
24975
24976 2009-09-06  Bruno Haible  <bruno@clisp.org>
24977
24978         * lib/sys_stat.in.h: Fix preprocessor command indentation.
24979
24980 2009-09-06  Ben Pfaff  <blp@gnu.org>
24981             Bruno Haible  <bruno@clisp.org>
24982
24983         Work around a glibc bug in strtok_r.
24984         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
24985         Undefine if UNDEFINE_STRTOK_R is set.
24986         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
24987         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
24988         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
24989         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
24990         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
24991         UNDEFINE_STRTOK_R.
24992         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
24993
24994 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
24995
24996         exclude: minor fix
24997         * lib/exclude.c: Include wctype.h
24998
24999 2009-09-06  Akim Demaille  <demaille@gostai.com>
25000
25001         bootstrap: improve error message
25002         * build-aux/bootstrap (find_tool): Upon failure, report the list
25003         of candidates.
25004         Honor the initial value of the envvar.
25005
25006 2009-09-05  Eric Blake  <ebb9@byu.net>
25007
25008         symlinkat: new module
25009         * modules/symlinkat: New file.
25010         * lib/symlinkat.c: Likewise.
25011         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
25012         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
25013         * modules/unistd (Makefile.am): Use them.
25014         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
25015         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
25016         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
25017         * MODULES.html.sh (File system functions): Mention module.
25018         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
25019         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
25020         * modules/symlinkat-tests: New test.
25021         * tests/test-symlinkat.c: Likewise.
25022
25023         test-openat-safer: add more checks
25024         * tests/test-openat-safer.c (main): Check more code paths.
25025
25026 2009-09-05  Jim Meyering  <meyering@redhat.com>
25027
25028         syntax-check: detect unnecessary inclusion of openat.h
25029         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
25030
25031 2009-09-05  Bruno Haible  <bruno@clisp.org>
25032
25033         Support towlower, towupper.
25034         * doc/posix-functions/towlower.texi: Mention module wctype.
25035         * doc/posix-functions/towupper.texi: Likewise.
25036         * lib/wctype.in.h (towlower, towupper): New functions.
25037         * tests/test-wctype.c: Include stdio.h, stdlib.h.
25038         (ASSERT): New macro.
25039         (e): New variable.
25040         (main): Test also towlower, towupper. Test WEOF argument.
25041         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
25042
25043 2009-09-05  Bruno Haible  <bruno@clisp.org>
25044
25045         Fix conversion behaviour when the input is invalid.
25046         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
25047         mark occurring in first pass of indirect conversion.
25048         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
25049         input.
25050         Found by clang's static analyzer.
25051
25052 2009-09-05  Bruno Haible  <bruno@clisp.org>
25053
25054         * tests/test-striconveh.c (main): Test indirect conversion on platforms
25055         where direct conversion is possible.
25056
25057 2009-09-04  Eric Blake  <ebb9@byu.net>
25058
25059         openat: fail with ENOENT on empty name
25060         * lib/openat-proc.c (openat_proc_name): Special-case the empty
25061         buffer.
25062
25063         link-follow: fix logic bug in prior patch
25064         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
25065         reversed sense of yes and no in prior patch.  Avoid confusing
25066         compilation failure with desired semantics.
25067
25068         link-follow: accomodate mingw and cross-compilation
25069         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
25070         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
25071         cross-compilation results to -1, to make linkat easier to
25072         implement when cross-compiling.  Trivially support mingw.
25073         * modules/link-follow (configure.ac): Call new name.
25074         * NEWS: Mention this.
25075
25076 2009-09-03  Eric Blake  <ebb9@byu.net>
25077
25078         faccessat: compile replacement
25079         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
25080         needed.
25081
25082         fts: fix compilation error
25083         * lib/fts.c (includes): Re-add "openat.h", for
25084         openat_needs_fchdir.
25085
25086         faccessat: new module
25087         * modules/faccessat: New file.
25088         * lib/faccessat.c: Likewise.
25089         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
25090         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
25091         * modules/unistd (Makefile.am): Use it.
25092         * lib/unistd.in.h (faccessat): Declare it.
25093         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
25094         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
25095         * MODULES.html.sh (File system functions): Mention it.
25096         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
25097         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
25098
25099         euidaccess: prefer POSIX over non-standard implementation
25100         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
25101         * lib/euidaccess.c (euidaccess): Use it if available.
25102
25103         openat: make template easier to use
25104         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
25105         AT_FUNC_F2 to be undefined.
25106         (VALIDATE_FLAG): New macro; use it to reject bad flags.
25107         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
25108         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
25109         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
25110         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
25111         Likewise.
25112         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
25113         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
25114         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
25115         Likewise.
25116
25117         openat: declare in POSIX headers
25118         * NEWS: Mention this.
25119         * modules/openat (configure.ac): Declare witnesses.
25120         (Depends-on): Add fcntl-h, sys_stat, unistd.
25121         (Include): Mention correct headers.
25122         * modules/fcntl-h (Depends-on): Add link-warning.
25123         (Files): Add openat.m4.
25124         (Makefile.am): Substitute witnesses.
25125         * modules/sys_stat (Files, Makefile.am): Likewise.
25126         * modules/unistd (Files, Makefile.am): Likewise.
25127         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
25128         (gl_OPENAT_DEFAULTS): New macro.
25129         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
25130         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
25131         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
25132         (SYS_STAT_H): Remove unused variable.
25133         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
25134         * lib/fcntl--.h (includes): Remove unneeded header.
25135         * lib/openat-safer.c (includes): Likewise.
25136         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
25137         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
25138         appropriate headers.
25139         (__OPENAT_PREFIX): Delete.
25140         * lib/fcntl.in.h (openat): Provide declaration.
25141         (AT_FDCWD): Fix Solaris bug.
25142         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
25143         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
25144         * lib/fchmodat.c (includes):  Adjust to find declaration.
25145         * lib/fchownat.c (includes): Likewise.
25146         * lib/mkdirat.c (includes): Likewise.
25147         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
25148         still visible.
25149
25150 2009-09-02  Eric Blake  <ebb9@byu.net>
25151
25152         errno: use consistently
25153         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
25154         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
25155         * lib/canonicalize.c (ELOOP): Likewise.
25156         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
25157         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
25158         * lib/lchown.c (EOPNOTSUPP): Likewise.
25159         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
25160         * lib/savewd.c (ESTALE): Likewise.
25161         * lib/settime.c (ENOSYS): Likewise.
25162         * lib/utimens.c (ENOSYS): Likewise.
25163         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
25164         * lib/chdir-safer.c (ELOOP): Likewise.
25165         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
25166         * modules/c-stack (Depends-on): Add errno.
25167         * modules/canonicalize (Depends-on): Likewise.
25168         * modules/chdir-safer (Depends-on): Likewise.
25169         * modules/fdopendir (Depends-on): Likewise.
25170         * modules/inet_ntop (Depends-on): Likewise.
25171         * modules/inet_pton (Depends-on): Likewise.
25172         * modules/lchown (Depends-on): Likewise.
25173         * modules/openat (Depends-on): Likewise.
25174         * modules/savewd (Depends-on): Likewise.
25175         * modules/settime (Depends-on): Likewise.
25176         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
25177
25178         fts: avoid leaking fds
25179         * modules/fts (Depends-on): Add cloexec.
25180         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
25181         flag.
25182
25183         fts: make directory fds more robust
25184         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
25185         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
25186
25187         backupfile, chdir-long, fts, savedir: make safer
25188         * lib/backupfile.c (includes): Use "dirent--.h", since
25189         numbered_backup can write to stderr during readdir.
25190         * lib/savedir.c (includes): Likewise.
25191         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
25192         emulation can write to stderr on failure.
25193         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
25194         * lib/getcwd.c: Document why opendir_safer is unused.
25195         * lib/glob.c: Likewise.
25196         * lib/scandir.c: Likewise.
25197         * lib/openat-proc.c: Likewise, for open_safer.
25198         * modules/backupfile (Depends-on): Add dirent-safer.
25199         * modules/savedir (Depends-on): Likewise.
25200         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
25201         * modules/chdir-long (Depends-on): Add openat-safer.
25202
25203         openat-safer: new module
25204         * modules/openat-safer: New file.
25205         * lib/openat-safer.c: Likewise.
25206         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
25207         * lib/fcntl-safer.h (openat_safer): Declare.
25208         * lib/fcntl--.h (openat): Override.
25209         * MODULES.html.sh (File descriptor based I/O): Mention it.
25210         * lib/openat.h: Add double-inclusion guards.
25211         * lib/openat.c (includes): Only include "fcntl-safer.h", not
25212         "fcntl--.h", so we can implement openat.
25213         * modules/openat-safer-tests: New test.
25214         * tests/test-openat-safer.c: New file.
25215
25216         dirent-safer: new module
25217         * modules/dirent-safer: New file.
25218         * lib/dirent--.h: Likewise.
25219         * lib/dirent-safer.h: Likewise.
25220         * lib/opendir-safer.c: Likewise.
25221         * m4/dirent-safer.m4: Likewise.
25222         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
25223         * modules/dirent-safer-tests: New test.
25224         * tests/test-dirent-safer.c: New file.
25225         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
25226
25227         fdopendir: optimize on mingw
25228         * lib/unistd.in.h (_gl_directory_name): New prototype.
25229         * lib/fchdir.c (_gl_directory_name): Implement it.
25230         (fchdir): Use it to simplify implementation.
25231         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
25232         fchdir, when available, to avoid calling [f]chdir().
25233
25234         fdopendir: split into its own module
25235         * lib/openat.c (fdopendir): Move...
25236         * lib/fdopendir.c: ...into new file.
25237         * modules/fdopendir: New module.
25238         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
25239         * modules/openat (Depends-on): Add fdopendir.
25240         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
25241         fdopendir here.
25242         * modules/savedir (Depends-on): Only need fdopendir, not full
25243         openat.
25244         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
25245         * lib/openat.h (fdopendir): Drop prototype.
25246         * lib/dirent.in.h (fdopendir): Provide prototype.
25247         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
25248         * modules/dirent (Makefile.am): Substitute them.
25249         * MODULES.html.sh (File system functions): Mention it.
25250         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
25251         * modules/fdopendir-tests: New file.
25252         * tests/test-fdopendir.c: Likewise.
25253
25254         fchdir: use more consistent macro convention
25255         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
25256         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
25257         REPLACE_FCHDIR, rather than relying on config.h macros.
25258         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
25259         inside a single make-time REPLACE_FCHDIR block, rather than using
25260         the config.h FCHDIR_REPLACEMENT.
25261         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
25262         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
25263         Manage fstat replacement.
25264         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
25265         REPLACE_FCHDIR.
25266         * modules/sys_stat (Files): Add m4/unistd_h.m4.
25267         (Makefile.am): Substitute REPLACE_FCHDIR.
25268         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
25269         FCHDIR_REPLACEMENT.
25270         * lib/dup-safer.c (dup_safer): Likewise.
25271         * lib/dup2.c (rpl_dup2): Likewise.
25272         * lib/dup3.c (rpl_dup3): Likewise.
25273         * lib/open.c (rpl_open): Likewise.
25274
25275         fchdir: simplify error handling, and support dup3
25276         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
25277         stdbool, malloc-posix, realloc-posix.
25278         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
25279         (ensure_dirs_slot): Return false on allocation failure.
25280         (rpl_dup2): Delete.
25281         (_gl_register_dup): New function.
25282         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
25283         (_gl_register_fd): Close fd on allocation failure.
25284         * lib/fcntl.in.h (_gl_register_fd): Update signature.
25285         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
25286         prototype.
25287         (rpl_dup2_fchdir): Delete prototype.
25288         * lib/open.c (open): Update caller.
25289         * lib/dup2.c (dup2): Track fchdir metadata.
25290         * lib/dup3.c (dup3): Likewise.
25291         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
25292         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
25293
25294 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25295
25296         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
25297         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
25298         don't pass arguments to AC_OUTPUT.
25299
25300 2009-09-02  Bruno Haible  <bruno@clisp.org>
25301
25302         * modules/mkdtemp (License): Relicense under LGPLv2+.
25303         Reported by Paolo Bonzini.
25304
25305 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25306
25307         Replace uses of obsolete autoconf macros in Jim's modules.
25308         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
25309         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
25310         can evoke a warning from autoconf when run with -Wobsolete
25311         enabled.  They were declared obsolete for good reasons (see
25312         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
25313         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
25314         should not continue using the deprecated macros.
25315         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
25316         obsolete Autoconf macros with modern counterparts.
25317         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
25318         * m4/dos.m4 (gl_AC_DOS): Likewise.
25319         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
25320         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
25321         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
25322         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
25323         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
25324         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
25325         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
25326         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
25327         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
25328         Likewise.
25329         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
25330         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
25331         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
25332         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
25333         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
25334         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
25335
25336 2009-09-01  Eric Blake  <ebb9@byu.net>
25337
25338         fchdir: fix off-by-one bug in previous patch
25339         * lib/fchdir.c (rpl_fstat): Use correct bounds.
25340         (_gl_unregister_fd): Delete useless if.
25341
25342 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
25343
25344         maint.mk: sort the list of syntax-check rules
25345         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
25346         easier to get a sense of progress when the rules are run sequentially
25347         and take a long time.
25348
25349 2009-09-01  Simon Josefsson  <simon@josefsson.org>
25350
25351         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
25352         * modules/netinet_in: Likewise.
25353         * modules/sys_file: Likewise.
25354         * modules/sys_ioctl: Likewise.
25355         * modules/sys_select: Likewise.
25356         * modules/sys_socket: Likewise.
25357         * modules/sys_stat: Likewise.
25358         * modules/sys_time: Likewise.
25359         * modules/sys_times: Likewise.
25360         * modules/sys_utsname: Likewise.
25361         * modules/sys_wait: Likewise.
25362
25363 2009-09-01  Jim Meyering  <meyering@redhat.com>
25364
25365         fts: help ensure that return values are not ignored
25366         * lib/fts_.h (__GNUC_PREREQ): Define.
25367         (__attribute_warn_unused_result__): Define.
25368         (fts_children, fts_close, fts_open, fts_read): Declare with
25369         __attribute_warn_unused_result__.
25370
25371         fts: fts_close now fails also when closing a dir file descriptor fails
25372         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
25373         and propagate to caller, along with errno.
25374
25375         announce-gen: correct formatting in --help output
25376         * build-aux/announce-gen (usage): Move the one-line description in
25377         --help output "up", to where it belongs, just after Usage:.
25378
25379 2009-08-31  Eric Blake  <ebb9@byu.net>
25380
25381         fchdir: port to mingw
25382         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
25383         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
25384         opened, then use a substitute.
25385         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
25386         replacement.
25387         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
25388         (_gl_register_fd): No need to check stat if open already filters
25389         all directories.
25390         (fchdir): Fix error condition to match POSIX.
25391         * modules/fchdir (Depends-on): Add sys_stat.
25392         * doc/posix-functions/open.texi (open): Document the limitation.
25393         * modules/fchdir-tests: New file.
25394         * tests/test-fchdir.c: Likewise.
25395
25396         canonicalize: allow cross-testing from cygwin to mingw
25397         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
25398         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
25399         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
25400         Likewise.
25401         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
25402         target does not support symlinks.
25403         * tests/test-canonicalize-lgpl.sh: Likewise.
25404
25405         chown: avoid compilation warning on mingw
25406         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
25407         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
25408         mingw.
25409         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
25410         * modules/chown (Depends-on): Add errno.
25411
25412 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
25413
25414         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
25415         command.
25416
25417 2009-08-31  Jim Meyering  <meyering@redhat.com>
25418
25419         canonicalize: remove useless initialization
25420         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
25421         initialization of local, "end".
25422
25423 2009-08-30  Bruno Haible  <bruno@clisp.org>
25424
25425         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
25426         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
25427         ENOSYS.
25428
25429 2009-08-30  Bruno Haible  <bruno@clisp.org>
25430
25431         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
25432         /usr/xpg4/bin/tr when it exists.
25433         * tests/test-pipe-filter-gi1.sh: Likewise.
25434
25435 2009-08-30  Bruno Haible  <bruno@clisp.org>
25436
25437         Work around deficient /usr/bin/id program on Solaris.
25438         * tests/test-file-has-acl.sh (ID): New variable.
25439         * tests/test-set-mode-acl.sh (ID): Likewise.
25440         * tests/test-copy-acl.sh (ID): Likewise.
25441         * tests/test-copy-file.sh (ID): Likewise.
25442
25443 2009-08-30  Bruno Haible  <bruno@clisp.org>
25444
25445         New module 'xstriconveh'.
25446         * lib/xstriconveh.h: New file.
25447         * lib/xstriconveh.c: New file.
25448         * modules/xstriconveh: New file.
25449
25450 2009-08-30  Bruno Haible  <bruno@clisp.org>
25451
25452         Make it easier to use mem_cd_iconveh.
25453         * lib/striconveh.h (iconveh_t): New type.
25454         (iconveh_open, iconveh_close): New declarations.
25455         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
25456         with a single 'const iconveh_t *' argument.
25457         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
25458         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
25459         with a single 'const iconveh_t *' argument.
25460         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
25461         * tests/test-striconveh.c (main): Update.
25462         * NEWS: Mention the change.
25463
25464 2009-08-30  Bruno Haible  <bruno@clisp.org>
25465
25466         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
25467         problem.
25468
25469 2009-08-30  Bruno Haible  <bruno@clisp.org>
25470
25471         Work around iconv_open problem on Solaris.
25472         * lib/iconv_open-solaris.gperf: New file.
25473         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
25474         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
25475         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
25476         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
25477         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
25478         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
25479
25480 2009-08-29  Jim Meyering  <meyering@redhat.com>
25481
25482         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
25483         * top/maint.mk (cvs-check): Remove target; it was just an alias
25484         to the better-named vc-diff-check.
25485         (maintainer-distcheck): Remove rule.  It was used only from
25486         the (alpha/beta/major) target, and all of its commands but one
25487         were coreutils-specific.
25488         (vc-dist): Remove rule.
25489         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
25490         Run vc-diff-check, not vc-dist.
25491         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
25492
25493 2009-08-27  Bruno Haible  <bruno@clisp.org>
25494
25495         * tests/test-bitrotate.c (main): Remove test that uses a shift count
25496         of 0.
25497
25498 2009-08-27  Bruno Haible  <bruno@clisp.org>
25499
25500         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
25501         compilers.
25502         * doc/func.texi: Document the SunPRO C bug.
25503
25504 2009-08-27  Bruno Haible  <bruno@clisp.org>
25505
25506         Fix link error on Solaris.
25507         * tests/test-parse-duration.c (xstrdup): Remove function.
25508
25509 2009-08-26  Pádraig Brady  <P@draigbrady.com>
25510
25511         ignore-value: handle pointer types, too
25512         * lib/ignore-value.h (__attribute__): Remove definition.
25513         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
25514         of a more concise and more-often effective "(void) i" statement.
25515         (ignore_ptr): New function to suppress warnings from functions that
25516         return pointers, and to make it explicit that one function doesn't
25517         handle all cases.
25518
25519 2009-08-25  Bruno Haible  <bruno@clisp.org>
25520
25521         dup2: work around a Linux bug.
25522         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
25523         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
25524         * doc/posix-functions/dup2.texi: Mention the Linux bug.
25525         Reported by Simon Josefsson.
25526
25527 2009-08-25  Jim Meyering  <meyering@redhat.com>
25528
25529         libguestfs uses gnulib
25530         * users.txt: Add libguestfs.
25531
25532 2009-08-24  Eric Blake  <ebb9@byu.net>
25533
25534         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
25535         * lib/pipe2.c (includes): Add binary-io.h.
25536         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
25537
25538 2009-08-24  Bruno Haible  <bruno@clisp.org>
25539
25540         Tolerate declared but missing accept4 syscall.
25541         * lib/accept4.c (accept4): Invoke original accept4 function first, if
25542         available.
25543         * lib/sys_socket.in.h (accept4): If the function is already present,
25544         override it.
25545         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
25546         * modules/accept4 (Makefile.am): Compile accept4.c always.
25547         Reported by Paolo Bonzini and Eric Blake.
25548
25549 2009-08-23  Bruno Haible  <bruno@clisp.org>
25550
25551         New module 'accept4'.
25552         * lib/sys_socket.in.h (accept4): New declaration.
25553         * lib/accept4.c: New file.
25554         * m4/accept4.m4: New file.
25555         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
25556         GNULIB_ACCEPT4, HAVE_ACCEPT4.
25557         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
25558         HAVE_ACCEPT4.
25559         * modules/accept4: New file.
25560         * doc/glibc-functions/accept4.texi: Mention the new module.
25561
25562 2009-08-24  Jim Meyering  <meyering@redhat.com>
25563
25564         progname: also set global program_invocation_name, when possible
25565         Before this change, a libtool-enabled program that calls glibc's
25566         error function would report the program name as
25567         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
25568         * modules/progname (configure.ac): Check for a declaration of
25569         program_invocation_name.
25570         * lib/progname.c:  Include <errno.h>.
25571         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
25572         Set program_invocation_name.
25573
25574 2009-08-23  Bruno Haible  <bruno@clisp.org>
25575
25576         * lib/dup3.c: Include <string.h>.
25577
25578 2009-08-23  Bruno Haible  <bruno@clisp.org>
25579
25580         * lib/dup3.c (dup3): Test only once whether the system actually exists.
25581         * lib/pipe2.c (pipe2): Likewise.
25582         Suggested by Eric Blake.
25583
25584 2009-08-23  Bruno Haible  <bruno@clisp.org>
25585
25586         Tolerate declared but missing dup3 syscall.
25587         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
25588         * lib/unistd.in.h (dup3): If the function is already present,
25589         override it.
25590         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
25591         * modules/dup3 (Makefile.am): Compile dup3.c always.
25592         Reported by Paolo Bonzini.
25593
25594 2009-08-23  Bruno Haible  <bruno@clisp.org>
25595
25596         Tolerate declared but missing pipe2 syscall.
25597         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
25598         available.
25599         * lib/unistd.in.h (pipe2): If the function is already present,
25600         override it.
25601         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
25602         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
25603         Reported by Paolo Bonzini.
25604
25605 2009-08-23  Bruno Haible  <bruno@clisp.org>
25606
25607         * lib/pipe2.c (pipe2): Move #ifs inside function.
25608
25609 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
25610
25611         quotearg: document limitations of quote_these_too
25612         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
25613         those limitations are created.
25614         * lib/quotearg.h (set_char_quoting): Document that digits and
25615         letters that are special after backslash are not permitted.
25616         (quotearg_char): Cross-reference set_char_quoting documentation.
25617
25618 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
25619
25620         quotearg: implement custom_quoting_style
25621         * lib/quotearg.c: (struct quoting_options): Add left_quote and
25622         right_quote fields.
25623         (set_custom_quoting): New public function.
25624         (quotearg_buffer_restyled): Add left_quote and right_quote
25625         arguments, handle them very much like locale quoting, and update
25626         all uses.
25627         (quotearg_n_custom): New public function.
25628         (quotearg_n_custom_mem): New public function.
25629         (quotearg_custom): New public function.
25630         (quotearg_custom_mem): New public function.
25631         * lib/quotearg.h: Prototype and document new public functions.
25632         (enum quoting_style): For escape_quoting_style and
25633         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
25634         ignored even though they're otherwise like c_quoting_style.
25635         Add custom_quoting_style member and document with comparison to
25636         clocale_quoting_style.
25637         * tests/test-quotearg.c (custom_quotes): New array.
25638         (custom_results): New array.
25639         (main): Extend to test custom quoting.
25640
25641 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
25642
25643         quotearg: fix right quote escaping when it's in quote_these_too
25644         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
25645         quote, be sure to prepend only one backslash.
25646         * tests/test-quotearg.c (use_quote_double_quotes): New function.
25647         (main): Test it.
25648
25649 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
25650
25651         quotearg-tests: test escaping of embedded locale quotes
25652         * tests/test-quotearg.c (struct result_strings): Add member for
25653         new input.
25654         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
25655         (inputs): Add new input.
25656         (results_g): Add expected results.
25657         (flag_results): Likewise.
25658         (locale_results): Likewise.
25659         (compare_strings): Check those.
25660
25661 2009-08-23  Bruno Haible  <bruno@clisp.org>
25662
25663         Tests for module 'dup3'.
25664         * modules/dup3-tests: New file.
25665         * tests/test-dup3.c: New file.
25666
25667         New module 'dup3'.
25668         * lib/unistd.in.h (dup3): New declaration.
25669         * lib/dup3.c: New file.
25670         * m4/dup3.m4: New file.
25671         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
25672         HAVE_DUP3.
25673         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
25674         * modules/dup3: New file.
25675         * doc/glibc-functions/dup3.texi: Mention the new module.
25676
25677 2009-08-23  Bruno Haible  <bruno@clisp.org>
25678
25679         Tweak the dup2 test.
25680         * tests/test-dup2.c (main): Create the test file empty. Verify that an
25681         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
25682         the test file is still empty. Fix argument order of lseek.
25683
25684 2009-08-23  Bruno Haible  <bruno@clisp.org>
25685
25686         Avoid test link errors when the modules getopt-gnu, gettext are used.
25687         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
25688         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
25689
25690 2009-08-23  Bruno Haible  <bruno@clisp.org>
25691
25692         Fix getdtablesize() on mingw.
25693         * lib/getdtablesize.c (getdtablesize): Implement differently.
25694         * lib/unistd.in.h (getdtablesize): Improve comment.
25695
25696 2009-08-23  Bruno Haible  <bruno@clisp.org>
25697
25698         New module 'mkostemp'.
25699         Based on Ulrich Drepper's 2007-08-10 change in glibc.
25700         * lib/stdlib.in.h (mksotemp): New declaration.
25701         * lib/mkostemp.c: New file, from glibc with modifications.
25702         * lib/tempname.h (GT_FILE): Remove outdated comment.
25703         (gen_tempname): Add flags argument.
25704         * lib/tempname.c (__GT_BIGFILE): Remove macro.
25705         (__GT_FILE): Map to 1.
25706         (small_open, large_open): Remove macros.
25707         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
25708         * lib/mkstemp.c (mkstemp): Update.
25709         * lib/mkdtemp.c (mkdtemp): Likewise.
25710         * m4/mkostemp.m4: New file.
25711         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
25712         HAVE_MKOSTEMP.
25713         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
25714         HAVE_MKOSTEMP.
25715         * modules/mkostemp: New file, based on modules/mkstemp.
25716         * doc/glibc-functions/mkostemp.texi: Mention the new module.
25717         * NEWS: Mention the change.
25718
25719 2009-08-23  Bruno Haible  <bruno@clisp.org>
25720
25721         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
25722         Reported by Eric Blake.
25723
25724 2009-08-23  Bruno Haible  <bruno@clisp.org>
25725
25726         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
25727         Reported by Eric Blake.
25728
25729 2009-08-23  Bruno Haible  <bruno@clisp.org>
25730
25731         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
25732         * modules/pipe2 (Depends-on): Likewise.
25733
25734 2009-08-23  Eric Blake  <ebb9@byu.net>
25735
25736         fcntl-h: add O_TTY_INIT support
25737         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
25738         * tests/test-fcntl-h.c (o): Test it.
25739         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
25740
25741         fcntl-h: rename from fcntl, in preparation for fcntl(2)
25742         * modules/fcntl: Move <fcntl.h> header replacement...
25743         * modules/fcntl-h: ...to new name, so as not to collide with
25744         like-named function.
25745         * tests/test-fcntl.c: Rename...
25746         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
25747         * modules/fcntl-tests: Rename...
25748         * modules/fcntl-h-tests: ...to this.  Update test file name.
25749         * modules/chdir-long (Depends-on): Update clients.
25750         * modules/chdir-safer (Depends-on): Likewise.
25751         * modules/fcntl-safer (Depends-on): Likewise.
25752         * modules/fts (Depends-on): Likewise.
25753         * modules/mkancesdirs (Depends-on): Likewise.
25754         * modules/mkdir-p (Depends-on): Likewise.
25755         * modules/open (Depends-on): Likewise.
25756         * modules/savewd (Depends-on): Likewise.
25757         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
25758         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
25759
25760 2009-08-22  Bruno Haible  <bruno@clisp.org>
25761
25762         * modules/binary-io (License): Relicense under LGPL.
25763         * modules/pipe2 (License): Likewise.
25764
25765 2009-08-22  Bruno Haible  <bruno@clisp.org>
25766
25767         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
25768         return value.
25769         * lib/pipe-filter-gi.c (filter_init): Likewise.
25770         Reported by Eric Blake.
25771
25772 2009-08-22  Bruno Haible  <bruno@clisp.org>
25773
25774         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
25775         * modules/pipe (Depends-on): Add pipe2.
25776
25777 2009-08-22  Bruno Haible  <bruno@clisp.org>
25778
25779         Tests for module 'pipe2'.
25780         * modules/pipe2-tests: New file.
25781         * tests/test-pipe2.c: New file.
25782
25783         New module 'pipe2'.
25784         * lib/unistd.in.h (pipe2): New declaration.
25785         * lib/pipe2.c: New file.
25786         * m4/pipe2.m4: New file.
25787         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
25788         HAVE_PIPE2.
25789         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
25790         * modules/pipe2: New file.
25791         * doc/glibc-functions/pipe2.texi: Mention the new module.
25792
25793 2009-08-22  Bruno Haible  <bruno@clisp.org>
25794
25795         Reference some new glibc functions.
25796         * doc/glibc-functions/accept4.texi: New file.
25797         * doc/glibc-functions/dup3.texi: New file.
25798         * doc/glibc-functions/mkostemp.texi: New file.
25799         * doc/glibc-functions/pipe2.texi: New file.
25800         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
25801         (Glibc sys/socket.h): Refer to accept4.
25802         (Glibc unistd.h): Refer to dup3, pipe2.
25803         Reported by Eric Blake.
25804
25805 2009-08-22  Jim Meyering  <meyering@redhat.com>
25806             Bruno Haible  <bruno@clisp.org>
25807
25808         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
25809         This makes it so packages using automake-1.11's silent-rules option
25810         can print e.g., a single "GEN    configmake.h" line, rather than
25811         the 30+ statements that perform the job.  If you want to see the
25812         actual commands, you can still run "make V=1".
25813         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
25814         so that make output is abbreviated when those variables are defined
25815         appropriately.
25816         * modules/argz: Likewise.
25817         * modules/arpa_inet: Likewise.
25818         * modules/byteswap: Likewise.
25819         * modules/configmake: Likewise.
25820         * modules/dirent: Likewise.
25821         * modules/errno: Likewise.
25822         * modules/fcntl: Likewise.
25823         * modules/float: Likewise.
25824         * modules/fnmatch: Likewise.
25825         * modules/getopt-posix: Likewise.
25826         * modules/glob: Likewise.
25827         * modules/iconv_open: Likewise.
25828         * modules/inttypes: Likewise.
25829         * modules/localcharset: Likewise.
25830         * modules/locale: Likewise.
25831         * modules/math: Likewise.
25832         * modules/netdb: Likewise.
25833         * modules/netinet_in: Likewise.
25834         * modules/poll: Likewise.
25835         * modules/posix_spawnp-tests: Likewise.
25836         * modules/sched: Likewise.
25837         * modules/search: Likewise.
25838         * modules/selinux-h: Likewise.
25839         * modules/signal: Likewise.
25840         * modules/spawn: Likewise.
25841         * modules/stdarg: Likewise.
25842         * modules/stdbool: Likewise.
25843         * modules/stddef: Likewise.
25844         * modules/stdint: Likewise.
25845         * modules/stdio: Likewise.
25846         * modules/stdlib: Likewise.
25847         * modules/string: Likewise.
25848         * modules/strings: Likewise.
25849         * modules/sys_file: Likewise.
25850         * modules/sys_ioctl: Likewise.
25851         * modules/sys_select: Likewise.
25852         * modules/sys_socket: Likewise.
25853         * modules/sys_stat: Likewise.
25854         * modules/sys_time: Likewise.
25855         * modules/sys_times: Likewise.
25856         * modules/sys_utsname: Likewise.
25857         * modules/sys_wait: Likewise.
25858         * modules/sysexits: Likewise.
25859         * modules/time: Likewise.
25860         * modules/unistd: Likewise.
25861         * modules/wchar: Likewise.
25862         * modules/wctype: Likewise.
25863
25864 2009-08-22  Jim Meyering  <meyering@redhat.com>
25865
25866         announce-gen: detect write failure
25867         * build-aux/announce-gen: Add Coda at end.
25868         Remove equivalent-but-more-verbose block at top.
25869
25870 2009-08-19  Akim Demaille  <demaille@gostai.com>
25871
25872         bootstrap: --help to stdout.
25873         * bootstrap (usage): Don't send --help to stderr.
25874         Use a here doc instead of a long string.
25875
25876 2009-08-21  Eric Blake  <ebb9@byu.net>
25877
25878         test-popen-safer: split from test-popen
25879         * tests/test-popen.c (main): Move...
25880         * tests/test-popen.h: ...into new file.
25881         * tests/test-popen-safer2.c: New file.
25882         * modules/popen-tests (Files): Add test-popen.h.
25883         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
25884         Suggested by Bruno Haible.
25885
25886         test-fcntl-safer: split from test-open
25887         * tests/test-open.c (main): Move...
25888         * tests/test-open.h: ...into new file.
25889         * tests/test-fcntl-safer.c: New file.
25890         * modules/open-tests (Files): Add test-open.h.
25891         * modules/fcntl-safer-tests: New file.
25892         Suggested by Bruno Haible.
25893
25894         test-fopen-safer: split from test-fopen
25895         * tests/test-fopen.c (main): Move...
25896         * tests/test-fopen.h: ...into new file.
25897         * tests/test-fopen-safer.c: New file.
25898         * modules/fopen-tests (Files): Add test-fopen.h.
25899         * modules/fopen-safer-tests: New file.
25900         Suggested by Bruno Haible.
25901
25902 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
25903
25904         popen-safer: test O_CLOEXEC at run-time.
25905         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
25906
25907 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
25908
25909         fcntl: move more flags to the header
25910         * lib/cloexec.c: Do not define FD_CLOEXEC here.
25911         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
25912         * lib/fcntl.in.h: Do both things here.
25913
25914 2009-08-21  Jim Meyering  <meyering@redhat.com>
25915
25916         consistently remove $@-t before redirecting to it
25917         * modules/argz: Remove $@-t and $@ before redirecting to the former.
25918         * modules/alloca-opt: Likewise.
25919         * modules/byteswap: Likewise.
25920         * modules/fnmatch: Likewise.
25921         * modules/getopt-posix: Likewise.
25922         * modules/glob: Likewise.
25923         * modules/poll: Likewise.
25924         * modules/posix_spawnp-tests: Likewise.
25925         * modules/sys_socket: Likewise.
25926         * modules/sysexits: Likewise.
25927
25928 2009-08-21  Eric Blake  <ebb9@byu.net>
25929
25930         popen: simplify access to original popen
25931         * lib/popen.c (rpl_popen): No need to worry about popen being a
25932         macro.
25933         Reported by Bruno Haible.
25934
25935 2009-08-20  Eric Blake  <ebb9@byu.net>
25936
25937         build: avoid some compiler warnings
25938         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
25939         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
25940         type.
25941         (new_exclude_segment, excluded_file_pattern_p)
25942         (excluded_file_name_p): Reduce scope.
25943         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
25944         old-style declaration.
25945
25946 2009-08-20  Simon Josefsson  <simon@josefsson.org>
25947
25948         * tests/test-exclude1.sh: Handle Windows EOL.
25949         * tests/test-exclude2.sh: Likewise.
25950         * tests/test-exclude3.sh: Likewise.
25951         * tests/test-exclude4.sh: Likewise.
25952         * tests/test-exclude5.sh: Likewise.
25953         * tests/test-exclude6.sh: Likewise.
25954         * tests/test-exclude7.sh: Likewise.
25955
25956 2009-08-19  Akim Demaille  <demaille@gostai.com>
25957
25958         bootstrap: find sha1sum when named gsha1sum.
25959         * bootstrap (find_tool): New.
25960         ($SHA1SUM): New.
25961         Use it.
25962
25963 2009-08-20  Jim Meyering  <meyering@redhat.com>
25964
25965         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
25966         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
25967         expression that converts "." in a file name to "\." in the resulting
25968         regexp.  Start with a dummy statement, so that prior shell variable
25969         definitions are expanded portably.  Reported by Simon Josefsson.
25970
25971 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
25972
25973         Fix polling for writeability of a screen buffer.
25974         * lib/poll.c: Distinguish input and screen buffers for the
25975         Win32 implementation.
25976         * lib/select.c: Likewise.
25977
25978 2009-08-19  Eric Blake  <ebb9@byu.net>
25979
25980         popen-safer: prevent popen from clobbering std descriptors
25981         * modules/popen-safer: New file.
25982         * lib/popen-safer.c: Likewise.
25983         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
25984         * lib/stdio--.h (popen): Provide override.
25985         * lib/stdio-safer.h (popen_safer): Provide declaration.
25986         * tests/test-popen.c (includes): Partially test this.
25987         * modules/popen-safer-tests: New file, for more tests.
25988         * tests/test-popen-safer.c: Likewise.
25989         * MODULES.html.sh (file stream based Input/Output): Mention it.
25990
25991         tests: test some of the *-safer modules
25992         * modules/fopen-safer (Depends-on): Add fopen.
25993         * modules/fcntl-safer (Depends-on): Add fcntl.
25994         * modules/stdlib-safer (Depends-on): Add stdlib.
25995         (configure.ac): Set indicator.
25996         * modules/unistd-safer (configure.ac): Likewise.
25997         * modules/tmpfile-safer (configure.ac): Likewise.
25998         (Depends-on): Add tmpfile.
25999         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
26000         active.
26001         * tests/test-fopen.c (includes): Test safer versions when they are
26002         in use.
26003         * tests/test-open.c (includes): Likewise.
26004
26005         popen: fix cygwin 1.5 bug when stdin closed
26006         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
26007         * modules/popen: New file.
26008         * modules/popen-tests: Likewise.
26009         * tests/test-popen.c: Likewise.
26010         * m4/popen.m4: Likewise.
26011         * lib/popen.c: Likewise.
26012         * lib/stdio.in.h (popen): New declaration.
26013         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
26014         * modules/stdio (Makefile.am): Likewise.
26015         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
26016
26017 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
26018
26019         maint.mk: give full control over update-copyright exclusions
26020         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
26021         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
26022         (update-copyright): Don't force inclusion of top-level
26023         ChangeLog.  Don't force exclusion of all COPYING files, but make
26024         them the default exclusion instead.
26025
26026 2009-08-16  Bruno Haible  <bruno@clisp.org>
26027
26028         Fix test failures on Solaris 10.
26029         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
26030         tests when Solaris iconv() is used.
26031         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
26032         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
26033         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
26034         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
26035         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
26036
26037 2009-08-16  Bruno Haible  <bruno@clisp.org>
26038
26039         Fix test failures on Solaris 10.
26040         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
26041         'tr' program and pass it as first argument.
26042         * tests/test-pipe-filter-gi1.sh: Likewise.
26043         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
26044         program as first argument.
26045         * tests/test-pipe-filter-gi1.c (main): Likewise.
26046
26047 2009-08-16  Eric Blake  <ebb9@byu.net>
26048
26049         fpurge: fix previous commits
26050         * modules/fpurge (Makefile.am): Make replacement conditional,
26051         partially reverting 2007-04-29 change; missed in previous
26052         attempt.
26053         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
26054         is missing.
26055
26056 2009-08-16  Bruno Haible  <bruno@clisp.org>
26057
26058         Clarify fpurge's effect on the file position.
26059         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
26060         * tests/test-fpurge.c (main): Make a second pass for checking the file
26061         position.
26062
26063 2009-08-16  Bruno Haible  <bruno@clisp.org>
26064
26065         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
26066         declaration of fpurge is missing.
26067         * tests/test-fpurge.c (main): Check that the file has not more contents
26068         than expected. Close the file before removing it.
26069
26070 2009-08-15  Eric Blake  <ebb9@byu.net>
26071
26072         fpurge: don't wrap working cygwin implementation
26073         * lib/fpurge.c (fpurge): Fix comment typo.
26074         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
26075         1.7 to avoid replacement.
26076         * tests/test-fpurge.c (main): Enhance test.
26077
26078 2009-08-15  Eric Blake  <ebb9@byu.net>
26079         and Jim Meyering  <meyering@redhat.com>
26080
26081         test-update-copyright: skip if perl is insufficient
26082         * tests/test-update-copyright.sh: Failure to run maintainer tool
26083         should not cause testsuite failure on cygwin 1.5.
26084
26085 2009-08-14  Eric Blake  <ebb9@byu.net>
26086
26087         doc: mention more functions added in cygwin 1.7.0
26088         * doc/posix-headers/limits.texi (limits.h): Update for recent
26089         cygwin additions.
26090         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
26091         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
26092         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
26093         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
26094         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
26095
26096 2009-08-14  Eric Blake  <ebb9@byu.net>
26097
26098         maint.mk: simplify update-copyright rule
26099         * top/maint.mk (update-copyright-local): Delete, and document how
26100         to do it in cfg.mk instead.
26101         (update-copyright-exclude-regexp): Delete, and document how to do
26102         it in .x-update-copyright instead.
26103         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
26104         exclude ChangeLog.
26105
26106 2009-08-14  Bruno Haible  <bruno@clisp.org>
26107
26108         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
26109
26110 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
26111
26112         maint.mk: support update-copyright-env
26113         * top/maint.mk (update-copyright-env): Define place-holder.
26114         (update-copyright): Expand $(update-copyright-env) before
26115         invoking update-copyright.
26116
26117 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
26118
26119         update-copyright: implement forced reformatting
26120         * build-aux/update-copyright: Implement and document
26121         UPDATE_COPYRIGHT_FORCE.
26122         * tests/test-update-copyright.sh: Test it.
26123
26124 2009-08-14  Eric Blake  <ebb9@byu.net>
26125         and Bruno Haible  <bruno@clisp.org>
26126
26127         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
26128         * tests/test-locale.c: Revert previous patch related to NULL.
26129         * tests/test-stdio.c: Likewise.
26130         * tests/test-stdlib.c: Likewise.
26131         * tests/test-string.c: Likewise.
26132         * tests/test-unistd.c: Likewise.
26133         * modules/time-tests (Depends-on): Add verify.
26134         * modules/wchar-tests (Depends-on): Likewise.
26135         * tests/test-time.c: Test for NULL compliance.
26136         * tests/test-wchar.c: Likewise.
26137         * modules/locale (Depends-on): Add stddef.
26138         * modules/stdio (Depends-on): Likewise.
26139         * modules/stdlib (Depends-on): Likewise.
26140         * modules/string (Depends-on): Likewise.
26141         * modules/time (Depends-on): Likewise.
26142         * modules/unistd (Depends-on): Likewise.
26143         * modules/wchar (Depends-on): Likewise.
26144         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
26145         * lib/stdlib.in.h (includes): Likewise.
26146         * lib/string.in.h (includes): Likewise.
26147         * lib/time.in.h (includes): Likewise.
26148         * lib/unistd.in.h (includes): Likewise.
26149         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
26150         replaced.
26151         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
26152         * m4/stddef_h.m4: New file.
26153         * modules/stddef: Likewise.
26154         * lib/stddef.in.h: Likewise.
26155         * modules/stddef-tests: Likewise.
26156         * tests/test-stddef.c: Likewise.
26157         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
26158         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
26159         * doc/posix-headers/locale.texi (locale.h): Likewise.
26160         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
26161         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
26162         * doc/posix-headers/string.texi (string.h): Likewise.
26163         * doc/posix-headers/time.texi (time.h): Likewise.
26164         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
26165         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
26166
26167 2009-08-14  Eric Blake  <ebb9@byu.net>
26168
26169         doc: improve git diff of texinfo files
26170         * .gitattributes: Add rule for *.texi files, with hint on how to
26171         use it.
26172         Copied from m4, and based on a report by Bruno Haible.
26173
26174 2009-08-14  Bruno Haible  <bruno@clisp.org>
26175
26176         Disable multithread support by default on Cygwin 1.5.x for real.
26177         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
26178
26179 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
26180
26181         update-copyright: much ado about intervals
26182         * build-aux/update-copyright: Implement and document
26183         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
26184         of copyright year intervals.
26185         Also, document UPDATE_COPYRIGHT_YEAR.
26186         * tests/test-update-copyright.sh: Test it.
26187
26188         update-copyright: convert 2-digit to 4-digit years
26189         * build-aux/update-copyright: Implement and document.
26190         * tests/test-update-copyright.sh: Update.
26191
26192 2009-08-14  Jim Meyering  <meyering@redhat.com>
26193
26194         test-exclude: avoid coreutils "make check" failure
26195         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
26196         just as in test-argmatch.c.
26197
26198 2009-08-13  Eric Blake  <ebb9@byu.net>
26199
26200         test-dup2: fix bad assumption
26201         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
26202         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
26203
26204         test-version-etc: fix CRLF portability issue
26205         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
26206         recognize \r.
26207         * tests/test-argp-version-etc-1.sh: Likewise.
26208
26209         getopt: update client modules
26210         * modules/argp (Depends-on): Use getopt-gnu.
26211         * modules/git-merge-changelog (Depends-on): Likewise.
26212         * modules/long-options (Depends-on): Likewise.
26213         * modules/xstrtol (Depends-on): Likewise.
26214
26215 2009-08-13  Simon Josefsson  <simon@josefsson.org>
26216
26217         * tests/test-version-etc.sh: Don't fail on different
26218         project/version.  Don't fail on CRLF differences.  Rewrite to use
26219         multiple -e instead of multiple sed forks, suggested by Eric Blake
26220         <ebb9@byu.net>.
26221         * tests/test-argp-version-etc-1.sh: Likewise.
26222
26223 2009-08-13  Simon Josefsson  <simon@josefsson.org>
26224
26225         * tests/test-version-etc.sh: Don't fail on different
26226         project/version.
26227
26228 2009-08-12  Bruno Haible  <bruno@clisp.org>
26229
26230         Tests for modules 'getopt-posix', 'getopt-gnu'.
26231         * modules/getopt-posix-tests: New file.
26232         * tests/test-getopt.c: New file.
26233         * tests/test-getopt.h: New file.
26234         * tests/test-getopt_long.h: New file.
26235
26236         New modules 'getopt-posix', 'getopt-gnu'.
26237         * modules/getopt-gnu: New file, renamed from modules/getopt.
26238         * modules/getopt-posix: New file.
26239         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
26240         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
26241         (gl_GETOPT): Remove macro.
26242         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
26243         Disable the test against BSD systems that declare optreset. Test
26244         against mingw bug. Test against lack of support of optional arguments
26245         on many platforms.
26246         * doc/glibc-headers/getopt.texi: Update module name and list of
26247         relevant platforms.
26248         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
26249         'getopt-gnu' and more portability problems.
26250         * NEWS: Mention the changes.
26251
26252 2009-08-12  Bruno Haible  <bruno@clisp.org>
26253
26254         Ensure that optarg etc. get declared by <unistd.h>.
26255         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
26256         AC_USE_SYSTEM_EXTENSIONS.
26257         * modules/getopt (Depends-on): Add 'extensions'.
26258
26259 2009-08-12  Bruno Haible  <bruno@clisp.org>
26260
26261         Avoid test link errors.
26262         * modules/pipe-filter-ii-tests (Makefile.am): Define
26263         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
26264         * modules/pipe-filter-gi-tests (Makefile.am): Define
26265         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
26266         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
26267
26268 2009-08-12  Bruno Haible  <bruno@clisp.org>
26269
26270         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
26271         gl_GETOPT_SUBSTITUTE before.
26272         (gl_GETOPT): Use it.
26273         * m4/argp.m4 (gl_ARGP): Update.
26274         Reported by Sergey Poznyakoff.
26275
26276         * m4/getopt.m4: Reorder macros.
26277         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
26278         (gl_GETOPT_SUBSTITUTE): Remove macro.
26279
26280 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
26281
26282         Minor improvement in gitlog-to-changelog
26283
26284         * build-aux/gitlog-to-changelog: New option `--format' makes
26285         output format string configurable.
26286
26287 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
26288
26289         Optimize exclude: use hash tables for non-wildcard patterns.
26290
26291         * lib/exclude.c: Include hash.h and mbuiter.h
26292         (struct exclude_pattern, exclude_segment): New data types.
26293         (struct exclude): Rewrite.
26294         (fnmatch_pattern_has_wildcards): New function.
26295         (new_exclude_segment, free_exclude_segment): New functions.
26296         (excluded_file_pattern_p, excluded_file_name_p): New functions.
26297         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
26298         * lib/exclude.h (is_fnmatch_pattern): New prototype.
26299         * modules/exclude: Depend on hash and mbuiter.
26300
26301         * modules/exclude-tests: New file.
26302         * tests/test-exclude.c: New file.
26303         * tests/test-exclude1.sh: New file.
26304         * tests/test-exclude2.sh: New file.
26305         * tests/test-exclude3.sh: New file.
26306         * tests/test-exclude4.sh: New file.
26307         * tests/test-exclude5.sh: New file.
26308         * tests/test-exclude6.sh: New file.
26309         * tests/test-exclude7.sh: New file.
26310
26311 2009-08-12  Bruno Haible  <bruno@clisp.org>
26312
26313         Ensure that getopt() gets declared by <unistd.h>.
26314         * lib/unistd.in.h: Conditionally include getopt.h.
26315         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
26316         Set GNULIB_UNISTD_H_GETOPT.
26317         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
26318         GNULIB_UNISTD_H_GETOPT.
26319         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
26320
26321 2009-08-12  Bruno Haible  <bruno@clisp.org>
26322
26323         Clarify logic.
26324         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
26325         gl_replace_getopt instead of GETOPT_H.
26326
26327 2009-08-12  Bruno Haible  <bruno@clisp.org>
26328
26329         * m4/getopt.m4: Add comments.
26330
26331 2009-08-12  Bruno Haible  <bruno@clisp.org>
26332
26333         Disable multithread support by default on Cygwin 1.5.x.
26334         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
26335         set gl_use_threads=no if not specified otherwise.
26336
26337 2009-08-11  Bruno Haible  <bruno@clisp.org>
26338
26339         Avoid compilation error on NetBSD 5.0.
26340         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
26341         * tests/test-stdio.c: Likewise.
26342         * tests/test-stdlib.c: Likewise.
26343         * tests/test-string.c: Likewise.
26344         * tests/test-unistd.c: Likewise.
26345         Reported by Greg Troxel <gdt@ir.bbn.com>
26346         at <https://savannah.gnu.org/support/?106973>.
26347
26348 2009-08-11  Bruno Haible  <bruno@clisp.org>
26349
26350         * modules/dup2-tests (Depends-on): Remove close.
26351
26352         Undo 2009-07-19 commit.
26353         * modules/acl-tests (Depends-on): Remove close.
26354         * modules/binary-io-tests (Depends-on): Likewise.
26355         * modules/closein-tests (Depends-on): Likewise.
26356         * modules/flock-tests (Depends-on): Likewise.
26357         * modules/fsync-tests (Depends-on): Likewise.
26358         * modules/lseek-tests (Depends-on): Likewise.
26359         * modules/pipe-tests (Depends-on): Likewise.
26360         * modules/posix_spawn-tests (Depends-on): Likewise.
26361         * modules/posix_spawnp-tests (Depends-on): Likewise.
26362         * modules/stat-time-tests (Depends-on): Likewise.
26363         * modules/yesno-tests (Depends-on): Likewise.
26364
26365 2009-08-10  Bruno Haible  <bruno@clisp.org>
26366
26367         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
26368
26369 2009-08-10  Bruno Haible  <bruno@clisp.org>
26370
26371         Fix a gcc warning.
26372         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
26373
26374 2009-08-10  Bruno Haible  <bruno@clisp.org>
26375
26376         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
26377         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
26378         not only the first time.
26379         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
26380         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
26381         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
26382         is 1, not only the the first time.
26383
26384 2009-08-10  Bruno Haible  <bruno@clisp.org>
26385
26386         Make it possible to use module 'gethostname' without module 'close'.
26387         * lib/unistd.in.h (close): Evoke a link error only if
26388         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
26389         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
26390         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
26391         * modules/unistd (Makefile.am): Substitute
26392         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
26393         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
26394         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
26395         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
26396         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
26397         * modules/sys_ioctl (Makefile.am): Substitute
26398         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
26399         * modules/socket (configure.ac): On native Windows, set
26400         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
26401         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
26402         Reported by Sam Steingold <sds@gnu.org>.
26403
26404 2009-08-10  Bruno Haible  <bruno@clisp.org>
26405
26406         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
26407         * modules/ioctl (configure.ac): Likewise.
26408
26409 2009-08-10  Bruno Haible  <bruno@clisp.org>
26410
26411         Avoid collision between gnulib wrapper and libintl wrapper.
26412         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
26413         already defined in intl/printf.c.
26414         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
26415         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
26416
26417 2009-08-09  Bruno Haible  <bruno@clisp.org>
26418
26419         Make <sys/select.h> really self-contained, also on Solaris 10.
26420         * lib/sys_select.in.h: Include <string.h>.
26421         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
26422         Solaris 10 problem.
26423         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
26424         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
26425         Reported by Jim Meyering.
26426
26427 2009-08-09  Bruno Haible  <bruno@clisp.org>
26428
26429         Avoid warnings from 'aclocal' that are due to a use of macro name
26430         AM_XGETTEXT_OPTION that is not defined in automake.
26431         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
26432         automake.
26433         * modules/error (configure.ac): Likewise.
26434         * modules/propername (configure.ac): Likewise.
26435         * modules/vasprintf (configure.ac): Likewise.
26436         * modules/verror (configure.ac): Likewise.
26437         * modules/xprintf (configure.ac): Likewise.
26438         * modules/xvasprintf (configure.ac): Likewise.
26439
26440 2009-08-08  Bruno Haible  <bruno@clisp.org>
26441
26442         Avoid compilation error in C++ mode.
26443         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
26444         Reported by Sam Steingold <sds@gnu.org>.
26445
26446 2009-08-08  Bruno Haible  <bruno@clisp.org>
26447
26448         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
26449         for the various Unix platforms.
26450         * doc/posix-headers/limits.texi: Update platforms list regarding
26451         HOST_NAME_MAX.
26452         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
26453
26454 2009-08-07  Jim Meyering  <meyering@redhat.com>
26455
26456         selinux-at: fix typo in a comment
26457         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
26458         Spotted by Paolo Bonzini.
26459
26460         selinux-at: remove redundant m4 code, add documentation
26461         * modules/selinux-at (configure.ac): Remove redundant code.
26462         LIB_SELINUX is already set via the dependent module, selinux-h.
26463         (Include): Add quotes around selinux-at.h.
26464         * lib/selinux-at.h: Add documentation.
26465         Reported by Bruno Haible in
26466         http://marc.info/?l=gnulib-bug&m=124958988300749
26467
26468 2009-08-07  Bruno Haible  <bruno@clisp.org>
26469
26470         Avoid link error on MacOS X 10.3 and 10.4.
26471         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
26472         on non-ELF systems.
26473         * lib/argp-pv.c (argp_program_version): Likewise.
26474         Reported by Simon Josefsson.
26475
26476 2009-08-07  Simon Josefsson  <simon@josefsson.org>
26477
26478         * tests/test-version-etc.sh: Use $EXEEXT.
26479
26480 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
26481
26482         update-copyright: update documentation to point to maint.mk
26483         * build-aux/update-copyright: Here.
26484
26485 2009-08-06  Jim Meyering  <meyering@redhat.com>
26486
26487         maint.mk: support update-copyright-local
26488         * top/maint.mk (update-copyright-local): Define place-holder.
26489         (update-copyright): Depend on $(update-copyright-local).
26490
26491 2009-08-06  Jim Meyering  <meyering@redhat.com>
26492
26493         selinux-at: new module
26494         Initially written for coreutils, this module will soon be
26495         used by findutils, too.
26496         * MODULES.html.sh [Misc]: Add selinux-at.
26497         * lib/selinux-at.h: New file, from coreutils.
26498         * lib/selinux-at.c: Likewise.
26499         * modules/selinux-at: Likewise.
26500         (License): Change from LGPL to GPL, since it depends
26501         on the GPL'd openat module.
26502
26503         doc: update README
26504         * README: Remove references to cogito.
26505         Remove cvs-repo-updating instructions from 2007.
26506         Don't imply that CVS is better if you have limited disk space.
26507
26508 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
26509
26510         update-copyright: support C-style comments
26511         * build-aux/update-copyright: Implement and document.
26512         * tests/test-update-copyright.sh: Test.
26513
26514 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
26515
26516         update-copyright: support omitted "(C)"
26517         * build-aux/update-copyright: Implement and document.  Also,
26518         allow variable whitespace before "(C)".
26519         * tests/test-update-copyright.sh: Test.
26520
26521 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
26522
26523         update-copyright: don't trip on non-FSF copyright statements
26524         * build-aux/update-copyright: Fix so that the first correctly
26525         formatted FSF copyright statement is recognized no matter what
26526         appears before it.  Update documentation.
26527         * tests/test-update-copyright.sh: Test that.
26528
26529 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
26530
26531         update-copyright: clean up code a little
26532         * build-aux/update-copyright: Append "_re" to the name of any
26533         variable holding a regular expression.
26534         Replace "old" and "new" with "stmt" in variable names.
26535         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
26536         handled correctly.
26537         Format code more consistently.
26538
26539 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
26540
26541         update-copyright-tests: improve portability
26542         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
26543         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
26544
26545 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
26546
26547         update-copyright: support @copyright{} and &copy;
26548         * build-aux/update-copyright: Implement and document.
26549         * tests/test-update-copyright.sh: Test.
26550
26551 2009-08-04  Jim Meyering  <meyering@redhat.com>
26552
26553         update-copyright-tests: correctly test EOL=\r\n handling
26554         * tests/test-update-copyright.sh: Put \r at the end of some lines
26555         for the dos-eol tests.  Based on a patch by Joel E. Denny.
26556
26557         maint.mk: make update-copyright exclusion list more configurable
26558         * top/maint.mk (update-copyright): Default to excluding COPYING,
26559         but allow an override, in case someone does want to update that file.
26560
26561         maint.mk: don't update copyright date in COPYING
26562         * top/maint.mk (update-copyright): Exclude COPYING.
26563
26564         maint.mk: add a copyright-updating rule
26565         * top/maint.mk (update-copyright): New rule.
26566         Derived from coreutils/Makefile.am.
26567
26568         update-copyright: rename some variables
26569         * build-aux/update-copyright: Rename a few variables for clarity.
26570         Tweak syntax.  List Joel E. Denny as coauthor.
26571
26572 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
26573
26574         update-copyright: fix bug for 2-digit last year and add tests
26575         * build-aux/update-copyright: Fix bug.
26576         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
26577         specified.
26578         * modules/update-copyright-tests: New
26579         * tests/test-update-copyright.sh: New.
26580
26581 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
26582
26583         update-copyright: handle leading tabs in line prefix
26584         * build-aux/update-copyright: Count leading tabs as 8 spaces
26585         when computing margin.  This helps with the formatting of
26586         ChangeLogs, for example.
26587         Fix documentation a little.
26588
26589 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
26590
26591         update-copyright: support EOL=\r\n
26592         * build-aux/update-copyright: Implement that.
26593
26594 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
26595
26596         update-copyright: automatically format copyright statements
26597         * build-aux/update-copyright: Implement that.
26598         Also, be a little more predictable and safer by always failing
26599         when the full copyright format is not perfectly recognized as an
26600         unbroken whole.  Discussed at
26601         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
26602         Rewrite documentation.
26603
26604 2009-08-03  Bruno Haible  <bruno@clisp.org>
26605
26606         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
26607
26608 2009-08-02  Bruno Haible  <bruno@clisp.org>
26609
26610         Tests for module 'uname'.
26611         * modules/uname-tests: New file.
26612         * tests/test-uname.c: New file.
26613
26614         New module 'uname'.
26615         * lib/uname.c: New file.
26616         * m4/uname.m4: New file.
26617         * modules/uname: New file.
26618         * doc/posix-functions/uname.texi: Mention the new module.
26619
26620 2009-08-02  Bruno Haible  <bruno@clisp.org>
26621
26622         Tests for module 'sys_utsname'.
26623         * modules/sys_utsname-tests: New file.
26624         * tests/test-sys_utsname.c: New file.
26625
26626         New module 'sys_utsname'.
26627         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
26628         * m4/sys_utsname_h.m4: New file.
26629         * modules/sys_utsname: New file.
26630         * doc/posix-headers/sys_utsname.texi: Mention the new module.
26631
26632 2009-08-02  Bruno Haible  <bruno@clisp.org>
26633
26634         Implicitly initialize the sockets library.
26635         * lib/gethostname.c: Include sockets.h.
26636         (rpl_gethostname): Invoke gl_sockets_startup.
26637         * lib/socket.c: Include sockets.h.
26638         (rpl_socket): Invoke gl_sockets_startup.
26639         * modules/gethostname (Depends-on): Add sockets.
26640         * modules/socket (Depends-on): Likewise.
26641         * tests/test-poll.c: Don't include sockets.h.
26642         (main): Don't invoke gl_sockets_startup.
26643         * tests/test-select.c: Don't include sockets.h.
26644         (main): Don't invoke gl_sockets_startup.
26645
26646 2009-08-02  Bruno Haible  <bruno@clisp.org>
26647
26648         Allow multiple calls to gl_sockets_startup.
26649         * lib/sockets.c (initialized_sockets_version): New variable.
26650         (gl_sockets_startup): Do nothing if already called for this or a higher
26651         version.
26652         (gl_sockets_cleanup): Reset initialized_sockets_version.
26653
26654 2009-08-03  Simon Josefsson  <simon@josefsson.org>
26655
26656         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
26657         different project/version.
26658
26659 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
26660             Bruno Haible  <bruno@clisp.org>
26661
26662         Tests for module 'pipe-filter-gi'.
26663         * modules/pipe-filter-gi-tests: New file.
26664         * tests/test-pipe-filter-gi1.sh: New file.
26665         * tests/test-pipe-filter-gi1.c: New file.
26666         * tests/test-pipe-filter-gi2.sh: New file.
26667         * tests/test-pipe-filter-gi2-main.c: New file.
26668         * tests/test-pipe-filter-gi2-child.c: New file.
26669
26670         New module 'pipe-filter-gi'.
26671         * lib/pipe-filter-gi.c: New file.
26672         * modules/pipe-filter-gi: New file.
26673
26674 2009-08-02  Bruno Haible  <bruno@clisp.org>
26675             Paolo Bonzini  <bonzini@gnu.org>
26676
26677         Tests for module 'pipe-filter-ii'.
26678         * modules/pipe-filter-ii-tests: New file.
26679         * tests/test-pipe-filter-ii1.sh: New file.
26680         * tests/test-pipe-filter-ii1.c: New file.
26681         * tests/test-pipe-filter-ii2.sh: New file.
26682         * tests/test-pipe-filter-ii2-main.c: New file.
26683         * tests/test-pipe-filter-ii2-child.c: New file.
26684
26685         New module 'pipe-filter-ii'.
26686         * lib/pipe-filter.h: New file.
26687         * lib/pipe-filter-ii.c: New file.
26688         * lib/pipe-filter-aux.h: New file.
26689         * modules/pipe-filter-ii: New file.
26690
26691 2009-08-02  Simon Josefsson  <simon@josefsson.org>
26692
26693         * lib/gc-libgcrypt.c: Change copyright to FSF.
26694         * lib/gc-gnulib.c: Likewise.
26695
26696 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
26697
26698         * lib/gethostname.c: Include limits.h.
26699
26700 2009-08-02  Simon Josefsson  <simon@josefsson.org>
26701             Bruno Haible  <bruno@clisp.org>
26702
26703         Ensure HOST_NAME_MAX as part of the gethostname module.
26704         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
26705         define also HOST_NAME_MAX.
26706         * tests/test-gethostname.c: Include <limits.h>.
26707         (main): Check also HOST_NAME_MAX.
26708         * doc/posix-headers/limits.texi: Document the mingw problem.
26709
26710 2009-08-02  Bruno Haible  <bruno@clisp.org>
26711
26712         * lib/gethostname.c (gethostname): Fix handling of large len argument.
26713         Add comments.
26714
26715 2009-03-31  Simon Josefsson  <simon@josefsson.org>
26716
26717         * lib/gethostname.c: Add Windows wrapper.
26718         * m4/gethostname.m4: Look for gethostname in -lws2_32.
26719         * modules/gethostname: Depend on sys_socket & errno, for also
26720         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
26721         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
26722
26723 2009-07-31  Jim Meyering  <meyering@redhat.com>
26724
26725         getloadavg: fix symbol name in comment
26726         * lib/getloadavg.c: Correct a typo I introduced when adding
26727         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
26728         Matt Kraai spotted the problem.
26729
26730 2009-07-29  Matt Kraai  <mkraai@beckman.com>
26731
26732         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
26733         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
26734         code also if ! defined N_NAME_POINTER.
26735         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
26736         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
26737         but the n_name member is a 12-byte array.
26738
26739 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
26740
26741         update-copyright: generalize comment handling
26742         * build-aux/update-copyright: Handle copyright statements
26743         within more comment styles.
26744         Document usage.
26745         Report any file with an external copyright holder or parse failure.
26746
26747 2009-07-29  Jim Meyering  <meyering@redhat.com>
26748
26749         mktime: correct setting of REPLACE_MKTIME
26750         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
26751
26752         update-copyright: new module
26753         * modules/update-copyright: New file.
26754         * build-aux/update-copyright: New file.
26755         * MODULES.html.sh (maint+release support): Add update-copyright.
26756
26757 2009-07-27  Bruno Haible  <bruno@clisp.org>
26758
26759         Fix compilation error when <ctime> is used and mktime is replaced.
26760         * lib/time.in.h (mktime): New declaration.
26761         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
26762         REPLACE_MKTIME instead of defining mktime in config.h.
26763         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
26764         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
26765         Reported by Ross McFarland <rwmcfa1@neces.com>.
26766
26767 2009-07-27  Bruno Haible  <bruno@clisp.org>
26768
26769         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
26770         Reported by Matt Kraai <mkraai@beckman.com>.
26771
26772 2009-07-25  Jim Meyering  <meyering@redhat.com>
26773
26774         maint.mk: avoid warnings about missing files
26775         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
26776         diagnostic when .prev-version does not exist.
26777         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
26778         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
26779         nonexistent cfg.mk.
26780         Suggestions from Simon Josefsson.
26781
26782 2009-07-25  Bruno Haible  <bruno@clisp.org>
26783
26784         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
26785         defined as macros. Needed on QNX 6.4.1.
26786         Reported by Matt Kraai <mkraai@beckman.com>.
26787
26788 2009-07-23  Jim Meyering  <meyering@redhat.com>
26789
26790         maint.mk: invoke "make dist" with a working value of XZ_OPT
26791         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
26792
26793 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
26794
26795         Make fseeko.c compile on QNX.
26796         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
26797
26798 2009-07-22  Peter Simons  <simons@cryp.to>
26799
26800         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
26801         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
26802         * lib/md4.h: Likewise.
26803         * lib/md5.h: Likewise.
26804         * lib/sha1.h: Likewise.
26805         * lib/sha256.h: Likewise.
26806         * lib/sha512.h: Likewise.
26807
26808         tests-sha1: don't assign literal string to 'char *' variable
26809         * tests/test-sha1.c (main): Declare locals with "const" to match
26810         attributes of the right hand side.
26811
26812 2009-07-21  Eric Blake  <ebb9@byu.net>
26813
26814         dup2: fix more mingw problems
26815         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
26816         fd to itself.
26817         * doc/posix-functions/dup2.texi (dup2): Document the bug.
26818         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
26819         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
26820         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
26821         care of mingw bugs.
26822
26823 2009-07-21  Jim Meyering  <meyering@redhat.com>
26824
26825         vc-list-files: avoid failure when /bin/sh is dash
26826         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
26827         On some Debian based systems, /bin/sh is a symlink to dash, and running
26828         this command would omit the "/" following each 'tests' prefix:
26829           dash -x build-aux/vc-list-files -C . tests
26830         That is because bash and dash work differently:
26831           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
26832           bash ok
26833           dash odd
26834
26835 2009-07-21  Eric Blake  <ebb9@byu.net>
26836
26837         dup2-tests: test previous patch
26838         * modules/dup2-tests: New file.
26839         * tests/test-dup2.c: Likewise.
26840         * tests/test-open.c (main): Avoid unspecified behavior.
26841         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
26842         test.
26843
26844         dup2: work around mingw and cygwin 1.5 bug
26845         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
26846         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
26847         * modules/unistd (Makefile.am): Substitute it.
26848         * lib/unistd.in.h (dup2): Declare the replacement.
26849         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
26850         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
26851         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
26852         * modules/execute (Depends-on): Add dup2.
26853         * modules/fseterr (Depends-on): Likewise.
26854         * modules/pipe (Depends-on): Likewise.
26855         * modules/posix_spawn-internal (Depends-on): Likewise.
26856
26857 2009-07-21  Bruno Haible  <bruno@clisp.org>
26858
26859         * modules/.gitattributes: New file.
26860
26861 2009-07-20  Bruno Haible  <bruno@clisp.org>
26862
26863         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
26864         (main): Use it.
26865
26866 2009-07-20  Eric Blake  <ebb9@byu.net>
26867
26868         test-pipe: make a bit more robust.
26869         * tests/test-pipe.c (myerr): Allow error messages regardless of
26870         what we do to stderr.
26871         (test_pipe): Rearrange to avoid deadlock.
26872         (child_main): Try a larger read, to ensure we avoided deadlock.
26873         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
26874         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
26875         if misused.
26876
26877 2009-07-19  Jim Meyering  <meyering@redhat.com>
26878
26879         fts: avoid false-positive cycle-detection
26880         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
26881         for each new command line argument.
26882
26883 2009-07-19  Bruno Haible  <bruno@clisp.org>
26884
26885         Fix build error on mingw with the modules sys_select and unistd.
26886         * modules/acl-tests (Depends-on): Add close.
26887         * modules/binary-io-tests (Depends-on): Likewise.
26888         * modules/closein-tests (Depends-on): Likewise.
26889         * modules/flock-tests (Depends-on): Likewise.
26890         * modules/fsync-tests (Depends-on): Likewise.
26891         * modules/lseek-tests (Depends-on): Likewise.
26892         * modules/pipe-tests (Depends-on): Likewise.
26893         * modules/posix_spawn-tests (Depends-on): Likewise.
26894         * modules/posix_spawnp-tests (Depends-on): Likewise.
26895         * modules/stat-time-tests (Depends-on): Likewise.
26896         * modules/yesno-tests (Depends-on): Likewise.
26897
26898 2009-07-19  Bruno Haible  <bruno@clisp.org>
26899
26900         Unify conditionals.
26901         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
26902         macros, not at the compiler macros.
26903         * lib/pipe.c: Likewise.
26904         * lib/execute.c: Likewise.
26905         * lib/spawni.c: Likewise.
26906
26907 2009-07-19  Bruno Haible  <bruno@clisp.org>
26908
26909         Fix handling of closed stdin/stdout/stderr on mingw.
26910         * lib/w32spawn.h: Include unistd.h.
26911         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
26912         file descriptor with O_NOINHERIT flag.
26913         (fd_safer_noinherit): New function, based on fd-safer.c.
26914         (dup_safer_noinherit): New function, based on dup-safer.c.
26915         (undup_safer_noinherit): New function.
26916         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
26917         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
26918         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
26919         instead of fd_safer.
26920         * tests/test-pipe.c: Include <windows.h>.
26921         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close() result.
26922
26923         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
26924         from main.
26925         (test_pipe): Pass an extra argument for disambiguation.
26926         (main): Invoke parent_main or child_main.
26927
26928         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
26929         consistently.
26930
26931 2009-07-18  Eric Blake  <ebb9@byu.net>
26932
26933         test-pipe: fix mingw build
26934         * tests/test-pipe.c (main): Avoid fcntl on mingw.
26935
26936 2009-07-18  Bruno Haible  <bruno@clisp.org>
26937
26938         * modules/pipe-tests (Makefile.am): Fix typo.
26939
26940 2009-07-18  Eric Blake  <ebb9@byu.net>
26941
26942         error: fix mingw build
26943         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
26944         Reported by Bruno Haible.
26945
26946         error: avoid undefined use of stdout
26947         * lib/error.c (error, error_at_line): Check that fd 1 is open
26948         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
26949         is handling faults and the close_stdout module wants to report the
26950         detection of closed stdout as an error.
26951
26952 2009-07-17  Eric Blake  <ebb9@byu.net>
26953
26954         pipe: be robust in face of closed fds
26955         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
26956         should cause child to misbehave.
26957         * modules/pipe-tests: New module.
26958         * tests/test-pipe.c: New file.
26959         * tests/test-pipe.sh: New file.
26960         Reported by Akim Demaille.
26961
26962 2009-07-14  Bruno Haible  <bruno@clisp.org>
26963
26964         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
26965         Reported by anonymous kc.
26966
26967 2009-07-07  Jim Meyering  <meyering@redhat.com>
26968
26969         maint.mk: don't look for translatable strings in *.m4 or *.mk
26970         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
26971         when searching for translatable strings.
26972
26973 2009-07-05  Jim Meyering  <meyering@redhat.com>
26974
26975         remove superfluous parentheses in STREQ definition
26976         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
26977         * lib/getugroups.c (STREQ): Likewise.
26978         * lib/fnmatch.c (STREQ): Likewise.
26979         Spotted by Bruno Haible.
26980
26981 2009-07-04  Jim Meyering  <meyering@redhat.com>
26982
26983         argv-iter: new module
26984         * MODULES.html.sh: Add argv-iter.
26985         * lib/argv-iter.c, lib/argv-iter.h: New files.
26986         * modules/argv-iter: New file.
26987         * modules/argv-iter-tests: New file.
26988         * tests/test-argv-iter.c: Test it.
26989
26990 2009-07-04  Bruno Haible  <bruno@clisp.org>
26991
26992         Fix assertion.
26993         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
26994         contains more exact copies of a given entry than file2, leave the extra
26995         copies unpaired rather than aborting.
26996         Reported by Eric Blake.
26997
26998 2009-07-02  Bruno Haible  <bruno@clisp.org>
26999
27000         Speedup git-merge-changelog for git cherry-pick.
27001         * lib/git-merge-changelog.c (struct entries_mapping): New type.
27002         (entries_mapping_get): New function, extracted from compute_mapping.
27003         (entries_mapping_reverse_get): New function.
27004         (compute_mapping): Add a 'full' argument. Return the result in a
27005         'struct entries_mapping'.
27006         (main): Update. Access the mappings through entries_mapping_get.
27007         Reported by Eric Blake.
27008
27009 2009-07-02  Bruno Haible  <bruno@clisp.org>
27010
27011         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
27012         best_i.
27013
27014 2009-07-02  Bruno Haible  <bruno@clisp.org>
27015
27016         Speed up approximate search for matching ChangeLog entries.
27017         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
27018         argument. Call fstrcmp_bounded instead of fstrcmp.
27019         (compute_mapping, try_split_merged_entry, main): Update callers.
27020
27021 2009-07-02  Bruno Haible  <bruno@clisp.org>
27022
27023         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
27024
27025 2009-06-30  Bruno Haible  <bruno@clisp.org>
27026
27027         Reduce the number of uc_is_cased calls.
27028         * lib/unicase.h (casing_suffix_context_t): Add
27029         'first_char_except_ignorable' field.
27030         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
27031         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
27032         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
27033         Update initializer.
27034         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
27035         case-ignorable characters.
27036         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
27037         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
27038         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
27039         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
27040         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
27041
27042 2009-06-30  Bruno Haible  <bruno@clisp.org>
27043
27044         Tests for module 'unicase/ignorable'.
27045         * modules/unicase/ignorable-tests: New file.
27046         * tests/unicase/test-ignorable.c: New file, generated by
27047         gen-uni-tables.
27048
27049         Tests for module 'unicase/cased'.
27050         * modules/unicase/cased-tests: New file.
27051         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
27052         * tests/unicase/test-predicate-part1.h: New file, derived from
27053         tests/unictype/test-predicate-part1.h.
27054         * tests/unicase/test-predicate-part2.h: New file, same as
27055         tests/unictype/test-predicate-part2.h.
27056
27057         Fix evaluation of "Before C" condition of FINAL_SIGMA.
27058         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
27059         (output_casing_properties): New function.
27060         (main): Call it.
27061         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
27062         * lib/unicase/cased.c: Include unictype/bitmap.h.
27063         (uc_is_cased): Define through a bitmap lookup.
27064         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
27065         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
27066         (uc_is_case_ignorable): Define through a bitmap lookup.
27067         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
27068         lib/unictype/bitmap.h.
27069         (Depends-on): Add inline. Clean up.
27070         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
27071         lib/unictype/bitmap.h.
27072         (Depends-on): Add inline. Clean up.
27073         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
27074         recognition.
27075         * tests/unicase/test-u16-tolower.c (main): Likewise.
27076         * tests/unicase/test-u32-tolower.c (main): Likewise.
27077
27078 2009-06-30  Bruno Haible  <bruno@clisp.org>
27079
27080         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
27081         * lib/unicase/u16-casemap.c: Likewise.
27082         * lib/unicase/u32-casemap.c: Likewise.
27083
27084 2009-06-29  Bruno Haible  <bruno@clisp.org>
27085
27086         Define u32_casefold as a wrapper around u32_ct_casefold.
27087         * lib/unicase/u32-casefold.c: Update.
27088         * modules/unicase/u32-casefold (Depends-on): Add
27089         unicase/u32-ct-casefold, unicase/empty-prefix-context,
27090         unicase/empty-suffix-context. Clean up.
27091
27092         Define u16_casefold as a wrapper around u16_ct_casefold.
27093         * lib/unicase/u16-casefold.c: Update.
27094         * modules/unicase/u16-casefold (Depends-on): Add
27095         unicase/u16-ct-casefold, unicase/empty-prefix-context,
27096         unicase/empty-suffix-context. Clean up.
27097
27098         Define u8_casefold as a wrapper around u8_ct_casefold.
27099         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
27100         * lib/unicase/u8-casefold.c: Update.
27101         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
27102         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
27103
27104         Define u32_totitle as a wrapper around u32_ct_totitle.
27105         * lib/unicase/u32-totitle.c: Update.
27106         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
27107         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
27108
27109         Define u16_totitle as a wrapper around u16_ct_totitle.
27110         * lib/unicase/u16-totitle.c: Update.
27111         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
27112         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
27113
27114         Define u8_totitle as a wrapper around u8_ct_totitle.
27115         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
27116         functions.
27117         (FUNC): Delegate to U_CT_TOTITLE.
27118         * lib/unicase/u8-totitle.c: Update.
27119         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
27120         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
27121
27122         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
27123         invocation.
27124         * modules/unicase/u32-tolower (Depends-on): Add
27125         unicase/empty-prefix-context, unicase/empty-suffix-context.
27126
27127         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
27128         invocation.
27129         * modules/unicase/u16-tolower (Depends-on): Add
27130         unicase/empty-prefix-context, unicase/empty-suffix-context.
27131
27132         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
27133         * modules/unicase/u8-tolower (Depends-on): Add
27134         unicase/empty-prefix-context, unicase/empty-suffix-context.
27135
27136         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
27137         invocation.
27138         * modules/unicase/u32-toupper (Depends-on): Add
27139         unicase/empty-prefix-context, unicase/empty-suffix-context.
27140
27141         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
27142         invocation.
27143         * modules/unicase/u16-toupper (Depends-on): Add
27144         unicase/empty-prefix-context, unicase/empty-suffix-context.
27145
27146         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
27147         * modules/unicase/u8-toupper (Depends-on): Add
27148         unicase/empty-prefix-context, unicase/empty-suffix-context.
27149
27150         New module 'unicase/u32-ct-casefold'.
27151         * lib/unicase/u32-ct-casefold.c: New file.
27152         * modules/unicase/u32-ct-casefold: New file.
27153
27154         New module 'unicase/u16-ct-casefold'.
27155         * lib/unicase/u16-ct-casefold.c: New file.
27156         * modules/unicase/u16-ct-casefold: New file.
27157
27158         New module 'unicase/u8-ct-casefold'.
27159         * lib/unicase/u8-ct-casefold.c: New file.
27160         * lib/unicase/u-ct-casefold.h: New file, derived from
27161         lib/unicase/u-casefold.h.
27162         * modules/unicase/u8-ct-casefold: New file.
27163
27164         New module 'unicase/u32-ct-totitle'.
27165         * lib/unicase/u32-ct-totitle.c: New file.
27166         * modules/unicase/u32-ct-totitle: New file.
27167
27168         New module 'unicase/u16-ct-totitle'.
27169         * lib/unicase/u16-ct-totitle.c: New file.
27170         * modules/unicase/u16-ct-totitle: New file.
27171
27172         New module 'unicase/u8-ct-totitle'.
27173         * lib/unicase/u8-ct-totitle.c: New file.
27174         * lib/unicase/u-ct-totitle.h: New file, derived from
27175         lib/unicase/u-totitle.h.
27176         * modules/unicase/u8-ct-totitle: New file.
27177
27178         New module 'unicase/u32-ct-tolower'.
27179         * lib/unicase/u32-ct-tolower.c: New file.
27180         * modules/unicase/u32-ct-tolower: New file.
27181
27182         New module 'unicase/u16-ct-tolower'.
27183         * lib/unicase/u16-ct-tolower.c: New file.
27184         * modules/unicase/u16-ct-tolower: New file.
27185
27186         New module 'unicase/u8-ct-tolower'.
27187         * lib/unicase/u8-ct-tolower.c: New file.
27188         * modules/unicase/u8-ct-tolower: New file.
27189
27190         New module 'unicase/u32-ct-toupper'.
27191         * lib/unicase/u32-ct-toupper.c: New file.
27192         * modules/unicase/u32-ct-toupper: New file.
27193
27194         New module 'unicase/u16-ct-toupper'.
27195         * lib/unicase/u16-ct-toupper.c: New file.
27196         * modules/unicase/u16-ct-toupper: New file.
27197
27198         New module 'unicase/u8-ct-toupper'.
27199         * lib/unicase/u8-ct-toupper.c: New file.
27200         * modules/unicase/u8-ct-toupper: New file.
27201
27202         Add context arguments to u*_casemap functions.
27203         * lib/unicase/unicasemap.h: Include unicase.h.
27204         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
27205         suffix_context arguments.
27206         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
27207         functions.
27208         (FUNC): Add prefix_context and suffix_context arguments. Use
27209         uc_is_cased and uc_is_case_ignorable.
27210         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
27211         * lib/unicase/u16-casemap.c: Likewise.
27212         * lib/unicase/u32-casemap.c: Likewise.
27213         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
27214         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
27215         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
27216         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
27217         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
27218         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
27219
27220         New module 'unicase/u32-suffix-context'.
27221         * lib/unicase/u32-suffix-context.c: New file.
27222         * modules/unicase/u32-suffix-context: New file.
27223
27224         New module 'unicase/u16-suffix-context'.
27225         * lib/unicase/u16-suffix-context.c: New file.
27226         * modules/unicase/u16-suffix-context: New file.
27227
27228         New module 'unicase/u8-suffix-context'.
27229         * lib/unicase/u8-suffix-context.c: New file.
27230         * lib/unicase/u-suffix-context.h: New file.
27231         * modules/unicase/u8-suffix-context: New file.
27232
27233         New module 'unicase/empty-suffix-context'.
27234         * lib/unicase/empty-suffix-context.c: New file.
27235         * modules/unicase/empty-suffix-context: New file.
27236
27237         New module 'unicase/u32-prefix-context'.
27238         * lib/unicase/u32-prefix-context.c: New file.
27239         * modules/unicase/u32-prefix-context: New file.
27240
27241         New module 'unicase/u16-prefix-context'.
27242         * lib/unicase/u16-prefix-context.c: New file.
27243         * modules/unicase/u16-prefix-context: New file.
27244
27245         New module 'unicase/u8-prefix-context'.
27246         * lib/unicase/u8-prefix-context.c: New file.
27247         * lib/unicase/u-prefix-context.h: New file.
27248         * lib/unicase/context.h: New file.
27249         * modules/unicase/u8-prefix-context: New file.
27250
27251         New module 'unicase/empty-prefix-context'.
27252         * lib/unicase/empty-prefix-context.c: New file.
27253         * modules/unicase/empty-prefix-context: New file.
27254
27255         New module 'unicase/ignorable'.
27256         * lib/unicase/ignorable.c: New file.
27257         * modules/unicase/ignorable: New file.
27258
27259         New module 'unicase/cased'.
27260         * lib/unicase/caseprop.h: New file.
27261         * lib/unicase/cased.c: New file.
27262         * modules/unicase/cased: New file.
27263
27264         New functions for case mapping of substrings.
27265         * lib/unicase.h (casing_prefix_context_t): New type.
27266         (unicase_empty_prefix_context): New variable.
27267         (u8_casing_prefix_context, u16_casing_prefix_context,
27268         u32_casing_prefix_context, u8_casing_prefixes_context,
27269         u16_casing_prefixes_context, u32_casing_prefixes_context): New
27270         declarations.
27271         (casing_suffix_context_t): New type.
27272         (unicase_empty_suffix_context): New variable.
27273         (u8_casing_suffix_context, u16_casing_suffix_context,
27274         u32_casing_suffix_context, u8_casing_suffixes_context,
27275         u16_casing_suffixes_context, u32_casing_suffixes_context,
27276         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
27277         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
27278         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
27279         declarations.
27280
27281 2009-06-28  Jim Meyering  <meyering@redhat.com>
27282
27283         boostrap: indent only with spaces
27284         * build-aux/bootstrap: Indent only with spaces, never TABs.
27285
27286         bootstrap: split long lines
27287         * build-aux/bootstrap: Keep line length < 80.
27288
27289         bootstrap: sync from coreutils
27290         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
27291         just as autoreconf does.  Verify a list of prerequisite
27292         package-name,version-number pairs if defined in bootstrap.conf.
27293         Refer to README-prereq, if prerequisites are not satisfied.
27294
27295 2009-06-27  Eric Blake  <ebb9@byu.net>
27296
27297         tests: add test for bogus NULL definition
27298         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
27299         * tests/test-stdlib.c: Likewise.
27300         * tests/test-string.c: Likewise.
27301         * tests/test-locale.c: Likewise.
27302         * tests/test-unistd.c: Likewise.
27303         * modules/stdio-tests (Depends-on): Add verify.
27304         * modules/stdlib-tests (Depends-on): Likewise.
27305         * modules/string-tests (Depends-on): Likewise.
27306         * modules/locale-tests (Depends-on): Likewise.
27307         * modules/unistd-tests (Depends-on): Likewise.
27308
27309 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
27310
27311         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
27312         self-explaining comment.
27313         * m4/selinux-selinux-h: Update serial.
27314         (gl_LIBSELINUX): New macro, adding a warning for missing development
27315         packages to code extracted from...
27316         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
27317         Add warning for missing development packages here, too.
27318
27319 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
27320
27321         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
27322
27323 2009-06-25  Eric Blake  <ebb9@byu.net>
27324
27325         version-etc: fix regression
27326         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
27327         gcc.
27328         (version_etc): Use it, to catch bugs with trailing NULL.
27329         * lib/version-etc.c (version_etc_arn): Delete unused argument.
27330         (version_etc_va): Fix logic bug.
27331         * modules/version-etc-tests: Add test.
27332         * tests/test-version-etc.c: New file.
27333         * tests/test-version-etc.sh: Likewise.
27334
27335 2009-06-25  Sam Steingold  <sds@gnu.org>
27336
27337         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
27338         mbtowc declaration.
27339
27340 2009-06-25  Eric Blake  <ebb9@byu.net>
27341
27342         fpurge: migrate into <stdio.h>
27343         * lib/fpurge.h: Delete...
27344         * lib/stdio.in.h (fpurge): ...and declare here, instead.
27345         * lib/fpurge.c (fpurge): Change declaring header.
27346         * modules/fpurge (Files): Drop deleted file.
27347         (Depends-on): Add stdio.
27348         (configure.ac): Set witness.
27349         * modules/stdio (Makefile.am): Support fpurge macros.
27350         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
27351         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
27352         * lib/fflush.c: Update client.
27353         * tests/test-fpurge.c: Likewise.
27354         * NEWS: Mention the change.
27355
27356 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
27357
27358         * lib/argp-version-etc.c (program_authors): Add const
27359         qualifier.
27360         * lib/version-etc.c: Fix typos in the comments.
27361         * modules/argp-version-etc: Depends on version-etc.
27362
27363 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
27364
27365         argp-version-etc: new module.
27366
27367         * lib/argp-version-etc.c: New file.
27368         * lib/argp-version-etc.h: New file.
27369         * modules/argp-version-etc: New file.
27370         * modules/argp-version-etc-tests: New file.
27371         * tests/test-argp-version-etc.c: New test.
27372         * tests/test-argp-version-etc-1.sh: New test.
27373
27374 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
27375
27376         Provide additional interfaces and documentation for version-etc
27377         module.
27378
27379         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
27380         interfaces.
27381         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
27382         prototypes.
27383
27384 2009-06-24  Bruno Haible  <bruno@clisp.org>
27385
27386         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
27387         HAVE_LIB${NAME} macro.
27388         Reported by Sam Steingold <sds@gnu.org>.
27389
27390 2009-06-23  Simon Josefsson  <simon@josefsson.org>
27391
27392         * modules/hash-tests (test_hash_LDADD): Link to libintl when
27393         needed.
27394
27395 2009-06-21  Bruno Haible  <bruno@clisp.org>
27396
27397         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
27398         work.
27399         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
27400         together with LIB${NAME}, LTLIB${NAME}.
27401         Reported by Sam Steingold <sds@gnu.org>.
27402
27403 2009-06-20  Jim Meyering  <meyering@redhat.com>
27404
27405         tests: make sc_require_test_exit_idiom more generic
27406         * top/maint.mk (Exit_witness_file): New overridable variable.
27407         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
27408         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
27409
27410 2009-06-19  Jim Meyering  <meyering@redhat.com>
27411
27412         hash: reverse order of src/dst parameters in an internal interface
27413         * lib/hash.c (transfer_entries): Reverse order of parameters to
27414         put DST before SRC.  Adjust callers.
27415
27416         tests: test-hash: avoid wholesale duplication
27417         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
27418         Instead, use a loop and add a single conditional.
27419
27420         tests: test-hash: allow seed selection via a command line argument
27421         * tests/test-hash.c (get_seed): New function.
27422         (main): Use it.
27423
27424 2009-06-19  Eric Blake  <ebb9@byu.net>
27425
27426         hash: avoid memory leak on allocation failure
27427         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
27428         failure.  Factor repeated algorithm...
27429         (transfer_entries): ...into new helper routine.
27430         (hash_delete): React to hash_rehash return value.
27431
27432         hash: reduce memory pressure in hash_rehash no-op case
27433         * lib/hash.c (next_prime): Avoid overflow.
27434         (hash_initialize): Factor bucket size computation...
27435         (compute_bucket_size): ...into new helper function.
27436         (hash_rehash): Use new function and open coding to reduce memory
27437         pressure, and avoid a memory leak in USE_OBSTACK code.
27438         Reported by Jim Meyering.
27439
27440 2009-06-18  Eric Blake  <ebb9@byu.net>
27441
27442         hash: make rotation more obvious
27443         * modules/hash (Depends-on): Add bitrotate and stdint.
27444         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
27445         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
27446         (SIZE_MAX): Rely on headers for definition.
27447         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
27448         (raw_hasher): Use rotr_sz.
27449         Suggested by Jim Meyering.
27450
27451         hash: fix memory leak in last patch
27452         * lib/hash.c (hash_rehash): Avoid memory leak.
27453
27454         hash: avoid no-op rehashing
27455         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
27456
27457         hash: provide default callback functions
27458         * lib/hash.c (raw_hasher, raw_comparator): New functions.
27459         (hash_initialize): Use them as defaults.
27460         * tests/test-hash.c (main): Test this.
27461
27462         hash: minor optimization
27463         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
27464         when possible.
27465         (hash_initialize): Document this promise.
27466         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
27467         * tests/test-hash.c (hash_compare_strings): Test this.
27468
27469 2009-06-18  Bruno Haible  <bruno@clisp.org>
27470
27471         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
27472         going to be replaced anyway.
27473
27474 2009-06-18  Bruno Haible  <bruno@clisp.org>
27475
27476         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
27477         in one place.
27478         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
27479         be replaced anyway.
27480
27481 2009-06-18  Eric Blake  <ebb9@byu.net>
27482
27483         hash: check for resize before insertion
27484         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
27485         threshold before insertion, so that a pathological hash_rehash
27486         that fills every bucket can still trigger another rehash.
27487
27488 2009-06-18  Jim Meyering  <meyering@redhat.com>
27489
27490         hash-tests: add a loop around the small tests
27491         * tests/test-hash.c (main): Repeat small tests with selected
27492         small initial table sizes.
27493
27494 2009-06-17  Eric Blake  <ebb9@byu.net>
27495
27496         hash: minor cleanups
27497         * lib/hash.h (hash_entry): Make opaque, by moving...
27498         * lib/hash.c (hash_entry): ...here.
27499         (hash_insert): Clarify restrictions on what can be inserted.
27500         (hash_get_next): Clarify when it is safe to remove an element
27501         during traversal.
27502         (check_tuning): Skip verification when tuning is known safe.
27503         (hash_initialize): Clarify restrictions on tuning.
27504
27505 2009-06-17  Jim Meyering  <jim@meyering.net>
27506         and Eric Blake  <ebb9@byu.net>
27507
27508         hash-tests: new module
27509         * modules/hash-tests: New file.
27510         * tests/test-hash.c: New file.
27511
27512 2009-06-17  Eric Blake  <ebb9@byu.net>
27513
27514         strstr-simple: document new module
27515         * MODULES.html.sh: Document new module.
27516
27517         strstr, strcasestr: replace on platforms with broken memchr
27518         * modules/strstr: Split into...
27519         * modules/strstr-simple: ...new module that does not care about
27520         performance, but does care about glibc bug.
27521         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
27522         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
27523         if platform memchr is broken, per Debian bug 521737.
27524         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
27525         memchr.
27526         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
27527         * doc/posix-functions/strstr.texi (strstr): Document the fix.
27528         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
27529         * modules/mountlist (Depends-on): Add strstr-simple.
27530         * modules/gen-uni-tables (Depends-on): Likewise.
27531         * modules/argz (Depends-on): Add strstr.
27532
27533 2009-06-17  Bruno Haible  <bruno@clisp.org>
27534
27535         * modules/posix_spawn-internal (Depends-on): Add errno.
27536
27537 2009-06-17  Bruno Haible  <bruno@clisp.org>
27538
27539         Define missing ESTALE on Interix 3.5.
27540         * lib/errno.in.h (ESTALE): Assign a value if missing.
27541         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
27542         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
27543         missing.
27544         * doc/posix-headers/errno.texi: Mention the Interix bug.
27545         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
27546
27547 2009-06-15  Eric Blake  <ebb9@byu.net>
27548
27549         memchr, memchr2: add valgrind exception
27550         * lib/memchr.valgrind: New file.
27551         * lib/memchr2.valgrind: New file.
27552         * modules/memchr (Files): Distribute valgrind file.
27553         * modules/memchr2 (Files): Likewise.
27554
27555         docs: memchr is no longer obsolete
27556         * MODULES.html.sh: Move memchr from obsolete to string.h section.
27557         * lib/string.in.h (memchr): Simplify logic.
27558
27559 2009-06-14  Jim Meyering  <meyering@redhat.com>
27560
27561         link-follow: fix the "checking..." message to not mention trailing slash
27562         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
27563         never considered trailing slashes.
27564
27565 2009-06-14  Bruno Haible  <bruno@clisp.org>
27566
27567         * m4/memchr.m4: Mention also the bug on IA-64.
27568         * doc/posix-functions/memchr.texi: Likewise.
27569
27570 2009-06-12  Eric Blake  <ebb9@byu.net>
27571
27572         memchr: detect broken x86_64 and alpha implementations
27573         * modules/memchr-tests (Depends-on): Move mmap detection...
27574         * modules/memchr (Depends-on): ...here.
27575         (configure.ac): Set indicator.
27576         * lib/string.in.h (memchr): Declare replacement.
27577         * modules/string (Makefile.am): Trigger replacement.
27578         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
27579         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
27580         bugs.
27581         * doc/posix-functions/memchr.texi (memchr): Document the bug.
27582         * modules/getpagesize (License): Relax license.
27583
27584 2009-06-11  Bruno Haible  <bruno@clisp.org>
27585
27586         * lib/idpriv.h: Add more references.
27587
27588 2009-06-08  Bruno Haible  <bruno@clisp.org>
27589
27590         Tests for module 'idpriv-droptemp'.
27591         * modules/idpriv-droptemp-tests: New file.
27592         * tests/test-idpriv-droptemp.sh: New file.
27593         * tests/test-idpriv-droptemp.su.sh: New file.
27594         * tests/test-idpriv-droptemp.c: New file.
27595
27596         New module 'idpriv-droptemp'.
27597         * lib/idpriv-droptemp.c: New file.
27598         * modules/idpriv-droptemp: New file.
27599
27600 2009-06-08  Bruno Haible  <bruno@clisp.org>
27601
27602         Tests for module 'idpriv-drop'.
27603         * modules/idpriv-drop-tests: New file.
27604         * tests/test-idpriv-drop.sh: New file.
27605         * tests/test-idpriv-drop.su.sh: New file.
27606         * tests/test-idpriv-drop.c: New file.
27607
27608         New module 'idpriv-drop'.
27609         * lib/idpriv.h: New file.
27610         * lib-idpriv-drop.c: New file.
27611         * m4/idpriv.m4: New file.
27612         * modules/idpriv-drop: New file.
27613
27614 2009-06-08  Bruno Haible  <bruno@clisp.org>
27615
27616         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
27617         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
27618         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
27619         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
27620         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
27621         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
27622         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
27623
27624 2009-06-08  Eric Blake  <ebb9@byu.net>
27625
27626         test-strstr: use memory fence, when possible
27627         * tests/test-strstr.c (main): Use memory fence, in order to be
27628         more likely to trigger Debian bug 521737.
27629         * modules/strstr-tests (Files): Pull in additional files.
27630
27631         memchr: no longer obsolete, for wider field testing
27632         * modules/memchr (Status, Notice): Delete, this module is no
27633         longer obsolete.
27634         * modules/vasnprintf (Depends-on): Add memchr.
27635
27636 2009-06-07  Jim Meyering  <meyering@redhat.com>
27637
27638         hash: declare some functions with the warn_unused_result attribute
27639         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
27640
27641 2009-06-07  Bruno Haible  <bruno@clisp.org>
27642
27643         * tests/test-alignof.c: Don't test int64_t if it does not exist.
27644         Reported by Eric Blake.
27645
27646 2009-06-06  Eric Blake  <ebb9@byu.net>
27647
27648         test-alignof: fix typo with long double
27649         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
27650         compiler error.
27651
27652 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
27653
27654         Escape non-texinfo { and }s.
27655         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
27656         markup error.
27657
27658 2009-06-04  Jim Meyering  <meyering@redhat.com>
27659
27660         gitlog-to-changelog: don't infloop on an empty commit log
27661         * build-aux/gitlog-to-changelog: Warn about an empty log message.
27662         Reported by Boris Petersen <transacid@centerim.org>.
27663
27664 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
27665
27666         version-etc: extend for packagers
27667         Add three new configure options, intended for packagers:
27668           --with-packager="packager name"
27669           --with-packager-version="packager-specific version"
27670           --with-packager-bug-reports="packager bug reporting"
27671         An example with coreutils:
27672           $ ./configure \
27673             --with-packager=Gentoo \
27674             --with-packager-bug-report=http://bugs.gentoo.org/ \
27675             --with-packager-version="patchset 1.6"
27676           $ ./src/ls --version | head -n2
27677           ls (GNU coreutils) 7.1-dirty
27678           Packaged by Gentoo (patchset 1.6)
27679         Note that the bug reporting info via --help doesn't show up because
27680         coreutils uses its own custom emit_bug_reporting_address() implementation
27681         in src/system.h.  If it didn't, it'd look like:
27682           $ ./src/ls --help | tail -n4
27683           Report bugs to <bug-coreutils@gnu.org>.
27684           Report Gentoo bugs to <http://bugs.gentoo.org/>.
27685           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
27686           General help using GNU software: <http://www.gnu.org/gethelp/>.
27687         * lib/version-etc.c: Print new information, if provided.
27688         * m4/version-etc.m4: New file.
27689         * modules/version-etc (Files): Add m4/version-etc.m4.
27690         (configure.ac): Add gl_VERSION_ETC.
27691
27692 2009-05-31  Bruno Haible  <bruno@clisp.org>
27693
27694         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
27695         and 'int64_t'.
27696         * modules/alignof-tests (Dependencies): Add stdint.
27697         Reported by Eric Blake.
27698
27699 2009-05-31  Bruno Haible  <bruno@clisp.org>
27700
27701         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
27702         restriction due to compiler bugs.
27703         Reported by Eric Blake.
27704
27705 2009-05-31  Simon Josefsson  <simon@josefsson.org>
27706             Bruno Haible  <bruno@clisp.org>
27707
27708         Fix test-alignof failure.
27709         * lib/alignof.h (alignof_slot): New macro.
27710         (alignof_type): New macro, with the same semantics as the previous
27711         'alignof'.
27712         (alignof): Alias to alignof_slot.
27713         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
27714         check that the results are usable as constant expressions.
27715
27716 2009-05-31  Bruno Haible  <bruno@clisp.org>
27717
27718         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
27719         * tests/test-memchr.c (main): Check that memchr does not read past the
27720         first occurrence of the byte.
27721         * tests/test-strstr.c (main): Update comment.
27722         Suggested by Eric Blake.
27723
27724 2009-05-30  Bruno Haible  <bruno@clisp.org>
27725
27726         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
27727         detail how to use dumpbin.
27728         Reported by David Byron <dbyron@dbyron.com>.
27729
27730 2009-06-02  Simon Josefsson  <simon@josefsson.org>
27731
27732         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
27733
27734 2009-06-02  Simon Josefsson  <simon@josefsson.org>
27735
27736         * m4/manywarnings.m4: Add GCC 4.4 warnings.
27737
27738 2009-05-28  Bruno Haible  <bruno@clisp.org>
27739
27740         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
27741         build-aux/ files.
27742
27743 2009-05-28  Simon Josefsson  <simon@josefsson.org>
27744
27745         * gnulib-tool (func_import): Transform license on build-aux/ files too.
27746
27747 2009-05-27  Simon Josefsson  <simon@josefsson.org>
27748
27749         * gnulib-tool (sed_transform_main_lib_file)
27750         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
27751         regexps.
27752
27753 2009-05-26  Simon Josefsson  <simon@josefsson.org>
27754
27755         * tests/test-strstr.c: Add another self-test.
27756         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
27757         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
27758
27759 2009-05-23  Bruno Haible  <bruno@clisp.org>
27760
27761         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
27762         change.
27763
27764 2009-05-21  Bruno Haible  <bruno@clisp.org>
27765
27766         Simplify use of mode_t varargs.
27767         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
27768         uses 'mode_t' or 'int'.
27769         * lib/openat.c (openat): Likewise.
27770         * lib/open-safer.c (open_safer): Likewise.
27771         * m4/mode_t.m4: New file.
27772         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
27773         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
27774         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
27775         * modules/open (Files): Add m4/mode_t.m4.
27776         * modules/openat (Files): Likewise.
27777         * modules/fcntl-safer (Files): Likewise.
27778         Suggested by Eric Blake.
27779
27780 2009-05-21  Pádraig Brady  <P@draigbrady.com>
27781
27782         * doc/glibc-functions/fallocate.texi: New file.
27783         * doc/gnulib.texi: Include it.
27784
27785 2009-05-21  Eric Blake  <ebb9@byu.net>
27786             Bruno Haible  <bruno@clisp.org>
27787
27788         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
27789         invocations.
27790         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
27791
27792 2009-05-21  Eric Blake  <ebb9@byu.net>
27793             Bruno Haible  <bruno@clisp.org>
27794
27795         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
27796         include_next. Fix of 2008-11-20 commit.
27797         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
27798         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
27799         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
27800         NEXT_MATH_H.
27801         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
27802         instead of NEXT_MATH_H.
27803
27804 2009-05-21  Bruno Haible  <bruno@clisp.org>
27805
27806         Avoid redefinition warnings for SIZE_MAX.
27807         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
27808         Reported by Simon Josefsson.
27809
27810 2009-05-21  Bruno Haible  <bruno@clisp.org>
27811
27812         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
27813         AC_CACHE_VAL.
27814
27815 2009-05-20  Bruno Haible  <bruno@clisp.org>
27816
27817         Make zeroptr.h work on mingw.
27818         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
27819         mprotect.
27820         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
27821         * modules/memchr2-tests (configure.ac): Likewise.
27822         * modules/memcmp-tests (configure.ac): Likewise.
27823         * modules/memmem-tests (configure.ac): Likewise.
27824         * modules/memrchr-tests (configure.ac): Likewise.
27825         Reported by Simon Josefsson.
27826
27827 2009-05-20  Simon Josefsson  <simon@josefsson.org>
27828
27829         * tests/test-glob.c: Include string.h for strcmp prototype.
27830
27831 2009-05-20  Simon Josefsson  <simon@josefsson.org>
27832
27833         * modules/getdelim (Depends-on): Add explicit stdint, although it
27834         was implicitly already pulled in via realloc-posix.
27835         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
27836
27837 2009-05-20  Simon Josefsson  <simon@josefsson.org>
27838
27839         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
27840         G. Christensen" <tgc@jupiterrise.com>.
27841         * m4/sys_socket_h.m4: Check for sa_family_t.
27842         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
27843         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
27844         * tests/test-sys_socket.c: Check that sa_family_t works.
27845
27846 2009-05-18  Eric Blake  <ebb9@byu.net>
27847
27848         maint.mk: allow gnulib_dir in VPATH build
27849         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
27850
27851 2009-05-15  Jim Meyering  <meyering@redhat.com>
27852
27853         maint.mk: Give gnulib_dir a default definition.
27854         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
27855         Thus, most packages no longer need to specify this variable in cfg.mk
27856
27857 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
27858
27859         rename.m4: fix typos that would make non-mingw cross-configure fail
27860         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
27861
27862 2009-05-13  Eric Blake  <ebb9@byu.net>
27863
27864         mmap-anon: avoid out-of-order autoconf expansion
27865         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
27866         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
27867         * modules/memchr-tests (Depends-on): Add extensions.
27868         * modules/memchr2-tests (Depends-on): Add extensions.
27869         * modules/memcmp-tests (Depends-on): Add extensions.
27870         * modules/memmem-tests (Depends-on): Add extensions.
27871         * modules/memrchr-tests (Depends-on): Add extensions.
27872
27873 2009-05-13  Bruno Haible  <bruno@clisp.org>
27874
27875         Make some tests ISO C 99 compliant.
27876         * tests/zerosize-ptr.h: New file.
27877         * tests/test-memchr.c: Include zerosize-ptr.h.
27878         (main): Use a zero-size object pointer instead of NULL.
27879         * tests/test-memchr2.c: Include zerosize-ptr.h.
27880         (main): Use a zero-size object pointer instead of NULL.
27881         * tests/test-memcmp.c: Include zerosize-ptr.h.
27882         (main): Use a zero-size object pointer instead of NULL.
27883         * tests/test-memmem.c: Include zerosize-ptr.h.
27884         (main): Use a zero-size object pointer instead of NULL.
27885         * tests/test-memrchr.c: Include zerosize-ptr.h.
27886         (main): Use a zero-size object pointer instead of NULL.
27887         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
27888         m4/mmap-anon.m4.
27889         (Depends-on): Add getpagesize.
27890         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
27891         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
27892         m4/mmap-anon.m4.
27893         (Depends-on): Add getpagesize.
27894         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
27895         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
27896         m4/mmap-anon.m4.
27897         (Depends-on): Add getpagesize.
27898         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
27899         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
27900         m4/mmap-anon.m4.
27901         (Depends-on): Add getpagesize.
27902         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
27903         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
27904         m4/mmap-anon.m4.
27905         (Depends-on): Add getpagesize.
27906         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
27907
27908 2009-05-12  Bruno Haible  <bruno@clisp.org>
27909
27910         Tests for module 'alignof'.
27911         * modules/alignof-tests: New file.
27912         * tests/test-alignof.c: New file.
27913
27914 2009-05-12  Bruno Haible  <bruno@clisp.org>
27915
27916         Fix alignof macro.
27917         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
27918         vendor compilers that are always correct.
27919
27920 2009-05-12  Bruno Haible  <bruno@clisp.org>
27921
27922         Make the MAP_ANONYMOUS detection work on HP-UX 11.
27923         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
27924         not whether its fully works.
27925
27926 2009-05-12  Bruno Haible  <bruno@clisp.org>
27927
27928         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
27929
27930 2009-05-12  Jim Meyering  <meyering@redhat.com>
27931
27932         * top/maint.mk: Adjust backslash alignment.
27933
27934 2009-05-11  Simon Josefsson  <simon@josefsson.org>
27935
27936         * top/maint.mk: Make $(srcdir)/build-aux configurable.
27937
27938 2009-05-11  Eric Blake  <ebb9@byu.net>
27939
27940         argp: avoid undefined behavior
27941         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
27942         macros.
27943
27944 2009-05-08  Simon Josefsson  <simon@josefsson.org>
27945
27946         * tests/test-vc-list-files-git.sh: Do git config of user.email and
27947         user.name to prevent git commit from complaining.
27948
27949 2009-05-10  Bruno Haible  <bruno@clisp.org>
27950
27951         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
27952         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
27953         it rewrites every file name only once.
27954         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
27955
27956 2009-05-08  Bruno Haible  <bruno@clisp.org>
27957
27958         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
27959         instead of 'max'.
27960
27961 2009-05-08  Simon Josefsson  <simon@josefsson.org>
27962
27963         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
27964         sockaddr_storage test.
27965
27966 2009-05-07  Simon Josefsson  <simon@josefsson.org>
27967
27968         * modules/sys_socket (Makefile.am): Substitute
27969         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
27970         * m4/sys_socket_h.m4: Check for sockaddr_storage.
27971         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
27972         * tests/test-sys_socket.c: Check sockaddr_storage.
27973
27974 2009-05-08  Bruno Haible  <bruno@clisp.org>
27975
27976         New module 'alignof'.
27977         * lib/alignof.h: New file.
27978         * modules/alignof: New file.
27979
27980 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
27981             Bruno Haible  <bruno@clisp.org>
27982
27983         Fix test-file-has-acl on FreeBSD.
27984         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
27985         mask is implicitly added.
27986         * tests/test-file-has-acl.c: Include <signal.h>.
27987         (main): Terminate the test after 5 seconds.
27988         * modules/acl-tests (configure.ac): Check for alarm function.
27989
27990 2009-05-04  Bruno Haible  <bruno@clisp.org>
27991
27992         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
27993         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
27994         * modules/errno (configure.ac): Drop AC_REQUIRE.
27995         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
27996         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
27997
27998 2009-05-04  Simon Josefsson  <simon@josefsson.org>
27999
28000         * modules/glob-tests: New module.
28001         * tests/test-glob.c: Add.
28002
28003 2009-05-04  Simon Josefsson  <simon@josefsson.org>
28004
28005         * modules/fnmatch-tests: New module.
28006         * tests/test-fnmatch.c: Add.
28007
28008 2009-05-04  Eric Blake  <ebb9@byu.net>
28009
28010         maint: make the new no-submodule-changes rule VPATH-safe
28011         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
28012
28013 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
28014             Bruno Haible  <bruno@clisp.org>
28015
28016         acl: Fix infinite loop on FreeBSD.
28017         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
28018         of return value from acl_get_entry.
28019         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
28020         Likewise.
28021
28022 2009-05-03  Bruno Haible  <bruno@clisp.org>
28023
28024         * lib/acl-internal.h (acl_entries): Clarify return value.
28025         * lib/acl_entries.c (acl_entries): Likewise.
28026
28027 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
28028
28029         Bug fix in acl module.
28030         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
28031
28032 2009-05-03  Bruno Haible  <bruno@clisp.org>
28033
28034         Create gperf-generated file in the source dir, not in the build dir.
28035         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
28036         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
28037         * modules/unicase/locale-language (unicase/locale-languages.h):
28038         Likewise.
28039         * modules/unicase/special-casing (unicase/special-casing-table.h):
28040         Likewise.
28041         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
28042         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
28043         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
28044         Reported by Ralf Wildenhues.
28045
28046 2009-05-03  Bruno Haible  <bruno@clisp.org>
28047
28048         * modules/fnmatch (Description, configure.ac): Taken from
28049         fnmatch-posix.
28050         * modules/fnmatch-posix: Turn into a symbolic reference to the
28051         'fnmatch' module, and deprecate.
28052         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
28053
28054 2009-05-03  Bruno Haible  <bruno@clisp.org>
28055
28056         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
28057         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
28058         Reported by Ralf Wildenhues.
28059
28060 2009-05-04  Simon Josefsson  <simon@josefsson.org>
28061
28062         * m4/fnmatch.m4: Fix fnmatch re-define.
28063
28064 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
28065
28066         priv-set: new module and tests; adapt write-any-file
28067         * lib/priv-set.c: New file.
28068         * lib/priv-set.h: New file.
28069         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
28070         * lib/write-any-file.c: Simplify by using priv-set module.
28071         * m4/priv-set.m4: New file.
28072         * modules/priv-set: New file.
28073         * modules/unlinkdir: Add dependency on priv-set module.
28074         * modules/write-any-file: Likewise.
28075
28076         Tests for module 'priv-set'.
28077         * modules/priv-set-tests: New file.
28078         * tests/test-priv-set.c: New file.
28079
28080 2009-05-03  Jim Meyering  <meyering@redhat.com>
28081             Bruno Haible  <bruno@clisp.org>
28082
28083         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
28084         use the converted UTF-8 variant of the name instead.
28085
28086 2009-05-03  Jim Meyering  <meyering@redhat.com>
28087
28088         tests: tighten some getdate tests
28089         * tests/test-getdate.c (main): Tighten tests: require equality,
28090         not just greater than.  Set TZ envvar to UTC0.
28091
28092 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
28093
28094         getdate: correctly interpret "next monday" when run on a Monday
28095         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
28096         that e.g., "next tues" (when run on a tuesday) results in a date
28097         that is one week in the future, and not today's date.
28098         I.e., add a week when the wday is the same as the current one.
28099         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
28100         and earlier by Martin Bernreuther and Jan Minář.
28101         * tests/test-getdate.c (main): Check that "next DAY" is always in
28102         the future and that "last DAY" is always in the past.
28103
28104 2009-05-02  Jim Meyering  <meyering@redhat.com>
28105
28106         build: ensure that a release build fails when a submodule is unclean
28107         * top/maint.mk (no-submodule-changes): New rule.
28108         (alpha beta major): Depend on it.
28109
28110 2009-05-02  Bruno Haible  <bruno@clisp.org>
28111
28112         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
28113         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
28114         shell variable gl_fnmatch_required to detect which variant is
28115         requested.
28116         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
28117         gl_FUNC_FNMATCH_POSIX.
28118         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
28119         exclude fnmatch-posix.
28120
28121 2009-05-02  Bruno Haible  <bruno@clisp.org>
28122
28123         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
28124         * modules/mbsrtowcs (License): Change to LGPLv2+.
28125         * modules/strnlen1 (License): Likewise.
28126         Reported by Simon Josefsson.
28127
28128 2009-05-02  Bruno Haible  <bruno@clisp.org>
28129
28130         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
28131         "cross".
28132         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
28133         gnulib-tool was called with option --source-base=lib.
28134
28135 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28136
28137         Use automake *-local hooks without commands, for extensibility.
28138         * modules/localcharset (Makefile.am): Rename install-exec-local
28139         rule to install-exec-localcharset, and make it a prerequisite of
28140         install-exec-local.  Likewise, rename the uninstall-local rule to
28141         uninstall-localcharset, and make it a prerequisite of the former.
28142
28143 2009-05-01  Bruno Haible  <bruno@clisp.org>
28144
28145         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
28146         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
28147         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
28148         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
28149         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
28150         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
28151         m4/locale-zh.m4, m4/codeset.m4.
28152
28153         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
28154         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
28155         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
28156         m4/locale-zh.m4.
28157
28158         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
28159         REPLACE_WCRTOMB if mbstate_t must be replaced.
28160         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
28161         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
28162
28163 2009-05-01  Bruno Haible  <bruno@clisp.org>
28164
28165         Avoid compiler warnings when redefining macros defined by <libintl.h>.
28166         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
28167         dngettext, dcngettext, textdomain, bindtextdomain,
28168         bind_textdomain_codeset): Undefine before redefining.
28169
28170 2009-04-30  Bruno Haible  <bruno@clisp.org>
28171
28172         Fix bug introduced on 2009-04-25.
28173         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
28174         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
28175         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
28176         is defined.
28177         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
28178         is defined.
28179         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
28180         is defined.
28181         Reported by Elbert_Pol <elbert.pol@gmail.com>.
28182
28183 2009-04-28  Bruno Haible  <bruno@clisp.org>
28184
28185         Comment tweaks.
28186         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
28187         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
28188         * lib/unicase.h (u*_casexfrm): Likewise.
28189         Reported by Paolo Bonzini.
28190
28191 2009-04-28  Bruno Haible  <bruno@clisp.org>
28192
28193         Fix a compilation error.
28194         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
28195         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
28196         Reported by Jim Meyering.
28197
28198 2009-04-27  Bruno Haible  <bruno@clisp.org>
28199
28200         New module 'libunistring'.
28201         * modules/libunistring: New file.
28202         * m4/libunistring.m4: New file.
28203         * MODULES.html.sh (Unicode string functions): Add it.
28204
28205 2009-04-27  Eric Blake  <ebb9@byu.net>
28206
28207         maint.mk: allow package-specific header to provide <config.h>
28208         * top/maint.mk (sc_require_config_h): New variable.
28209         (sc_require_config_h, sc_require_config_h_first): Use it.
28210
28211 2009-04-27  Simon Josefsson  <simon@josefsson.org>
28212
28213         * top/maint.mk (sc_avoid_if_before_free): Except
28214         useless-if-before-free script.
28215
28216 2009-04-27  Eric Blake  <ebb9@byu.net>
28217
28218         maintainer-makefile: depend on all required helper scripts
28219         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
28220         useless-if-before-free.
28221         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
28222         version, rather than assuming gnulib checkout is available.
28223         Reported by Simen Josefsson.
28224
28225 2009-04-26  Bruno Haible  <bruno@clisp.org>
28226
28227         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
28228         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
28229         "../" or "..".
28230
28231 2009-04-26  Bruno Haible  <bruno@clisp.org>
28232
28233         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
28234         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
28235         AC_LIB_HAVE_LINKFLAGS.
28236
28237 2009-04-26  Bruno Haible  <bruno@clisp.org>
28238
28239         Simplify calling convention of u*_conv_from_encoding.
28240         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
28241         u32_conv_from_encoding): Expect a resultbuf argument and return the
28242         result directly as a pointer.
28243         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
28244         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
28245         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
28246         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
28247         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
28248         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
28249         Update.
28250         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
28251         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
28252         * lib/vasnprintf.c (VASNPRINTF): Update.
28253         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
28254         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
28255         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
28256         * NEWS: Mention the change.
28257
28258 2009-04-26  Bruno Haible  <bruno@clisp.org>
28259
28260         Simplify calling convention of u*_conv_to_encoding.
28261         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
28262         u32_conv_to_encoding): Expect a resultbuf argument and return the
28263         result directly as a pointer.
28264         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
28265         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
28266         freeing scaled_offsets if mem_iconveha failed.
28267         * lib/unicase/u-casexfrm.h (FUNC): Update.
28268         * lib/uninorm/u-normxfrm.h (FUNC): Update.
28269         * lib/vasnprintf.c (VASNPRINTF): Update.
28270         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
28271         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
28272         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
28273         * NEWS: Mention the change.
28274
28275 2009-04-26  Bruno Haible  <bruno@clisp.org>
28276
28277         Avoid test failures on AIX and OSF/1.
28278         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
28279         malloc(0).
28280         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
28281         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
28282         Likewise.
28283         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
28284         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
28285         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
28286         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
28287         * doc/posix-functions/malloc.texi: Document the portability problem
28288         related to malloc(0).
28289
28290 2009-04-26  Bruno Haible  <bruno@clisp.org>
28291
28292         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
28293         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
28294         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
28295
28296 2009-04-25  Bruno Haible  <bruno@clisp.org>
28297
28298         Avoid link error when creating a namespace clean library.
28299         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
28300         as macro with arguments if already defined as an alias.
28301         * lib/signbitf.c (gl_signbitf): Don't undefine.
28302         * lib/signbitd.c (gl_signbitd): Don't undefine.
28303         * lib/signbitl.c (gl_signbitl): Don't undefine.
28304
28305 2009-04-25  Jim Meyering  <meyering@redhat.com>
28306
28307         vc-list-files: fix another quoting bug
28308         * build-aux/vc-list-files: Avoid sed backslash expansion
28309         of pathological directory names.
28310
28311 2009-04-25  Eric Blake  <ebb9@byu.net>
28312
28313         vc-list-files: fix shell quoting error
28314         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
28315         timestamp.
28316
28317 2009-04-25  Jim Meyering  <meyering@redhat.com>
28318
28319         vc-list-files: restore lost functionality with subdir argument
28320         * build-aux/vc-list-files: When given a non-"." sub-directory
28321         argument, substitute the $dir/ prefix back onto each resulting name.
28322         Otherwise, coreutils' root_tests check would fail.
28323
28324 2009-04-24  Eric Blake  <ebb9@byu.net>
28325
28326         vc-list-files: ignore git symlinks
28327         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
28328         than ls-files, to ignore git symlinks.
28329
28330         maint.mk: import improvements from m4
28331         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
28332         (move_if_change): Delete unused macro.
28333         (news-date-check, vc-diff-check): Support VPATH builds.
28334         (announcement): Likewise.  Split --bootstrap-tools list...
28335         (boostrap-tools): ...into separate list, which can be overridden
28336         in cfg.mk.
28337         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
28338         requiring dependency on useless-if-before-free module.
28339         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
28340         Support VPATH builds.
28341
28342 2009-04-24  Jim Meyering  <meyering@redhat.com>
28343
28344         maint.mk: remove coreutils-specific rules and variables
28345         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
28346         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
28347         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
28348
28349         maint.mk: remove obsolete rule
28350         * top/maint.mk (rel-check): Remove rule.
28351         (WGET, WGETFLAGS): Remove now-unused variables.
28352
28353 2009-04-24  Simon Josefsson  <simon@josefsson.org>
28354
28355         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
28356         consistency.
28357
28358         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
28359         '$(PATH_SEPARATOR)' instead of ':'.
28360
28361 2009-04-24  Simon Josefsson  <simon@josefsson.org>
28362
28363         * lib/getopt1.c (main): Use 'const' for static array.
28364
28365 2009-04-24  Simon Josefsson  <simon@josefsson.org>
28366
28367         * top/maint.mk: Sync with coreutils.
28368         * NEWS: Explain incompatibilities.
28369
28370 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
28371             Bruno Haible  <bruno@clisp.org>
28372
28373         Fix cross-compilation results.
28374         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
28375         statement, as third argument of AC_TRY_RUN.
28376         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
28377         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
28378         Likewise.
28379         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
28380         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
28381         Likewise.
28382         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
28383         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
28384         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
28385
28386 2009-04-20  Bruno Haible  <bruno@clisp.org>
28387
28388         Avoid test failure on mingw.
28389         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
28390
28391 2009-04-20  Bruno Haible  <bruno@clisp.org>
28392
28393         Avoid compilation error on mingw.
28394         * modules/localename-tests (Depends-on): Add locale.
28395
28396 2009-04-19  Bruno Haible  <bruno@clisp.org>
28397
28398         Support for building a shared library on Windows platforms.
28399         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
28400         (main): Test the presence of UNINORM_NFC here.
28401         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
28402         (main): Test the presence of UNINORM_NFD here.
28403         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
28404         (main): Test the presence of UNINORM_NFKC here.
28405         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
28406         (main): Test the presence of UNINORM_NFKD here.
28407
28408 2009-04-19  Bruno Haible  <bruno@clisp.org>
28409
28410         Avoid a compiler warning.
28411         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
28412         Change type of variable 'sequence'.
28413
28414 2009-04-19  Bruno Haible  <bruno@clisp.org>
28415
28416         * modules/configmake (Makefile.am): When the contents of configmake.h
28417         does not change, arrange to preserve its modification time.
28418
28419 2009-04-17  Simon Josefsson  <simon@josefsson.org>
28420
28421         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
28422         gettext domain.
28423
28424 2009-04-16  Jim Meyering  <meyering@redhat.com>
28425
28426         useless-if-before-free: improve conversion code
28427         * build-aux/useless-if-before-free: Adjust code-in-comment to match
28428         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
28429
28430 2009-04-14  Bruno Haible  <bruno@clisp.org>
28431
28432         * modules/fcntl (Depends-on): Add extensions.
28433         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
28434
28435 2009-04-12  Ben Pfaff  <blp@gnu.org>
28436
28437         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
28438         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
28439
28440 2009-03-20  Ben Pfaff  <blp@gnu.org>
28441
28442         Make rename replace existing destinations on Windows.
28443         * m4/rename.m4: Add test for Mingw.
28444         * lib/rename.c: Add rename replacement that uses MoveFileEx with
28445         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
28446         * doc/posix-functions/rename.texi: Document.
28447
28448 2009-04-10  Bruno Haible  <bruno@clisp.org>
28449
28450         New include file "iconveh.h".
28451         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
28452         * lib/striconveh.h: Include it.
28453         (enum iconv_ilseq_handler): Remove definition.
28454         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
28455         striconveh.h.
28456         * lib/striconveha.c: Include striconveh.h.
28457         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
28458         * modules/striconveh (Files): Add lib/iconveh.h.
28459         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
28460         lib/striconveh.h.
28461
28462 2009-04-10  Bruno Haible  <bruno@clisp.org>
28463
28464         * lib/uniconv.h: Update comment.
28465
28466 2009-04-10  Bruno Haible  <bruno@clisp.org>
28467
28468         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
28469         always.
28470         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
28471         * lib/unistr/u16-mbtouc-aux.c: Likewise.
28472         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
28473         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
28474         "unistring-notinline.h", so that the function gets defined always.
28475         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
28476         * lib/unistr/u8-uctomb.c: Likewise.
28477         * lib/unistr/u16-mbtouc.c: Likewise.
28478         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
28479         * lib/unistr/u16-uctomb.c: Likewise.
28480         * lib/unistr/u32-mbtouc.c: Likewise.
28481         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
28482         * lib/unistr/u32-uctomb.c: Likewise.
28483
28484 2009-04-10  Bruno Haible  <bruno@clisp.org>
28485
28486         Mark 'utime' obsolete.
28487         * modules/utime (Status, Notice): New sections.
28488         Suggested by Jim Meyering.
28489
28490         Fix cross-compile guess for utime test.
28491         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
28492         autoconf.
28493         * doc/posix-functions/utime.texi: Give more precisions.
28494         Reported by Jan <ipif@ymail.com>.
28495
28496 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
28497
28498         filevercmp: correct today's change
28499         * lib/filevercmp.c: Also handle coreutils' test inputs.
28500         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
28501
28502         Fix regression in 'filevercmp' module. Thanks Sven Joachim
28503         for reporting it.
28504         * lib/filevercmp.c: Special handle for "", "." and "..".
28505         * tests/test-filevercmp.c: Enlarge the set suite.
28506
28507 2009-04-07  Jim Meyering  <meyering@redhat.com>
28508
28509         useless-if-before-free: show how to remove braced useless free, too
28510         * build-aux/useless-if-before-free: still only in a comment, though.
28511
28512 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
28513
28514         maint.mk: import changes to syntax-check macros from coreutils
28515         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
28516         Use them in the relevant macros.
28517
28518 2009-04-06  Bruno Haible  <bruno@clisp.org>
28519
28520         Fix unportable use of bit-fields.
28521         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
28522         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
28523         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
28524
28525 2009-04-06  Bruno Haible  <bruno@clisp.org>
28526
28527         Avoid test failures on AIX and OSF/1.
28528         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
28529         that malloc(0) = NULL.
28530         * tests/unicase/test-u8-tolower.c (check): Likewise.
28531         * tests/unicase/test-u8-totitle.c (check): Likewise.
28532         * tests/unicase/test-u8-toupper.c (check): Likewise.
28533         * tests/unicase/test-u16-casefold.c (check): Likewise.
28534         * tests/unicase/test-u16-tolower.c (check): Likewise.
28535         * tests/unicase/test-u16-totitle.c (check): Likewise.
28536         * tests/unicase/test-u16-toupper.c (check): Likewise.
28537         * tests/unicase/test-u32-casefold.c (check): Likewise.
28538         * tests/unicase/test-u32-tolower.c (check): Likewise.
28539         * tests/unicase/test-u32-totitle.c (check): Likewise.
28540         * tests/unicase/test-u32-toupper.c (check): Likewise.
28541         * tests/uninorm/test-u8-nfc.c (check): Likewise.
28542         * tests/uninorm/test-u8-nfd.c (check): Likewise.
28543         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
28544         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
28545         * tests/uninorm/test-u16-nfc.c (check): Likewise.
28546         * tests/uninorm/test-u16-nfd.c (check): Likewise.
28547         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
28548         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
28549         * tests/uninorm/test-u32-nfc.c (check): Likewise.
28550         * tests/uninorm/test-u32-nfd.c (check): Likewise.
28551         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
28552         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
28553
28554 2009-04-05  Bruno Haible  <bruno@clisp.org>
28555
28556         Work around an autoconf limitation.
28557         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
28558         comment line if it would be longer than 3 KB.
28559
28560 2009-04-05  Bruno Haible  <bruno@clisp.org>
28561
28562         Avoid test failure with libiconv-1.13.
28563         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
28564         of the expected test results.
28565
28566 2009-04-05  Bruno Haible  <bruno@clisp.org>
28567
28568         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
28569         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
28570         that it should be installed.
28571
28572 2009-04-05  Bruno Haible  <bruno@clisp.org>
28573
28574         * gnulib-tool: New option --copy-file.
28575         (func_usage): Document it.
28576         (func_dest_tmpfilename): Moved out of func_import.
28577         (func_add_file, func_update_file): New functions, extracted from
28578         func_import.
28579         (func_import): Update.
28580
28581 2009-04-05  Karl Berry  <karl@gnu.org>
28582
28583         * README: prominently mention gnulib-tool.
28584         Rearrange sections so getting the code is near the top.
28585
28586 2009-04-05  Bruno Haible  <bruno@clisp.org>
28587
28588         * lib/unicase.h: Mention u*_cmp2.
28589         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
28590         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
28591         * lib/unicase/ulc-casecmp.c: Likewise.
28592         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
28593         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
28594         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
28595         unistr/u8-cmp.
28596         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
28597         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
28598         unistr/u16-cmp.
28599         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
28600         unistr/u32-cmp.
28601
28602         * lib/uninorm.h: Mention u*_cmp2.
28603         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
28604         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
28605         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
28606         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
28607         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
28608         unistr/u8-cmp.
28609         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
28610         unistr/u16-cmp.
28611         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
28612         unistr/u32-cmp.
28613
28614         New module 'unistr/u32-cmp2'.
28615         * lib/unistr/u32-cmp2.c: New file.
28616         * modules/unistr/u32-cmp2: New file.
28617
28618         New module 'unistr/u16-cmp2'.
28619         * lib/unistr/u16-cmp2.c: New file.
28620         * modules/unistr/u16-cmp2: New file.
28621
28622         New module 'unistr/u8-cmp2'.
28623         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
28624         * lib/unistr/u8-cmp2.c: New file.
28625         * lib/unistr/u-cmp2.h: New file.
28626         * modules/unistr/u8-cmp2: New file.
28627
28628 2009-04-05  Bruno Haible  <bruno@clisp.org>
28629
28630         * lib/unictype.h (uc_property_is_valid): New macro.
28631         * tests/unictype/test-pr_byname.c (main): Use it.
28632
28633         * lib/unistr.h: Doc fixes.
28634         * lib/uniconv.h: Doc fixes.
28635         * lib/unictype.h: Doc fixes.
28636
28637 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
28638
28639         Port coreutils 7.2 to Solaris 8.
28640
28641         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
28642         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
28643         for Solaris 8.  This is a bit of a hack, as it means it's the
28644         caller's responsibility to add -lnsl if needed, but most likely it
28645         won't be needed since only getaddrinfo uses this and getaddrinfo
28646         isn't needed on Solaris 8.
28647
28648         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
28649         problem to Solaris 8 encountered with coreutils 7.2, which
28650         resulted in a message "fnmatch.c:292: warning: passing argument 4
28651         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
28652         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
28653
28654 2009-04-03  Simon Josefsson  <simon@josefsson.org>
28655
28656         * m4/ld-version-script.m4: Add FIXME comment.
28657
28658 2009-04-02  Simon Josefsson  <simon@josefsson.org>
28659
28660         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
28661         SOVERSION variable.
28662
28663 2009-04-02  Bruno Haible  <bruno@clisp.org>
28664
28665         * Makefile (info, html, dvi, pdf): Combine the rules.
28666         Suggested by Jim Meyering.
28667
28668 2009-04-01  Bruno Haible  <bruno@clisp.org>
28669
28670         * Makefile (info, html, dvi, pdf): New targets.
28671         Reported by Reuben Thomas <rrt@sc3d.org>.
28672
28673 2009-04-01  Bruno Haible  <bruno@clisp.org>
28674
28675         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
28676         can be put into PATH.
28677         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
28678
28679 2009-04-01  Bruno Haible  <bruno@clisp.org>
28680
28681         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
28682
28683 2009-04-01  Bruno Haible  <bruno@clisp.org>
28684
28685         Rename module 'visibility'.
28686         * modules/lib-symbol-visibility: Renamed from modules/visibility.
28687         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
28688         * doc/gnulib.texi: Update.
28689         * MODULES.html.sh (Misc): Update.
28690         * NEWS: Mention the change.
28691
28692 2009-04-01  Simon Josefsson  <simon@josefsson.org>
28693
28694         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
28695         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
28696         Eric Blake <ebb9@byu.net> for review.
28697         * MODULES.html.sh: Add lib-msvc-compat.
28698         * doc/gnulib.texi: Link to new section.
28699         * m4/ld-output-def.m4: New file.
28700         * doc/ld-output-def.texi: New file.
28701
28702 2009-04-01  Simon Josefsson  <simon@josefsson.org>
28703
28704         Rename ld-version-script to lib-symbol-versions.  Suggested by
28705         Bruno Haible <bruno@clisp.org>.
28706         * modules/ld-version-script: Renamed to lib-symbol-versions.
28707         * doc/ld-version-script.texi: Fix module name.
28708         * MODULES.html.sh: Add lib-symbol-versions.
28709
28710 2009-03-31  Simon Josefsson  <simon@josefsson.org>
28711
28712         * modules/u64-tests: New file.
28713         * tests/test-u64.c: New file.
28714
28715 2009-03-04  Simon Josefsson  <simon@josefsson.org>
28716
28717         * MODULES.html.sh: Mention u64.
28718         * modules/u64: New module.
28719         * modules/crypto/sha512: Depend on u64 module instead of providing
28720         u64.h.
28721
28722 2009-03-27  Eric Blake  <ebb9@byu.net>
28723
28724         test-strerror: make debugging EAI_SYSTEM easier
28725         * modules/getaddrinfo-tests (Depends-on): Add strerror.
28726         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
28727         failure was EAI_SYSTEM.
28728
28729 2009-03-25  Bruno Haible  <bruno@clisp.org>
28730
28731         Fix a problem with --enable-relocatable on Solaris 7.
28732         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
28733         since 2008-02-24.
28734
28735 2009-03-25  Eric Blake  <ebb9@byu.net>
28736
28737         test-sockets: avoid gcc warning
28738         * tests/test-sockets.c (main): Silence compiler warning.
28739
28740 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
28741
28742         New modules nproc, pthread, contributed by Glen Lenker.
28743
28744         * MODULES.html.sh: Add pthread, nproc.
28745         * lib/nproc.c: New file.
28746         * lib/nproc.h: New file.
28747         * lib/pthread.in.h: New file.
28748         * m4/pthread.m4: New file.
28749         * modules/nproc: New file.
28750         * modules/pthread: New file.
28751
28752 2009-03-24  Simon Josefsson  <simon@josefsson.org>
28753
28754         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
28755         New variable.
28756
28757 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
28758
28759         filevercmp: handle simple~ and numbered.~3~ backup suffixes
28760         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
28761         * tests/test-filevercmp.c: Add tests for backup suffixes.
28762
28763 2009-03-24  Simon Josefsson  <simon@josefsson.org>
28764
28765         * modules/stdlib (Depends-on): Add stdint, needed when defining
28766         struct random_data on, for example, HP-UX 10.20.  Reported by
28767         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
28768
28769 2009-03-24  Simon Josefsson  <simon@josefsson.org>
28770
28771         * lib/readline.c (readline): Call fflush on stdout after printing
28772         prompt.
28773
28774 2009-03-20  Bruno Haible  <bruno@clisp.org>
28775
28776         Remove dependency from 'close' module to -lws2_32 on native Windows.
28777         * lib/close-hook.h: New file.
28778         * lib/close-hook.c: New file.
28779         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
28780         w32sock.h.
28781         (_gl_close_fd_maybe_socket): Remove function.
28782         (rpl_close): Invoke execute_all_close_hooks instead of
28783         _gl_close_fd_maybe_socket.
28784         * lib/sockets.c: Include close-hook.h, w32sock.h.
28785         (close_fd_maybe_socket): New function, essentially from lib/close.c.
28786         (close_sockets_hook): New variable.
28787         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
28788         (gl_sockets_cleanup): Unregister it.
28789         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
28790         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
28791         * modules/close-hook: New file.
28792         * modules/close (Files): Remove lib/w32sock.h.
28793         (Depends-on): Add close-hook.
28794         (Link): Remove section.
28795         * modules/sockets (Files): Add lib/w32sock.h.
28796         (Depends-on): Add close-hook.
28797         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
28798         invocation.
28799         * NEWS: Mention that LIB_CLOSE is gone.
28800
28801 2009-03-23  Eric Blake  <ebb9@byu.net>
28802
28803         signal-tests: test previous patch
28804         * tests/test-signal.c: New file.
28805         * modules/signal-tests: Likewise.
28806
28807         signal.h: always support 'volatile sig_atomic_t'
28808         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
28809         (gl_SIGNAL_H_DEFAULTS): Add a default.
28810         * modules/signal (Makefile.am): Substitute if needed.
28811         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
28812         users can blindly add volatile.
28813         * doc/posix-headers/signal.texi (signal.h): Document it.
28814         Reported by Matthew Woehlke.
28815
28816 2009-03-23  Jim Meyering  <meyering@redhat.com>
28817
28818         pathmax: PATH_MAX: use pathconf only when available
28819         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
28820         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
28821         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
28822         This avoids a link failure in a PSP cross-compilation environment
28823         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
28824
28825         * lib/vasnprintf.c (divide): Fix typo in comment.
28826
28827 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28828
28829         * gnulib-tool (func_filter_filelist): Fix comment.
28830
28831 2009-03-20  Bruno Haible  <bruno@clisp.org>
28832
28833         Make sockets.h self-contained.
28834         * lib/sockets.c: Include sockets.h first.
28835         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
28836
28837 2009-03-19  Eric Blake  <ebb9@byu.net>
28838
28839         doc: mention more functions added in cygwin 1.7.0
28840         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
28841         addition.
28842         * doc/posix-functions/log2f.texi: Likewise.
28843
28844 2009-03-19  Jim Meyering  <meyering@redhat.com>
28845
28846         fsusage: avoid syntax error due to statement-before-declaration
28847         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
28848         after all declarations.  Reported by Matthew Woehlke in
28849         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
28850
28851 2009-03-18  Eric Blake  <ebb9@byu.net>
28852
28853         build-aux/compile: sync from automake
28854         * build-aux/compile: New file, from automake.
28855         * config/srclist.txt: Mention build-aux/compile.
28856
28857 2009-03-17  Bruno Haible  <bruno@clisp.org>
28858
28859         * lib/git-merge-changelog.c: Fix typo in comment.
28860         Reported by Reuben Thomas <rrt@sc3d.org>.
28861
28862 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
28863
28864         * m4/regex.m4: update and improve help for
28865         --without-included-regex.
28866
28867 2009-03-17  Simon Josefsson  <simon@josefsson.org>
28868
28869         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
28870         failure on missing include files.
28871
28872 2009-03-17  Eric Blake  <ebb9@byu.net>
28873
28874         doc: mention more functions added in cygwin 1.7.0
28875         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
28876         addition.
28877         * doc/posix-functions/fwscanf.texi: Likewise.
28878         * doc/posix-functions/swprintf.texi: Likewise.
28879         * doc/posix-functions/swscanf.texi: Likewise.
28880         * doc/posix-functions/vfwprintf.texi: Likewise.
28881         * doc/posix-functions/vfwscanf.texi: Likewise.
28882         * doc/posix-functions/vswprintf.texi: Likewise.
28883         * doc/posix-functions/vswscanf.texi: Likewise.
28884         * doc/posix-functions/vwprintf.texi: Likewise.
28885         * doc/posix-functions/vwscanf.texi: Likewise.
28886         * doc/posix-functions/wcscasecmp.texi: Likewise.
28887         * doc/posix-functions/wcsdup.texi: Likewise.
28888         * doc/posix-functions/wcsftime.texi: Likewise.
28889         * doc/posix-functions/wcsncasecmp.texi: Likewise.
28890         * doc/posix-functions/wprintf.texi: Likewise.
28891         * doc/posix-functions/wscanf.texi: Likewise.
28892         * doc/glibc-functions/gethostbyname2.texi: Likewise.
28893
28894 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28895
28896         maint.mk: really add $(AM_MAKEFLAGS)
28897         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
28898         was inadvertently omitted in the last commit.
28899         Spotted by Bruno Haible.
28900
28901         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
28902         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
28903         $(AM_MAKEFLAGS)' rather than plain `make'.
28904
28905         gnulib-tool: execute $MAKE not make
28906         * gnulib-tool: Default $MAKE to 'make'.
28907         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
28908         than make.  Initialize $MAKE in the do-autobuild script.
28909
28910         gnulib-tool: use $MAKE not make in generated files
28911         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
28912         make, in generated files.  Initialize $MAKE in the do-autobuild
28913         script.
28914
28915         * top/GNUmakefile (_have-git-version-gen): Fix typo.
28916
28917         GNUmakefile: disable parallelism only for multiple, recursive targets
28918         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
28919         additions in the Makefile.
28920         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
28921         by Automake.
28922         (.NOTPARALLEL): Only disable parallel builds if multiple targets
28923         are listed on the command line and at least one of them is
28924         listed in $(ALL_RECURSIVE_TARGETS).
28925
28926 2009-03-14  Bruno Haible  <bruno@clisp.org>
28927
28928         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
28929         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
28930         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
28931         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
28932         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
28933         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
28934         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
28935         unistr/u8-uctomb.
28936         * modules/unistr/u8-strchr (Depends-on): Likewise.
28937         * modules/unistr/u8-strrchr (Depends-on): Likewise.
28938         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
28939         unistr/u16-uctomb.
28940         * modules/unistr/u16-strchr (Depends-on): Likewise.
28941         * modules/unistr/u16-strrchr (Depends-on): Likewise.
28942
28943 2009-03-12  Bruno Haible  <bruno@clisp.org>
28944
28945         Work around select() bug on Interix 3.5.
28946         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
28947         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
28948         * m4/select.m4: New file.
28949         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
28950         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
28951         * modules/select (Files): Add m4/select.m4.
28952         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
28953         * modules/nanosleep (Depends-on): Add select.
28954         * modules/poll (Depends-on): Likewise.
28955         * doc/posix-functions/select.texi: Mention the Interix bug.
28956         Reported by Markus Duft <mduft@gentoo.org>.
28957
28958         * lib/select.c: Renamed from lib/winsock-select.c.
28959         * modules/select (Files): Add lib/select.c, remove
28960         lib/winsock-select.c.
28961         (configure.ac): Update.
28962
28963 2009-03-12  Jim Meyering  <meyering@redhat.com>
28964
28965         avoid gcc warnings about unused macro definitions
28966         * lib/readtokens.c (STREQ): Remove unused definition.
28967         * lib/xmalloc.c (SIZE_MAX): Likewise.
28968         * lib/openat-die.c (N_): Likewise.
28969         * lib/mountlist.c (SIZE_MAX): Remove definition.
28970         Instead, include <stdint.h>.
28971         * lib/readutmp.c: Likewise.
28972         * modules/readutmp (Depends-on): Add stdint.
28973         * modules/mountlist (Depends-on): Add stdint.
28974         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
28975
28976 2009-03-10  Bruno Haible  <bruno@clisp.org>
28977
28978         Tests for module 'mbmemcasecoll'.
28979         * modules/mbmemcasecoll-tests: New file.
28980         * tests/test-mbmemcasecoll1.sh: New file.
28981         * tests/test-mbmemcasecoll2.sh: New file.
28982         * tests/test-mbmemcasecoll3.sh: New file.
28983         * tests/test-mbmemcasecoll.c: New file.
28984
28985         New module 'mbmemcasecoll'.
28986         * lib/mbmemcasecoll.h: New file.
28987         * lib/mbmemcasecoll.c: New file.
28988         * modules/mbmemcasecoll: New file.
28989
28990         * tests/test-mbmemcasecmp.h: New file, extracted from
28991         tests/test-mbmemcasecmp.c.
28992         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
28993         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
28994         (main): Update.
28995         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
28996
28997 2009-03-09  Bruno Haible  <bruno@clisp.org>
28998
28999         Tests for module 'mbmemcasecmp'.
29000         * modules/mbmemcasecmp-tests: New file.
29001         * tests/test-mbmemcasecmp1.sh: New file.
29002         * tests/test-mbmemcasecmp2.sh: New file.
29003         * tests/test-mbmemcasecmp3.sh: New file.
29004         * tests/test-mbmemcasecmp.c: New file.
29005
29006         New module 'mbmemcasecmp'.
29007         * lib/mbmemcasecmp.h: New file.
29008         * lib/mbmemcasecmp.c: New file.
29009         * modules/mbmemcasecmp: New file.
29010
29011 2009-03-09  Bruno Haible  <bruno@clisp.org>
29012
29013         Tests for module 'unicase/ulc-casecoll'.
29014         * modules/unicase/ulc-casecoll-tests: New file.
29015         * tests/unicase/test-ulc-casecoll1.sh: New file.
29016         * tests/unicase/test-ulc-casecoll2.sh: New file.
29017         * tests/unicase/test-ulc-casecoll.c: New file.
29018
29019         New module 'unicase/ulc-casecoll'.
29020         * lib/unicase.h (ulc_casecoll): New declaration.
29021         * lib/unicase/ulc-casecoll.c: New file.
29022         * modules/unicase/ulc-casecoll: New file.
29023
29024         New module 'unicase/ulc-casexfrm'.
29025         * lib/unicase.h (ulc_casexfrm): New declaration.
29026         * lib/unicase/ulc-casexfrm.c: New file.
29027         * modules/unicase/ulc-casexfrm: New file.
29028
29029 2009-03-09  Bruno Haible  <bruno@clisp.org>
29030
29031         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
29032         invocations.
29033
29034         * m4/mbscasecmp.m4: Remove file.
29035         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
29036         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
29037
29038         * m4/mbscasestr.m4: Remove file.
29039         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
29040         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
29041
29042         * m4/mbschr.m4: Remove file.
29043         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
29044         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
29045
29046         * m4/mbscspn.m4: Remove file.
29047         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
29048         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
29049
29050         * m4/mbslen.m4: Remove file.
29051         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
29052         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
29053
29054         * m4/mbsncasecmp.m4: Remove file.
29055         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
29056         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
29057
29058         * m4/mbsnlen.m4: Remove file.
29059         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
29060         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
29061
29062         * m4/mbspbrk.m4: Remove file.
29063         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
29064         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
29065
29066         * m4/mbspcasecmp.m4: Remove file.
29067         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
29068         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
29069
29070         * m4/mbsrchr.m4: Remove file.
29071         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
29072         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
29073
29074         * m4/mbssep.m4: Remove file.
29075         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
29076         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
29077
29078         * m4/mbsspn.m4: Remove file.
29079         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
29080         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
29081
29082         * m4/mbsstr.m4: Remove file.
29083         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
29084         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
29085
29086         * m4/mbstok_r.m4: Remove file.
29087         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
29088         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
29089
29090         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
29091
29092         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
29093         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
29094
29095         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
29096
29097 2009-03-08  Bruno Haible  <bruno@clisp.org>
29098
29099         Tests for module 'unicase/ulc-casecmp'.
29100         * modules/unicase/ulc-casecmp-tests: New file.
29101         * tests/unicase/test-ulc-casecmp1.sh: New file.
29102         * tests/unicase/test-ulc-casecmp2.sh: New file.
29103         * tests/unicase/test-ulc-casecmp.c: New file.
29104
29105         New module 'unicase/ulc-casecmp'.
29106         * lib/unicase.h (ulc_casecmp): New declaration.
29107         * lib/unicase/ulc-casecmp.c: New file.
29108         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
29109         'const SRC_UNIT *'.
29110         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
29111         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
29112         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
29113         * modules/unicase/ulc-casecmp: New file.
29114
29115         Tests for module 'unicase/u32-is-cased'.
29116         * modules/unicase/u32-is-cased-tests: New file.
29117         * tests/unicase/test-u32-is-cased.c: New file.
29118
29119         Tests for module 'unicase/u16-is-cased'.
29120         * modules/unicase/u16-is-cased-tests: New file.
29121         * tests/unicase/test-u16-is-cased.c: New file.
29122
29123         Tests for module 'unicase/u8-is-cased'.
29124         * modules/unicase/u8-is-cased-tests: New file.
29125         * tests/unicase/test-u8-is-cased.c: New file.
29126         * tests/unicase/test-is-cased.h: New file.
29127
29128         New module 'unicase/u32-is-cased'.
29129         * lib/unicase/u32-is-cased.c: New file.
29130         * modules/unicase/u32-is-cased: New file.
29131
29132         New module 'unicase/u16-is-cased'.
29133         * lib/unicase/u16-is-cased.c: New file.
29134         * modules/unicase/u16-is-cased: New file.
29135
29136         New module 'unicase/u8-is-cased'.
29137         * lib/unicase/u8-is-cased.c: New file.
29138         * lib/unicase/u-is-cased.h: New file.
29139         * modules/unicase/u8-is-cased: New file.
29140
29141         Tests for module 'unicase/u32-is-casefolded'.
29142         * modules/unicase/u32-is-casefolded-tests: New file.
29143         * tests/unicase/test-u32-is-casefolded.c: New file.
29144
29145         Tests for module 'unicase/u16-is-casefolded'.
29146         * modules/unicase/u16-is-casefolded-tests: New file.
29147         * tests/unicase/test-u16-is-casefolded.c: New file.
29148
29149         Tests for module 'unicase/u8-is-casefolded'.
29150         * modules/unicase/u8-is-casefolded-tests: New file.
29151         * tests/unicase/test-u8-is-casefolded.c: New file.
29152         * tests/unicase/test-is-casefolded.h: New file.
29153
29154         New module 'unicase/u32-is-casefolded'.
29155         * lib/unicase/u32-is-casefolded.c: New file.
29156         * modules/unicase/u32-is-casefolded: New file.
29157
29158         New module 'unicase/u16-is-casefolded'.
29159         * lib/unicase/u16-is-casefolded.c: New file.
29160         * modules/unicase/u16-is-casefolded: New file.
29161
29162         New module 'unicase/u8-is-casefolded'.
29163         * lib/unicase/u8-is-casefolded.c: New file.
29164         * modules/unicase/u8-is-casefolded: New file.
29165
29166         Tests for module 'unicase/u32-is-titlecase'.
29167         * modules/unicase/u32-is-titlecase-tests: New file.
29168         * tests/unicase/test-u32-is-titlecase.c: New file.
29169
29170         Tests for module 'unicase/u16-is-titlecase'.
29171         * modules/unicase/u16-is-titlecase-tests: New file.
29172         * tests/unicase/test-u16-is-titlecase.c: New file.
29173
29174         Tests for module 'unicase/u8-is-titlecase'.
29175         * modules/unicase/u8-is-titlecase-tests: New file.
29176         * tests/unicase/test-u8-is-titlecase.c: New file.
29177         * tests/unicase/test-is-titlecase.h: New file.
29178
29179         New module 'unicase/u32-is-titlecase'.
29180         * lib/unicase/u32-is-titlecase.c: New file.
29181         * modules/unicase/u32-is-titlecase: New file.
29182
29183         New module 'unicase/u16-is-titlecase'.
29184         * lib/unicase/u16-is-titlecase.c: New file.
29185         * modules/unicase/u16-is-titlecase: New file.
29186
29187         New module 'unicase/u8-is-titlecase'.
29188         * lib/unicase/u8-is-titlecase.c: New file.
29189         * modules/unicase/u8-is-titlecase: New file.
29190
29191         Tests for module 'unicase/u32-is-lowercase'.
29192         * modules/unicase/u32-is-lowercase-tests: New file.
29193         * tests/unicase/test-u32-is-lowercase.c: New file.
29194
29195         Tests for module 'unicase/u16-is-lowercase'.
29196         * modules/unicase/u16-is-lowercase-tests: New file.
29197         * tests/unicase/test-u16-is-lowercase.c: New file.
29198
29199         Tests for module 'unicase/u8-is-lowercase'.
29200         * modules/unicase/u8-is-lowercase-tests: New file.
29201         * tests/unicase/test-u8-is-lowercase.c: New file.
29202         * tests/unicase/test-is-lowercase.h: New file.
29203
29204         New module 'unicase/u32-is-lowercase'.
29205         * lib/unicase/u32-is-lowercase.c: New file.
29206         * modules/unicase/u32-is-lowercase: New file.
29207
29208         New module 'unicase/u16-is-lowercase'.
29209         * lib/unicase/u16-is-lowercase.c: New file.
29210         * modules/unicase/u16-is-lowercase: New file.
29211
29212         New module 'unicase/u8-is-lowercase'.
29213         * lib/unicase/u8-is-lowercase.c: New file.
29214         * modules/unicase/u8-is-lowercase: New file.
29215
29216         Tests for module 'unicase/u32-is-uppercase'.
29217         * modules/unicase/u32-is-uppercase-tests: New file.
29218         * tests/unicase/test-u32-is-uppercase.c: New file.
29219
29220         Tests for module 'unicase/u16-is-uppercase'.
29221         * modules/unicase/u16-is-uppercase-tests: New file.
29222         * tests/unicase/test-u16-is-uppercase.c: New file.
29223
29224         Tests for module 'unicase/u8-is-uppercase'.
29225         * modules/unicase/u8-is-uppercase-tests: New file.
29226         * tests/unicase/test-u8-is-uppercase.c: New file.
29227         * tests/unicase/test-is-uppercase.h: New file.
29228
29229         New module 'unicase/u32-is-uppercase'.
29230         * lib/unicase/u32-is-uppercase.c: New file.
29231         * modules/unicase/u32-is-uppercase: New file.
29232
29233         New module 'unicase/u16-is-uppercase'.
29234         * lib/unicase/u16-is-uppercase.c: New file.
29235         * modules/unicase/u16-is-uppercase: New file.
29236
29237         New module 'unicase/u8-is-uppercase'.
29238         * lib/unicase/u8-is-uppercase.c: New file.
29239         * modules/unicase/u8-is-uppercase: New file.
29240
29241         New module 'unicase/u32-is-invariant'.
29242         * lib/unicase/u32-is-invariant.c: New file.
29243         * modules/unicase/u32-is-invariant: New file.
29244
29245         New module 'unicase/u16-is-invariant'.
29246         * lib/unicase/u16-is-invariant.c: New file.
29247         * modules/unicase/u16-is-invariant: New file.
29248
29249         New module 'unicase/u8-is-invariant'.
29250         * lib/unicase/u8-is-invariant.c: New file.
29251         * lib/unicase/invariant.h: New file.
29252         * lib/unicase/u-is-invariant.h: New file.
29253         * modules/unicase/u8-is-invariant: New file.
29254
29255         Tests for module 'unicase/u32-casecoll'.
29256         * modules/unicase/u32-casecoll-tests: New file.
29257         * tests/unicase/test-u32-casecoll.c: New file.
29258
29259         Tests for module 'unicase/u16-casecoll'.
29260         * modules/unicase/u16-casecoll-tests: New file.
29261         * tests/unicase/test-u16-casecoll.c: New file.
29262
29263         Tests for module 'unicase/u8-casecoll'.
29264         * modules/unicase/u8-casecoll-tests: New file.
29265         * tests/unicase/test-u8-casecoll.c: New file.
29266
29267         New module 'unicase/u32-casecoll'.
29268         * lib/unicase/u32-casecoll.c: New file.
29269         * modules/unicase/u32-casecoll: New file.
29270
29271         New module 'unicase/u16-casecoll'.
29272         * lib/unicase/u16-casecoll.c: New file.
29273         * modules/unicase/u16-casecoll: New file.
29274
29275         New module 'unicase/u8-casecoll'.
29276         * lib/unicase/u8-casecoll.c: New file.
29277         * lib/unicase/u-casecoll.h: New file.
29278         * modules/unicase/u8-casecoll: New file.
29279
29280         New module 'unicase/u32-casexfrm'.
29281         * lib/unicase/u32-casexfrm.c: New file.
29282         * modules/unicase/u32-casexfrm: New file.
29283
29284         New module 'unicase/u16-casexfrm'.
29285         * lib/unicase/u16-casexfrm.c: New file.
29286         * modules/unicase/u16-casexfrm: New file.
29287
29288         New module 'unicase/u8-casexfrm'.
29289         * lib/unicase/u8-casexfrm.c: New file.
29290         * lib/unicase/u-casexfrm.h: New file.
29291         * modules/unicase/u8-casexfrm: New file.
29292
29293         Tests for module 'unicase/u32-casecmp'.
29294         * modules/unicase/u32-casecmp-tests: New file.
29295         * tests/unicase/test-u32-casecmp.c: New file.
29296
29297         Tests for module 'unicase/u16-casecmp'.
29298         * modules/unicase/u16-casecmp-tests: New file.
29299         * tests/unicase/test-u16-casecmp.c: New file.
29300
29301         Tests for module 'unicase/u8-casecmp'.
29302         * modules/unicase/u8-casecmp-tests: New file.
29303         * tests/unicase/test-u8-casecmp.c: New file.
29304         * tests/unicase/test-casecmp.h: New file.
29305
29306         New module 'unicase/u32-casecmp'.
29307         * lib/unicase/u32-casecmp.c: New file.
29308         * modules/unicase/u32-casecmp: New file.
29309
29310         New module 'unicase/u16-casecmp'.
29311         * lib/unicase/u16-casecmp.c: New file.
29312         * modules/unicase/u16-casecmp: New file.
29313
29314         New module 'unicase/u8-casecmp'.
29315         * lib/unicase/u8-casecmp.c: New file.
29316         * lib/unicase/u-casecmp.h: New file.
29317         * modules/unicase/u8-casecmp: New file.
29318
29319         Tests for module 'unicase/u32-casefold'.
29320         * modules/unicase/u32-casefold-tests: New file.
29321         * tests/unicase/test-u32-casefold.c: New file.
29322
29323         Tests for module 'unicase/u16-casefold'.
29324         * modules/unicase/u16-casefold-tests: New file.
29325         * tests/unicase/test-u16-casefold.c: New file.
29326
29327         Tests for module 'unicase/u8-casefold'.
29328         * modules/unicase/u8-casefold-tests: New file.
29329         * tests/unicase/test-u8-casefold.c: New file.
29330
29331         New module 'unicase/u32-casefold'.
29332         * lib/unicase/u32-casefold.c: New file.
29333         * modules/unicase/u32-casefold: New file.
29334
29335         New module 'unicase/u16-casefold'.
29336         * lib/unicase/u16-casefold.c: New file.
29337         * modules/unicase/u16-casefold: New file.
29338
29339         New module 'unicase/u8-casefold'.
29340         * lib/unicase/u8-casefold.c: New file.
29341         * lib/unicase/u-casefold.h: New file.
29342         * modules/unicase/u8-casefold: New file.
29343
29344         New module 'unicase/tocasefold'.
29345         * lib/unicase/casefold.h: New file.
29346         * lib/unicase/tocasefold.c: New file.
29347         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
29348         * modules/unicase/tocasefold: New file.
29349
29350         Tests for module 'unicase/u32-totitle'.
29351         * modules/unicase/u32-totitle-tests: New file.
29352         * tests/unicase/test-u32-totitle.c: New file.
29353
29354         Tests for module 'unicase/u16-totitle'.
29355         * modules/unicase/u16-totitle-tests: New file.
29356         * tests/unicase/test-u16-totitle.c: New file.
29357
29358         Tests for module 'unicase/u8-totitle'.
29359         * modules/unicase/u8-totitle-tests: New file.
29360         * tests/unicase/test-u8-totitle.c: New file.
29361
29362         New module 'unicase/u32-totitle'.
29363         * lib/unicase/u32-totitle.c: New file.
29364         * modules/unicase/u32-totitle: New file.
29365
29366         New module 'unicase/u16-totitle'.
29367         * lib/unicase/u16-totitle.c: New file.
29368         * modules/unicase/u16-totitle: New file.
29369
29370         New module 'unicase/u8-totitle'.
29371         * lib/unicase/u8-totitle.c: New file.
29372         * lib/unicase/u-totitle.h: New file.
29373         * modules/unicase/u8-totitle: New file.
29374
29375         Tests for module 'unicase/u32-tolower'.
29376         * modules/unicase/u32-tolower-tests: New file.
29377         * tests/unicase/test-u32-tolower.c: New file.
29378
29379         Tests for module 'unicase/u16-tolower'.
29380         * modules/unicase/u16-tolower-tests: New file.
29381         * tests/unicase/test-u16-tolower.c: New file.
29382
29383         Tests for module 'unicase/u8-tolower'.
29384         * modules/unicase/u8-tolower-tests: New file.
29385         * tests/unicase/test-u8-tolower.c: New file.
29386
29387         New module 'unicase/u32-tolower'.
29388         * lib/unicase/u32-tolower.c: New file.
29389         * modules/unicase/u32-tolower: New file.
29390
29391         New module 'unicase/u16-tolower'.
29392         * lib/unicase/u16-tolower.c: New file.
29393         * modules/unicase/u16-tolower: New file.
29394
29395         New module 'unicase/u8-tolower'.
29396         * lib/unicase/u8-tolower.c: New file.
29397         * modules/unicase/u8-tolower: New file.
29398
29399         Tests for module 'unicase/u32-toupper'.
29400         * modules/unicase/u32-toupper-tests: New file.
29401         * tests/unicase/test-u32-toupper.c: New file.
29402
29403         Tests for module 'unicase/u16-toupper'.
29404         * modules/unicase/u16-toupper-tests: New file.
29405         * tests/unicase/test-u16-toupper.c: New file.
29406
29407         Tests for module 'unicase/u8-toupper'.
29408         * modules/unicase/u8-toupper-tests: New file.
29409         * tests/unicase/test-u8-toupper.c: New file.
29410
29411         New module 'unicase/u32-toupper'.
29412         * lib/unicase/u32-toupper.c: New file.
29413         * modules/unicase/u32-toupper: New file.
29414
29415         New module 'unicase/u16-toupper'.
29416         * lib/unicase/u16-toupper.c: New file.
29417         * modules/unicase/u16-toupper: New file.
29418
29419         New module 'unicase/u8-toupper'.
29420         * lib/unicase/u8-toupper.c: New file.
29421         * modules/unicase/u8-toupper: New file.
29422
29423         New module 'unicase/u32-casemap'.
29424         * lib/unicase/u32-casemap.c: New file.
29425         * modules/unicase/u32-casemap: New file.
29426
29427         New module 'unicase/u16-casemap'.
29428         * lib/unicase/u16-casemap.c: New file.
29429         * modules/unicase/u16-casemap: New file.
29430
29431         New module 'unicase/u8-casemap'.
29432         * lib/unicase/unicasemap.h: New file.
29433         * lib/unicase/u8-casemap.c: New file.
29434         * lib/unicase/u-casemap.h: New file.
29435         * modules/unicase/u8-casemap: New file.
29436
29437         New module 'unicase/special-casing'.
29438         * lib/unicase/special-casing.h: New file.
29439         * lib/unicase/special-casing.c: New file.
29440         * lib/unicase/special-casing-table.gperf: New file, generated by
29441         gen-uni-tables.c.
29442         * modules/unicase/special-casing: New file.
29443
29444         Tests for module 'unicase/locale-language'.
29445         * modules/unicase/locale-language-tests: New file.
29446         * tests/unicase/test-locale-language.sh: New file.
29447         * tests/unicase/test-locale-language.c: New file.
29448
29449         New module 'unicase/locale-language'.
29450         * lib/unicase/locale-language.c: New file.
29451         * lib/unicase/locale-languages.gperf: New file.
29452         * modules/unicase/locale-language: New file.
29453
29454         Generate more tables for case conversion and case folding.
29455         * lib/gen-uni-tables.c (SCC_*): New enum items.
29456         (struct special_casing_rule): New type.
29457         (casing_rules, num_casing_rules, allocated_casing_rules): New
29458         variables.
29459         (add_casing_rule, fill_casing_rules): New functions.
29460         (struct casefold_rule): New type.
29461         (casefolding_rules, num_casefolding_rules,
29462         allocated_casefolding_rules): New variables.
29463         (fill_casefolding_rules): New function.
29464         (unicode_casefold): New variable.
29465         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
29466         sort_casing_rules, output_casing_rules): New functions.
29467         (main): Accept to more arguments: SpecialCasing.txt and
29468         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
29469         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
29470         Output mapping for casefolding.
29471
29472         * lib/unicase.h: Include stdbool.h, uninorm.h.
29473         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
29474         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
29475         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
29476         arguments.
29477         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
29478         resultp arguments.
29479         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
29480         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
29481         resultp arguments.
29482         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
29483         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
29484         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
29485         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
29486         declarations.
29487         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
29488
29489 2009-03-08  Bruno Haible  <bruno@clisp.org>
29490
29491         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
29492         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
29493         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
29494         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
29495
29496 2009-03-07  Bruno Haible  <bruno@clisp.org>
29497
29498         Adjust u*_normcmp, u*_normcoll API.
29499         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
29500         u16_normcoll, u32_normcoll): Change failure conventions.
29501         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
29502         errno and return -1.
29503         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
29504
29505 2009-03-07  Bruno Haible  <bruno@clisp.org>
29506
29507         Tests for module 'uninorm/u32-normcoll'.
29508         * modules/uninorm/u32-normcoll-tests: New file.
29509         * tests/uninorm/test-u32-normcoll.c: New file.
29510
29511         Tests for module 'uninorm/u16-normcoll'.
29512         * modules/uninorm/u16-normcoll-tests: New file.
29513         * tests/uninorm/test-u16-normcoll.c: New file.
29514
29515         Tests for module 'uninorm/u8-normcoll'.
29516         * modules/uninorm/u8-normcoll-tests: New file.
29517         * tests/uninorm/test-u8-normcoll.c: New file.
29518
29519 2009-03-07  Bruno Haible  <bruno@clisp.org>
29520
29521         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
29522         tests/uninorm/test-u32-normcmp.c.
29523         * tests/uninorm/test-u32-normcmp.c: Include it.
29524         (test_nonascii): New function, extracted from main. Add some more
29525         tests.
29526         (main): Invoke test_ascii and test_nonascii.
29527         * modules/uninorm/u32-normcmp-tests (Files): Add
29528         tests/uninorm/test-u32-normcmp.h.
29529         (Depends-on): Remove uninorm/u32-normcmp.
29530
29531         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
29532         tests/uninorm/test-u16-normcmp.c.
29533         * tests/uninorm/test-u16-normcmp.c: Include it.
29534         (test_nonascii): New function, extracted from main. Add some more
29535         tests.
29536         (main): Invoke test_ascii and test_nonascii.
29537         * modules/uninorm/u16-normcmp-tests (Files): Add
29538         tests/uninorm/test-u16-normcmp.h.
29539         (Depends-on): Remove uninorm/u16-normcmp.
29540
29541         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
29542         tests/uninorm/test-u8-normcmp.c.
29543         * tests/uninorm/test-u8-normcmp.c: Include it.
29544         (test_nonascii): New function, extracted from main. Add some more
29545         tests.
29546         (main): Invoke test_ascii and test_nonascii.
29547         * modules/uninorm/u8-normcmp-tests (Files): Add
29548         tests/uninorm/test-u8-normcmp.h.
29549         (Depends-on): Remove uninorm/u8-normcmp.
29550
29551 2009-03-07  Bruno Haible  <bruno@clisp.org>
29552
29553         New module 'uninorm/u32-normcoll'.
29554         * lib/uninorm/u32-normcoll.c: New file.
29555         * modules/uninorm/u32-normcoll: New file.
29556
29557         New module 'uninorm/u16-normcoll'.
29558         * lib/uninorm/u16-normcoll.c: New file.
29559         * modules/uninorm/u16-normcoll: New file.
29560
29561         New module 'uninorm/u8-normcoll'.
29562         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
29563         declarations.
29564         * lib/uninorm/u8-normcoll.c: New file.
29565         * lib/uninorm/u-normcoll.h: New file.
29566         * modules/uninorm/u8-normcoll: New file.
29567
29568         New module 'uninorm/u32-normxfrm'.
29569         * lib/uninorm/u32-normxfrm.c: New file.
29570         * modules/uninorm/u32-normxfrm: New file.
29571
29572         New module 'uninorm/u16-normxfrm'.
29573         * lib/uninorm/u16-normxfrm.c: New file.
29574         * modules/uninorm/u16-normxfrm: New file.
29575
29576         New module 'uninorm/u8-normxfrm'.
29577         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
29578         declarations.
29579         * lib/uninorm/u8-normxfrm.c: New file.
29580         * lib/uninorm/u-normxfrm.h: New file.
29581         * modules/uninorm/u8-normxfrm: New file.
29582
29583 2009-03-07  Bruno Haible  <bruno@clisp.org>
29584
29585         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
29586         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
29587         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
29588
29589 2009-03-07  Bruno Haible  <bruno@clisp.org>
29590
29591         New module 'memxfrm'.
29592         * lib/memxfrm.h: New file.
29593         * lib/memxfrm.c: New file.
29594         * modules/memxfrm: New file.
29595
29596 2009-03-07  Bruno Haible  <bruno@clisp.org>
29597
29598         New module 'memcmp2'.
29599         * lib/memcmp2.h: New file.
29600         * lib/memcmp2.c: New file.
29601         * modules/memcmp2: New file.
29602
29603 2009-03-07  Bruno Haible  <bruno@clisp.org>
29604
29605         Tests for module 'uninorm/decomposing-form'.
29606         * modules/uninorm/decomposing-form-tests: New file.
29607         * tests/uninorm/test-decomposing-form.c: New file.
29608
29609         New module 'uninorm/decomposing-form'.
29610         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
29611         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
29612         Add 'decomposing_variant' field.
29613         * lib/uninorm/decomposing-form.c: New file.
29614         * lib/uninorm/nfc.c (uninorm_nfc): Update.
29615         * lib/uninorm/nfd.c (uninorm_nfd): Update.
29616         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
29617         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
29618         * modules/uninorm/decomposing-form: New file.
29619         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
29620         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
29621
29622 2009-03-07  Bruno Haible  <bruno@clisp.org>
29623
29624         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
29625         strings.
29626
29627 2009-03-06  Bruno Haible  <bruno@clisp.org>
29628
29629         Tests for module 'uninorm/u32-normcmp'.
29630         * tests/uninorm/test-u32-normcmp.c: New file.
29631         * modules/uninorm/u32-normcmp-tests: New file.
29632
29633         Tests for module 'uninorm/u16-normcmp'.
29634         * tests/uninorm/test-u16-normcmp.c: New file.
29635         * modules/uninorm/u16-normcmp-tests: New file.
29636
29637         Tests for module 'uninorm/u8-normcmp'.
29638         * tests/uninorm/test-u8-normcmp.c: New file.
29639         * modules/uninorm/u8-normcmp-tests: New file.
29640
29641         New module 'uninorm/u32-normcmp'.
29642         * lib/uninorm/u32-normcmp.c: New file.
29643         * modules/uninorm/u32-normcmp: New file.
29644
29645         New module 'uninorm/u16-normcmp'.
29646         * lib/uninorm/u16-normcmp.c: New file.
29647         * modules/uninorm/u16-normcmp: New file.
29648
29649         New module 'uninorm/u8-normcmp'.
29650         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
29651         declarations.
29652         * lib/uninorm/u8-normcmp.c: New file.
29653         * lib/uninorm/u-normcmp.h: New file.
29654         * modules/uninorm/u8-normcmp: New file.
29655
29656 2009-03-06  Bruno Haible  <bruno@clisp.org>
29657
29658         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
29659         Reported by Eric Blake.
29660
29661 2009-03-06  Eric Blake  <ebb9@byu.net>
29662             Bruno Haible  <bruno@clisp.org>
29663
29664         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
29665         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
29666         condition.
29667         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
29668         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
29669         condition.
29670         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
29671
29672 2009-03-06  Eric Blake  <ebb9@byu.net>
29673
29674         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
29675         to avoid compiler warnings.
29676         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
29677
29678 2009-03-05  Bruno Haible  <bruno@clisp.org>
29679
29680         * tests/test-ftell.c (main): Disable test beyond end of file on
29681         FreeMiNT.
29682         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
29683
29684 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
29685
29686         * lib/filevercmp.c: Move hidden files up in ordering.
29687         * tests/test-filevercmp.c: Add tests for hidden files.
29688
29689 2009-03-04  Bruno Haible  <bruno@clisp.org>
29690
29691         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
29692         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
29693         AM_CFLAGS.
29694         Reported by Simon Josefsson.
29695
29696 2009-03-03  Bruno Haible  <bruno@clisp.org>
29697
29698         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
29699         Reported by Simon Josefsson.
29700
29701         * doc/ld-version-script.texi: Update node reference.
29702
29703 2009-03-03  Bruno Haible  <bruno@clisp.org>
29704
29705         * modules/visibility (License): Change to 'unlimited'.
29706         Suggested by Simon Josefsson.
29707
29708 2009-03-03  Jim Meyering  <meyering@redhat.com>
29709
29710         unlinkdir: cannot_unlink_dir may modify process state
29711         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
29712         it's neither thread-safe nor appropriate for use in a library.
29713
29714 2009-03-03  Eric Blake  <ebb9@byu.net>
29715
29716         test-closein: silence test under Darwin
29717         * tests/test-closein.sh: Ignore stderr from cat, since we don't
29718         care if it dies from EPIPE or EBADF.
29719
29720 2009-03-03  Bruno Haible  <bruno@clisp.org>
29721
29722         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
29723         earlier.
29724         * doc/visibility.texi: Fix @node and @section.
29725
29726 2009-03-03  Simon Josefsson  <simon@josefsson.org>
29727
29728         * doc/gnulib.texi: Link to sections for ld version script and
29729         visibility.
29730         * doc/visibility.texi: Add @node and @section.
29731         * modules/ld-version-script: New module.
29732         * m4/ld-version-script.m4: New file.
29733         * doc/ld-version-script.texi: New file.
29734
29735 2009-03-02  David Lutterkort  <lutter@redhat.com>
29736
29737         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
29738         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
29739
29740 2009-03-02  Bruno Haible  <bruno@clisp.org>
29741
29742         * doc/visibility.texi: Mention libtool's -export-symbols option.
29743
29744 2009-03-02  Jim Meyering  <meyering@redhat.com>
29745
29746         announce-gen: new option: --no-print-checksums
29747         * build-aux/announce-gen (usage): Describe it.
29748         (print_checksums): Print a newline here, not in the [*] footnote.
29749         (main): Honor it.
29750
29751 2009-03-01  Bruno Haible  <bruno@clisp.org>
29752
29753         Use socklen_t in the native Windows replacements prototypes.
29754         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
29755         instead of 'int'.
29756         * lib/getsockopt.c (rpl_getsockopt): Likewise.
29757         * lib/setsockopt.c (rpl_setsockopt): Likewise.
29758         * modules/getsockopt (Depends-on): Add socklen.
29759         * modules/setsockopt (Depends-on): Add socklen.
29760
29761 2009-03-01  Bruno Haible  <bruno@clisp.org>
29762
29763         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
29764         least 4.2.
29765
29766 2009-03-01  Eric Blake  <ebb9@byu.net>
29767             Bruno Haible  <bruno@clisp.org>
29768
29769         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
29770         error messages.
29771         * lib/wait-process.c (wait_subprocess): Omit error message about
29772         deadly signal sent to the child of termsigp != NULL.
29773
29774 2009-03-01  Eric Blake  <ebb9@byu.net>
29775
29776         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
29777
29778 2009-03-01  Bruno Haible  <bruno@clisp.org>
29779
29780         Avoid a gcc warning.
29781         * tests/test-sched.c (b): Make global.
29782         Reported by Eric Blake.
29783
29784 2009-01-19  Martin Lambers  <marlam@marlam.de>
29785
29786         Provide POSIX semantics for socket timeout options on W32.
29787         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
29788         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
29789         * modules/setsockopt: Depend on sys_time module for struct timeval.
29790         * modules/getsockopt: Depend on sys_time module for struct timeval.
29791
29792 2009-03-01  Simon Josefsson  <simon@josefsson.org>
29793
29794         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
29795         __USE_GNU, for consistency with netdb.in.h.
29796         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
29797
29798 2009-03-01  Bruno Haible  <bruno@clisp.org>
29799
29800         More support for FreeMiNT.
29801         * lib/fseeko.c (rpl_fseeko): Complete last commit.
29802         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
29803
29804 2009-03-01  Bruno Haible  <bruno@clisp.org>
29805
29806         More support for FreeMiNT.
29807         * lib/fpurge.c (fpurge): Correct last commit.
29808         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
29809
29810 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29811
29812         Fix unportable awk script in vc-list-files.
29813         * build-aux/vc-list-files: In the replacement awk script, use
29814         substr with a second argument of 1, not zero.
29815         Report by Simon Josefsson.
29816
29817 2009-02-28  Bruno Haible  <bruno@clisp.org>
29818
29819         More support for FreeMiNT.
29820         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
29821         to FreeMiNT today.
29822         * lib/fwriting.c (fwriting): Likewise.
29823         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
29824
29825 2009-02-28  Bruno Haible  <bruno@clisp.org>
29826
29827         * tests/test-freadseek.c (main): Disable test beyond end of file on
29828         FreeMiNT.
29829         * tests/test-ftello.c (main): Likewise.
29830         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
29831
29832 2009-02-28  Bruno Haible  <bruno@clisp.org>
29833
29834         Add tentative support for FreeMiNT.
29835         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
29836         * lib/fpurge.c (fpurge): Likewise.
29837         * lib/freadable.c (freadable): Likewise.
29838         * lib/freading.c (freading): Likewise.
29839         * lib/freadptr.c (freadptr): Likewise.
29840         * lib/freadseek.c (freadptrinc): Likewise.
29841         * lib/fseeko.c (rpl_fseeko): Likewise.
29842         * lib/fseterr.c (fseterr): Likewise.
29843         * lib/fwritable.c (fwritable): Likewise.
29844         * lib/fwriting.c (fwriting): Likewise.
29845         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
29846         Hourihane.
29847         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
29848
29849 2009-02-28  Bruno Haible  <bruno@clisp.org>
29850
29851         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
29852         SIGCHLD.
29853         Reported by Jim Meyering.
29854
29855 2009-02-28  Bruno Haible  <bruno@clisp.org>
29856
29857         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
29858         Mention the results of these tests on various platforms.
29859         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
29860         order.
29861         * doc/posix-functions/printf.texi: Likewise.
29862         * doc/posix-functions/snprintf.texi: Likewise.
29863         * doc/posix-functions/sprintf.texi: Likewise.
29864         * doc/posix-functions/vfprintf.texi: Likewise.
29865         * doc/posix-functions/vprintf.texi: Likewise.
29866         * doc/posix-functions/vsnprintf.texi: Likewise.
29867         * doc/posix-functions/vsprintf.texi: Likewise.
29868         * doc/glibc-functions/obstack_printf.texi: Likewise.
29869         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
29870
29871 2009-02-28  Bruno Haible  <bruno@clisp.org>
29872
29873         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
29874         Reported by Loïc Minier <lool@dooz.org>.
29875
29876 2009-02-27  Bruno Haible  <bruno@clisp.org>
29877
29878         * gnulib-tool (func_import): Make the sed expression used to create the
29879         sed script for updating the .gitignore file POSIX compliant.
29880         Reported by Eric Blake.
29881
29882 2009-02-27  Bruno Haible  <bruno@clisp.org>
29883
29884         * gnulib-tool (sed): Don't alias as "sed --posix".
29885         Reported by Eric Blake.
29886
29887 2009-02-27  Bruno Haible  <bruno@clisp.org>
29888
29889         Avoid test link errors.
29890         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
29891         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
29892         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
29893         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
29894         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
29895
29896 2009-02-27  Bruno Haible  <bruno@clisp.org>
29897
29898         Avoid spurious "(cached)" in configure output.
29899         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
29900         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
29901         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
29902         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
29903         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
29904         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
29905         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
29906         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
29907         Reported by Eric Blake.
29908
29909 2009-02-27  Eric Blake  <ebb9@byu.net>
29910
29911         printf: fix regression in previous patch
29912         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
29913
29914 2009-02-27  Bruno Haible  <bruno@clisp.org>
29915
29916         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
29917         value.
29918         * lib/stdint.in.h: Likewise.
29919         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
29920
29921 2009-02-27  Eric Blake  <ebb9@byu.net>
29922
29923         doc: mention more functions added in cygwin 1.7.0
29924         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
29925         addition.
29926         * doc/posix-functions/open_wmemstream.texi: Likewise.
29927         * doc/posix-functions/wcsnlen.texi: Likewise.
29928         * doc/posix-functions/wcsnrtombs.texi: Likewise.
29929         * doc/posix-functions/wcstod.texi: Likewise.
29930         * doc/posix-functions/wcstof.texi: Likewise.
29931         * doc/posix-functions/wcstoimax.texi: Likewise.
29932         * doc/posix-functions/wcstok.texi: Likewise.
29933         * doc/posix-functions/wcstoumax.texi: Likewise.
29934
29935         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
29936         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
29937         * doc/posix-functions/fprintf.texi: Update.
29938         * doc/posix-functions/printf.texi: Update.
29939         * doc/posix-functions/snprintf.texi: Update.
29940         * doc/posix-functions/sprintf.texi: Update.
29941         * doc/posix-functions/vfprintf.texi: Update.
29942         * doc/posix-functions/vprintf.texi: Update.
29943         * doc/posix-functions/vsnprintf.texi: Update.
29944         * doc/posix-functions/vsprintf.texi: Update.
29945         * doc/glibc-functions/obstack_printf.texi: Update.
29946         * doc/glibc-functions/obstack_vprintf.texi: Update.
29947
29948 2009-02-26  Eric Blake  <ebb9@byu.net>
29949
29950         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
29951         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
29952         compilation bug by using runtime conversion.
29953         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
29954         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
29955         * modules/ceill-tests (Files): Use nan.h.
29956         * modules/floorl-tests (Files): Likewise.
29957         * modules/frexpl-tests (Files): Likewise.
29958         * modules/isnanl-tests (Files): Likewise.
29959         * modules/ldexpl-tests (Files): Likewise.
29960         * modules/roundl-tests (Files): Likewise.
29961         * modules/truncl-tests (Files): Likewise.
29962         * tests/test-ceill.c (main): Use a working NaN.
29963         * tests/test-floorl.c (main): Likewise.
29964         * tests/test-frexpl.c (main): Likewise.
29965         * tests/test-isnan.c (test_long_double): Likewise.
29966         * tests/test-isnanl.h (main): Likewise.
29967         * tests/test-ldexpl.h (main): Likewise.
29968         * tests/test-roundl.h (main): Likewise.
29969         * tests/test-truncl.h (main): Likewise.
29970         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
29971
29972 2009-02-26  Eric Blake  <ebb9@byu.net>
29973             Bruno Haible  <bruno@clisp.org>
29974
29975         Work around a *printf bug with %ls on Solaris.
29976         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
29977         precision is specified, sprintf stops converting the wide string
29978         argument when the number of bytes that have been produced by this
29979         conversion equals or exceeds the precision.
29980         * doc/posix-functions/fprintf.texi: Update.
29981         * doc/posix-functions/printf.texi: Update.
29982         * doc/posix-functions/snprintf.texi: Update.
29983         * doc/posix-functions/sprintf.texi: Update.
29984         * doc/posix-functions/vfprintf.texi: Update.
29985         * doc/posix-functions/vprintf.texi: Update.
29986         * doc/posix-functions/vsnprintf.texi: Update.
29987         * doc/posix-functions/vsprintf.texi: Update.
29988         * doc/glibc-functions/obstack_printf.texi: Update.
29989         * doc/glibc-functions/obstack_vprintf.texi: Update.
29990
29991 2009-02-26  Eric Blake  <ebb9@byu.net>
29992
29993         stdlib: favor compiler check of random.h
29994         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
29995         to avoid an ObjC random.h installed by Swarm.
29996
29997 2009-02-26  Bruno Haible  <bruno@clisp.org>
29998
29999         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
30000         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
30001         Reported by Gary V. Vaughan <gary@gnu.org>.
30002
30003 2009-02-26  Bruno Haible  <bruno@clisp.org>
30004
30005         Fix *printf behaviour regarding the %ls directive.
30006         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
30007         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
30008         NEED_PRINTF_DIRECTIVE_LS.
30009         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
30010         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
30011         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
30012         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
30013         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
30014         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
30015         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
30016         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
30017         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
30018         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
30019         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
30020         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
30021         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
30022         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
30023         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
30024         * doc/posix-functions/fprintf.texi: Update.
30025         * doc/posix-functions/printf.texi: Update.
30026         * doc/posix-functions/snprintf.texi: Update.
30027         * doc/posix-functions/sprintf.texi: Update.
30028         * doc/posix-functions/vfprintf.texi: Update.
30029         * doc/posix-functions/vprintf.texi: Update.
30030         * doc/posix-functions/vsnprintf.texi: Update.
30031         * doc/posix-functions/vsprintf.texi: Update.
30032         * doc/glibc-functions/obstack_printf.texi: Update.
30033         * doc/glibc-functions/obstack_vprintf.texi: Update.
30034         Reported by Eric Blake.
30035
30036 2009-02-25  Bruno Haible  <bruno@clisp.org>
30037
30038         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
30039         with known value.
30040         Reported by Gary V. Vaughan <gary@gnu.org>.
30041
30042 2009-02-25  Bruno Haible  <bruno@clisp.org>
30043
30044         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
30045         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
30046         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
30047         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
30048         Reported by Gary V. Vaughan <gary@gnu.org>.
30049
30050 2009-02-25  Bruno Haible  <bruno@clisp.org>
30051
30052         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
30053         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
30054         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
30055         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
30056         Reported by Gary V. Vaughan <gary@gnu.org>.
30057
30058 2009-02-25  Eric Blake  <ebb9@byu.net>
30059
30060         tests: skip fseek/ftell tests if ungetc is broken
30061         * m4/ungetc.m4: New file.
30062         * modules/fseek-tests: Split test, so ungetc dependency is
30063         separate from rest of test.
30064         * modules/fseeko-tests: Likewise.
30065         * modules/ftell-tests: Likewise.
30066         * modules/ftello-tests: Likewise.
30067         * tests/test-fseek.c (main): Isolate ungetc dependency.
30068         * tests/test-fseeko.c (main): Likewise.
30069         * tests/test-ftell.c (main): Likewise.
30070         * tests/test-ftello.c (main): Likewise.
30071         * tests/test-fseek2.sh: New file.
30072         * tests/test-fseeko2.sh: Likewise.
30073         * tests/test-ftell2.sh: Likewise.
30074         * tests/test-ftello2.sh: Likewise.
30075
30076 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
30077
30078         test-getaddrinfo: fix usage of skip return code 77
30079         * tests/test-gettaddrinfo.c: Return skip code 77 only
30080         for first occurance of skip (4x77 is not 77)
30081
30082 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
30083
30084         strtod: avoid C99 decl-after-statement
30085         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
30086
30087 2009-02-24  Eric Blake  <ebb9@byu.net>
30088
30089         strtod: detect HP-UX 11.31 bug
30090         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
30091         Reported by Gary V. Vaughan.
30092
30093 2009-02-23  Bruno Haible  <bruno@clisp.org>
30094
30095         Fix invalid read past end of memory block.
30096         * lib/vasnprintf.c (DCHAR_SET): Define.
30097         (local_wcslen): Define only when needed.
30098         (local_strnlen, local_wcsnlen): New functions.
30099         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
30100         directives that involve a conversion ourselves.
30101         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
30102         wcsnlen, mbrtowc, wcrtomb.
30103         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
30104         * tests/test-vasprintf-posix.c (test_function): Likewise.
30105         * tests/test-snprintf-posix.h (test_function): Likewise.
30106         * tests/test-sprintf-posix.h (test_function): Likewise.
30107         Reported by Ben Pfaff <blp@cs.stanford.edu>.
30108
30109 2009-02-22  Bruno Haible  <bruno@clisp.org>
30110
30111         Implement new clarified decomposition of Hangul syllables.
30112         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
30113         of type LTV, return only a pairwise decomposition.
30114         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
30115         Likewise.
30116         * tests/uninorm/test-decomposition.c (main): Updated expected result.
30117         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
30118         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
30119
30120 2009-02-22  Bruno Haible  <bruno@clisp.org>
30121
30122         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
30123         zero-length results and shrink excess allocated memory.
30124         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
30125         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
30126         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
30127         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
30128         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
30129         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
30130         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
30131         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
30132         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
30133         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
30134         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
30135         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
30136
30137 2009-02-21  Bruno Haible  <bruno@clisp.org>
30138
30139         * doc/gnulib.texi: Include safe-alloc.texi earlier.
30140         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
30141         spaces after a period. Put a space between a macro name and its
30142         argument list. Trivial rewordings.
30143         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
30144         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
30145         (main): Return 0 explicitly.
30146
30147 2009-02-21  Bruno Haible  <bruno@clisp.org>
30148
30149         Tests for module 'uninorm/filter'.
30150         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
30151         * modules/uninorm/filter-tests: New file.
30152
30153         New module 'uninorm/filter'.
30154         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
30155         uninorm_filter_flush, uninorm_filter_free): New declarations.
30156         * lib/uninorm/uninorm-filter.c: New file.
30157         * modules/uninorm/filter: New file.
30158
30159 2009-02-21  Bruno Haible  <bruno@clisp.org>
30160
30161         Tests for module 'uninorm/nfkc'.
30162         * tests/uninorm/test-nfkc.c: New file.
30163         * tests/uninorm/test-u8-nfkc.c: New file.
30164         * tests/uninorm/test-u16-nfkc.c: New file.
30165         * tests/uninorm/test-u32-nfkc.c: New file.
30166         * tests/uninorm/test-u32-nfkc-big.sh: New file.
30167         * tests/uninorm/test-u32-nfkc-big.c: New file.
30168         * modules/uninorm/nfkc-tests: New file.
30169
30170         New module 'uninorm/nfkc'.
30171         * lib/uninorm/nfkc.c: New file.
30172         * modules/uninorm/nfkc: New file.
30173
30174         Tests for module 'uninorm/nfkd'.
30175         * tests/uninorm/test-nfkd.c: New file.
30176         * tests/uninorm/test-u8-nfkd.c: New file.
30177         * tests/uninorm/test-u16-nfkd.c: New file.
30178         * tests/uninorm/test-u32-nfkd.c: New file.
30179         * tests/uninorm/test-u32-nfkd-big.sh: New file.
30180         * tests/uninorm/test-u32-nfkd-big.c: New file.
30181         * modules/uninorm/nfkd-tests: New file.
30182
30183         New module 'uninorm/nfkd'.
30184         * lib/uninorm/nfkd.c: New file.
30185         * modules/uninorm/nfkd: New file.
30186
30187         Tests for module 'uninorm/nfc'.
30188         * tests/uninorm/test-nfc.c: New file.
30189         * tests/uninorm/test-u8-nfc.c: New file.
30190         * tests/uninorm/test-u16-nfc.c: New file.
30191         * tests/uninorm/test-u32-nfc.c: New file.
30192         * tests/uninorm/test-u32-nfc-big.sh: New file.
30193         * tests/uninorm/test-u32-nfc-big.c: New file.
30194         * modules/uninorm/nfc-tests: New file.
30195
30196         New module 'uninorm/nfc'.
30197         * lib/uninorm/nfc.c: New file.
30198         * modules/uninorm/nfc: New file.
30199
30200         Tests for module 'uninorm/nfd'.
30201         * tests/uninorm/test-nfd.c: New file.
30202         * tests/uninorm/test-u8-nfd.c: New file.
30203         * tests/uninorm/test-u16-nfd.c: New file.
30204         * tests/uninorm/test-u32-nfd.c: New file.
30205         * tests/uninorm/test-u32-nfd-big.sh: New file.
30206         * tests/uninorm/test-u32-nfd-big.c: New file.
30207         * tests/uninorm/test-u32-normalize-big.h: New file.
30208         * tests/uninorm/test-u32-normalize-big.c: New file.
30209         * tests/uninorm/NormalizationTest.txt: New file, created from
30210         Unicode 5.1.0 NormalizationTest.txt.
30211         * modules/uninorm/nfd-tests: New file.
30212
30213         New module 'uninorm/nfd'.
30214         * lib/uninorm/nfd.c: New file.
30215         * modules/uninorm/nfd: New file.
30216
30217         New module 'uninorm/u32-normalize'.
30218         * lib/uninorm/u32-normalize.c: New file.
30219         * modules/uninorm/u32-normalize: New file.
30220
30221         New module 'uninorm/u16-normalize'.
30222         * lib/uninorm/u16-normalize.c: New file.
30223         * modules/uninorm/u16-normalize: New file.
30224
30225         New module 'uninorm/u8-normalize'.
30226         * lib/uninorm/u8-normalize.c: New file.
30227         * lib/uninorm/normalize-internal.h: New file.
30228         * lib/uninorm/u-normalize-internal.h: New file.
30229         * modules/uninorm/u8-normalize: New file.
30230
30231         New module 'uninorm/decompose-internal'.
30232         * lib/uninorm/decompose-internal.c: New file.
30233         * modules/uninorm/decompose-internal: New file.
30234
30235         Tests for module 'uninorm/composition'.
30236         * tests/uninorm/test-composition.c: New file.
30237         * modules/uninorm/composition-tests: New file.
30238
30239         New module 'uninorm/composition'.
30240         * lib/uninorm/composition.c: New file.
30241         * lib/uninorm/composition-table.gperf: New file, generated by
30242         gen-uni-tables.
30243         * modules/uninorm/composition: New file.
30244
30245         Tests for module 'uninorm/compat-decomposition'.
30246         * tests/uninorm/test-compat-decomposition.c: New file.
30247         * modules/uninorm/compat-decomposition-tests: New file.
30248
30249         New module 'uninorm/compat-decomposition'.
30250         * lib/uninorm/decompose-internal.h: New file.
30251         * lib/uninorm/compat-decomposition.c: New file.
30252         * modules/uninorm/compat-decomposition: New file.
30253
30254         Tests for module 'uninorm/canonical-decomposition'.
30255         * tests/uninorm/test-canonical-decomposition.c: New file.
30256         * modules/uninorm/canonical-decomposition-tests: New file.
30257
30258         New module 'uninorm/canonical-decomposition'.
30259         * lib/uninorm/canonical-decomposition.c: New file.
30260         * modules/uninorm/canonical-decomposition: New file.
30261
30262         Tests for module 'uninorm/decomposition'.
30263         * tests/uninorm/test-decomposition.c: New file.
30264         * modules/uninorm/decomposition-tests: New file.
30265
30266         New module 'uninorm/decomposition'.
30267         * lib/uninorm/decomposition.c: New file.
30268         * modules/uninorm/decomposition: New file.
30269
30270         New module 'uninorm/decomposition-table'.
30271         * lib/uninorm/decomposition-table.h: New file.
30272         * lib/uninorm/decomposition-table.c: New file.
30273         * lib/uninorm/decomposition-table1.h: New file, generated by
30274         gen-uni-tables.
30275         * lib/uninorm/decomposition-table2.h: New file, generated by
30276         gen-uni-tables.
30277         * modules/uninorm/decomposition-table: New file.
30278
30279         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
30280         (UC_DECOMP_*): New enumeration items.
30281         (get_decomposition): New function.
30282         (struct decomp_table): New type.
30283         (output_decomposition, output_decomposition_tables): New functions.
30284         (unicode_composition_exclusions): New variable.
30285         (fill_composition_exclusions, debug_output_composition_tables): New
30286         functions.
30287         (main): Accept one more argument. Invoke fill_composition_exclusions.
30288         Output decomposition and composition tables.
30289
30290         New module 'uninorm/base'.
30291         * lib/uninorm.h: New file.
30292         * lib/unictype.h: Update comment.
30293         * modules/uninorm/base: New file.
30294
30295 2009-02-21  David Lutterkort  <lutter@redhat.com>
30296
30297         Tests for module 'safe-alloc'.
30298         * tests/test-safe-alloc.c: New file.
30299         * modules/safe-alloc-tests: New file.
30300
30301         New module 'safe-alloc'.
30302         * lib/safe-alloc.h: New file.
30303         * lib/safe-alloc.c: New file.
30304         * m4/safe-alloc.m4: New file.
30305         * modules/safe-alloc: New file.
30306         * doc/safe-alloc.texi: New file.
30307         * doc/gnulib.texi: Include it.
30308         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
30309         safe-alloc.
30310
30311 2009-02-18  Bruno Haible  <bruno@clisp.org>
30312
30313         Fix link error on non-glibc systems.
30314         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
30315         variable.
30316         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30317
30318 2009-02-18  Jim Meyering  <meyering@redhat.com>
30319
30320         fts: avoid used-uninitialized error due to recent change
30321         * lib/fts.c (fts_read): Guard uses of the new member,
30322         parent->fts_n_dirs_remaining, since it's not relevant for
30323         the parent of a directory specified on the command-line.
30324
30325 2009-02-17  James Youngman  <jay@gnu.org>
30326             Bruno Haible  <bruno@clisp.org>
30327
30328         * m4/include_next.m4: Reformulate comment.
30329
30330 2009-02-16  Jim Meyering  <meyering@redhat.com>
30331
30332         fts: add #if guards so that the fts_lgpl module still builds
30333         * lib/fts.c: Guard just-added hash-table-using parts with
30334         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
30335         Reported by Simon Josefsson.
30336
30337 2009-02-15  Bruno Haible  <bruno@clisp.org>
30338
30339         * modules/array-mergesort-tests: New file.
30340         * tests/test-array-mergesort.c: New file.
30341
30342         New module 'array-mergesort'.
30343         * modules/array-mergesort: New file.
30344         * lib/array-mergesort.h: New file.
30345
30346 2009-02-15  Bruno Haible  <bruno@clisp.org>
30347
30348         Fix 2009-02-07 commit.
30349         * lib/gen-uni-tables.c (output_predicate, output_category,
30350         output_combclass, output_bidi_category, output_decimal_digit,
30351         output_digit, output_numeric, output_mirror, output_scripts,
30352         output_ident_category, output_simple_mapping): Fix format directives.
30353         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
30354
30355 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
30356
30357         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
30358         fixes are available from IBM.
30359
30360 2009-02-13  Jim Meyering  <meyering@redhat.com>
30361
30362         fts: arrange not to stat non-directories in more cases
30363         This makes GNU find (when it doesn't need to stat each file)
30364         *much* more efficient at traversing reiserfs file systems.
30365         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
30366         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
30367         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
30368         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
30369         (leaf_optimization_applies): New function.
30370         (LCO_hash, LCO_compare): New helper functions.
30371         (link_count_optimize_ok): New function.
30372         (fts_stat): Initialize new member (if dir).
30373         (fts_read): Decrement parent's fts_n_dirs_remaining count if
30374         we've just stat'ed a directory.  Skip the stat call when possible.
30375         ---
30376         Note this AFS-related exchange:
30377         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
30378         and note find's pioctl call in find/fstype.c.
30379         But that is necessary only if you want to enable the
30380         optimization for AFS, and for now, I don't.
30381
30382         fts: move a function definition "up" (no semantic change)
30383         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
30384         "up" to precede upcoming use of a related function.
30385
30386 2009-02-11  Jim Meyering  <meyering@redhat.com>
30387
30388         fts: correct internal computation of nlinks (optimization-related)
30389         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
30390         whether the current entry is a directory, so don't test it.
30391
30392 2009-02-10  Bruno Haible  <bruno@clisp.org>
30393
30394         Tests for module 'uniwbrk/ulc-wordbreaks'.
30395         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
30396         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
30397         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
30398
30399         Tests for module 'uniwbrk/u32-wordbreaks'.
30400         * modules/uniwbrk/u32-wordbreaks-tests: New file.
30401         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
30402
30403         Tests for module 'uniwbrk/u16-wordbreaks'.
30404         * modules/uniwbrk/u16-wordbreaks-tests: New file.
30405         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
30406
30407         Tests for module 'uniwbrk/u8-wordbreaks'.
30408         * modules/uniwbrk/u8-wordbreaks-tests: New file.
30409         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
30410
30411 2009-02-10  Bruno Haible  <bruno@clisp.org>
30412
30413         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
30414         property.
30415         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
30416         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
30417         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
30418
30419 2009-02-10  Simon Josefsson  <simon@josefsson.org>
30420
30421         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
30422         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
30423
30424 2009-02-10  Bruno Haible  <bruno@clisp.org>
30425
30426         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
30427         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
30428         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
30429         * lib/unilbrk/u8-possible-linebreaks.c: Update.
30430         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
30431         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
30432
30433 2009-02-09  Simon Josefsson  <simon@josefsson.org>
30434
30435         * lib/sockets.h (gl_fd_to_handle): New function.
30436
30437         * tests/test-sockets.c: Call gl_fd_to_handle.
30438
30439 2009-02-09  Bruno Haible  <bruno@clisp.org>
30440
30441         * doc/havelib.texi: Document the conventions on bi-arch systems.
30442
30443 2009-02-08  Bruno Haible  <bruno@clisp.org>
30444
30445         Document the AC_LIB_LINKFLAGS macro.
30446         * doc/havelib.texi: New file, mostly written on 2005-05-24.
30447         * doc/gnulib.texi: Include it.
30448
30449 2009-02-08  Bruno Haible  <bruno@clisp.org>
30450
30451         Fix wrong order of sections, compared to TOC.
30452         * doc/gnulib.texi: Include relocatable-maint.texi after the
30453         "Regular expressions" node, not before.
30454
30455 2009-02-08  Bruno Haible  <bruno@clisp.org>
30456
30457         Tests for module 'unicase/totitle'.
30458         * modules/unicase/totitle-tests: New file.
30459
30460         Tests for module 'unicase/tolower'.
30461         * modules/unicase/tolower-tests: New file.
30462
30463         Tests for module 'unicase/toupper'.
30464         * modules/unicase/toupper-tests: New file.
30465         * tests/unicase/test-mapping-part1.h: New file.
30466         * tests/unicase/test-mapping-part2.h: New file.
30467
30468         New module 'unicase/totitle'.
30469         * modules/unicase/totitle: New file.
30470         * lib/unicase/totitle.c: New file.
30471
30472         New module 'unicase/tolower'.
30473         * modules/unicase/tolower: New file.
30474         * lib/unicase/tolower.c: New file.
30475
30476         New module 'unicase/toupper'.
30477         * modules/unicase/toupper: New file.
30478         * lib/unicase/toupper.c: New file.
30479         * lib/unicase/simple-mapping.h: New file.
30480
30481         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
30482         (mapping_table): New structure.
30483         (output_simple_mapping): New function.
30484         (main): Invoke output_simple_mapping_test and output_simple_mapping.
30485         * modules/gen-uni-tables (Description): Update.
30486         * lib/unicase/toupper.h: New file, automatically generated by
30487         gen-uni-tables.
30488         * lib/unicase/tolower.h: New file, automatically generated by
30489         gen-uni-tables.
30490         * lib/unicase/totitle.h: New file, automatically generated by
30491         gen-uni-tables.
30492         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
30493         gen-uni-tables.
30494         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
30495         gen-uni-tables.
30496         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
30497         gen-uni-tables.
30498
30499         New module 'unicase/base'.
30500         * modules/unicase/base: New file.
30501         * lib/unicase.h: New file.
30502
30503 2009-02-08  Bruno Haible  <bruno@clisp.org>
30504
30505         New module 'uniwbrk/ulc-wordbreaks'.
30506         * modules/uniwbrk/ulc-wordbreaks: New file.
30507         * lib/uniwbrk/ulc-wordbreaks.c: New file.
30508
30509         New module 'uniwbrk/u32-wordbreaks'.
30510         * modules/uniwbrk/u32-wordbreaks: New file.
30511         * lib/uniwbrk/u32-wordbreaks.c: New file.
30512
30513         New module 'uniwbrk/u16-wordbreaks'.
30514         * modules/uniwbrk/u16-wordbreaks: New file.
30515         * lib/uniwbrk/u16-wordbreaks.c: New file.
30516
30517         New module 'uniwbrk/u8-wordbreaks'.
30518         * modules/uniwbrk/u8-wordbreaks: New file.
30519         * lib/uniwbrk/u8-wordbreaks.c: New file.
30520         * lib/uniwbrk/u-wordbreaks.h: New file.
30521
30522         New module 'uniwbrk/table'.
30523         * modules/uniwbrk/table: New file.
30524         * lib/uniwbrk/wbrktable.h: New file.
30525         * lib/uniwbrk/wbrktable.c: New file.
30526
30527         New module 'uniwbrk/wordbreak-property'.
30528         * modules/uniwbrk/wordbreak-property: New file.
30529         * lib/uniwbrk/wordbreak-property.c: New file.
30530
30531         * lib/gen-uni-tables.c (WBP_*): New enum items.
30532         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
30533         (unicode_org_wbp): New variable.
30534         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
30535         New functions.
30536         (wbp_table): New structure.
30537         (output_wbp, output_wbrk_tables): New functions.
30538         (main): Accept additional argument. Invoke fill_org_wbp,
30539         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
30540         output_wbrk_tables.
30541         * modules/gen-uni-tables (Description): Update.
30542         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
30543         gen-uni-tables.
30544
30545         New module 'uniwbrk/base'.
30546         * modules/uniwbrk/base: New file.
30547         * lib/uniwbrk.h: New file.
30548
30549 2009-02-08  Bruno Haible  <bruno@clisp.org>
30550
30551         Update to Unicode 5.1.0.
30552         * lib/gen-uni-tables.c (is_property_alphabetic): Include
30553         U+2185..U+2188.
30554         (is_property_default_ignorable_code_point): Don't include characters
30555         of category Cc or Cs and not-a-characters.
30556         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
30557         U+0D79, U+109E, U+109F, U+A60C.
30558         * lib/unictype/bidi_of.h: Regenerated.
30559         * lib/unictype/blocks.h: Regenerated.
30560         * lib/unictype/categ_C.h: Regenerated.
30561         * lib/unictype/categ_Cf.h: Regenerated.
30562         * lib/unictype/categ_Cn.h: Regenerated.
30563         * lib/unictype/categ_L.h: Regenerated.
30564         * lib/unictype/categ_Ll.h: Regenerated.
30565         * lib/unictype/categ_Lm.h: Regenerated.
30566         * lib/unictype/categ_Lo.h: Regenerated.
30567         * lib/unictype/categ_Lu.h: Regenerated.
30568         * lib/unictype/categ_M.h: Regenerated.
30569         * lib/unictype/categ_Mc.h: Regenerated.
30570         * lib/unictype/categ_Me.h: Regenerated.
30571         * lib/unictype/categ_Mn.h: Regenerated.
30572         * lib/unictype/categ_N.h: Regenerated.
30573         * lib/unictype/categ_Nd.h: Regenerated.
30574         * lib/unictype/categ_Nl.h: Regenerated.
30575         * lib/unictype/categ_No.h: Regenerated.
30576         * lib/unictype/categ_P.h: Regenerated.
30577         * lib/unictype/categ_Pd.h: Regenerated.
30578         * lib/unictype/categ_Pe.h: Regenerated.
30579         * lib/unictype/categ_Pf.h: Regenerated.
30580         * lib/unictype/categ_Pi.h: Regenerated.
30581         * lib/unictype/categ_Po.h: Regenerated.
30582         * lib/unictype/categ_Ps.h: Regenerated.
30583         * lib/unictype/categ_S.h: Regenerated.
30584         * lib/unictype/categ_Sk.h: Regenerated.
30585         * lib/unictype/categ_Sm.h: Regenerated.
30586         * lib/unictype/categ_So.h: Regenerated.
30587         * lib/unictype/categ_of.h: Regenerated.
30588         * lib/unictype/combining.h: Regenerated.
30589         * lib/unictype/ctype_alnum.h: Regenerated.
30590         * lib/unictype/ctype_alpha.h: Regenerated.
30591         * lib/unictype/ctype_graph.h: Regenerated.
30592         * lib/unictype/ctype_lower.h: Regenerated.
30593         * lib/unictype/ctype_print.h: Regenerated.
30594         * lib/unictype/ctype_punct.h: Regenerated.
30595         * lib/unictype/ctype_upper.h: Regenerated.
30596         * lib/unictype/decdigit.h: Regenerated.
30597         * lib/unictype/digit.h: Regenerated.
30598         * lib/unictype/mirror.h: Regenerated.
30599         * lib/unictype/numeric.h: Regenerated.
30600         * lib/unictype/pr_alphabetic.h: Regenerated.
30601         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
30602         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
30603         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
30604         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
30605         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
30606         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
30607         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
30608         * lib/unictype/pr_combining.h: Regenerated.
30609         * lib/unictype/pr_dash.h: Regenerated.
30610         * lib/unictype/pr_decimal_digit.h: Regenerated.
30611         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
30612         * lib/unictype/pr_deprecated.h: Regenerated.
30613         * lib/unictype/pr_diacritic.h: Regenerated.
30614         * lib/unictype/pr_extender.h: Regenerated.
30615         * lib/unictype/pr_format_control.h: Regenerated.
30616         * lib/unictype/pr_grapheme_base.h: Regenerated.
30617         * lib/unictype/pr_grapheme_extend.h: Regenerated.
30618         * lib/unictype/pr_grapheme_link.h: Regenerated.
30619         * lib/unictype/pr_id_continue.h: Regenerated.
30620         * lib/unictype/pr_id_start.h: Regenerated.
30621         * lib/unictype/pr_ideographic.h: Regenerated.
30622         * lib/unictype/pr_ignorable_control.h: Regenerated.
30623         * lib/unictype/pr_lowercase.h: Regenerated.
30624         * lib/unictype/pr_math.h: Regenerated.
30625         * lib/unictype/pr_numeric.h: Regenerated.
30626         * lib/unictype/pr_other_alphabetic.h: Regenerated.
30627         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
30628         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
30629         * lib/unictype/pr_other_id_continue.h: Regenerated.
30630         * lib/unictype/pr_other_lowercase.h: Regenerated.
30631         * lib/unictype/pr_other_math.h: Regenerated.
30632         * lib/unictype/pr_punctuation.h: Regenerated.
30633         * lib/unictype/pr_sentence_terminal.h: Regenerated.
30634         * lib/unictype/pr_soft_dotted.h: Regenerated.
30635         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
30636         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
30637         * lib/unictype/pr_unified_ideograph.h: Regenerated.
30638         * lib/unictype/pr_uppercase.h: Regenerated.
30639         * lib/unictype/pr_xid_continue.h: Regenerated.
30640         * lib/unictype/pr_xid_start.h: Regenerated.
30641         * lib/unictype/pr_zero_width.h: Regenerated.
30642         * lib/unictype/scripts.h: Regenerated.
30643         * lib/unictype/scripts_byname.gperf: Regenerated.
30644         * lib/unictype/sy_java_ident.h: Regenerated.
30645         * lib/unilbrk/lbrkprop1.h: Regenerated.
30646         * lib/unilbrk/lbrkprop2.h: Regenerated.
30647         * tests/unictype/test-categ_C.c: Regenerated.
30648         * tests/unictype/test-categ_Cf.c: Regenerated.
30649         * tests/unictype/test-categ_Cn.c: Regenerated.
30650         * tests/unictype/test-categ_L.c: Regenerated.
30651         * tests/unictype/test-categ_Ll.c: Regenerated.
30652         * tests/unictype/test-categ_Lm.c: Regenerated.
30653         * tests/unictype/test-categ_Lo.c: Regenerated.
30654         * tests/unictype/test-categ_Lu.c: Regenerated.
30655         * tests/unictype/test-categ_M.c: Regenerated.
30656         * tests/unictype/test-categ_Mc.c: Regenerated.
30657         * tests/unictype/test-categ_Me.c: Regenerated.
30658         * tests/unictype/test-categ_Mn.c: Regenerated.
30659         * tests/unictype/test-categ_N.c: Regenerated.
30660         * tests/unictype/test-categ_Nd.c: Regenerated.
30661         * tests/unictype/test-categ_Nl.c: Regenerated.
30662         * tests/unictype/test-categ_No.c: Regenerated.
30663         * tests/unictype/test-categ_P.c: Regenerated.
30664         * tests/unictype/test-categ_Pd.c: Regenerated.
30665         * tests/unictype/test-categ_Pe.c: Regenerated.
30666         * tests/unictype/test-categ_Pf.c: Regenerated.
30667         * tests/unictype/test-categ_Pi.c: Regenerated.
30668         * tests/unictype/test-categ_Po.c: Regenerated.
30669         * tests/unictype/test-categ_Ps.c: Regenerated.
30670         * tests/unictype/test-categ_S.c: Regenerated.
30671         * tests/unictype/test-categ_Sk.c: Regenerated.
30672         * tests/unictype/test-categ_Sm.c: Regenerated.
30673         * tests/unictype/test-categ_So.c: Regenerated.
30674         * tests/unictype/test-ctype_alnum.c: Regenerated.
30675         * tests/unictype/test-ctype_alpha.c: Regenerated.
30676         * tests/unictype/test-ctype_graph.c: Regenerated.
30677         * tests/unictype/test-ctype_lower.c: Regenerated.
30678         * tests/unictype/test-ctype_print.c: Regenerated.
30679         * tests/unictype/test-ctype_punct.c: Regenerated.
30680         * tests/unictype/test-ctype_upper.c: Regenerated.
30681         * tests/unictype/test-decdigit.h: Regenerated.
30682         * tests/unictype/test-digit.h: Regenerated.
30683         * tests/unictype/test-numeric.h: Regenerated.
30684         * tests/unictype/test-pr_alphabetic.c: Regenerated.
30685         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
30686         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
30687         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
30688         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
30689         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
30690         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
30691         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
30692         * tests/unictype/test-pr_combining.c: Regenerated.
30693         * tests/unictype/test-pr_dash.c: Regenerated.
30694         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
30695         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
30696         * tests/unictype/test-pr_deprecated.c: Regenerated.
30697         * tests/unictype/test-pr_diacritic.c: Regenerated.
30698         * tests/unictype/test-pr_extender.c: Regenerated.
30699         * tests/unictype/test-pr_format_control.c: Regenerated.
30700         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
30701         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
30702         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
30703         * tests/unictype/test-pr_id_continue.c: Regenerated.
30704         * tests/unictype/test-pr_id_start.c: Regenerated.
30705         * tests/unictype/test-pr_ideographic.c: Regenerated.
30706         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
30707         * tests/unictype/test-pr_lowercase.c: Regenerated.
30708         * tests/unictype/test-pr_math.c: Regenerated.
30709         * tests/unictype/test-pr_numeric.c: Regenerated.
30710         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
30711         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
30712         Regenerated.
30713         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
30714         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
30715         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
30716         * tests/unictype/test-pr_other_math.c: Regenerated.
30717         * tests/unictype/test-pr_punctuation.c: Regenerated.
30718         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
30719         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
30720         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
30721         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
30722         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
30723         * tests/unictype/test-pr_uppercase.c: Regenerated.
30724         * tests/unictype/test-pr_xid_continue.c: Regenerated.
30725         * tests/unictype/test-pr_xid_start.c: Regenerated.
30726         * tests/unictype/test-pr_zero_width.c: Regenerated.
30727
30728         Update to Unicode 5.1.0.
30729         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
30730         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
30731         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
30732         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
30733         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
30734         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
30735         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
30736         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
30737         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
30738         (nonspacing_table_ind): Update.
30739         * tests/uniwidth/test-uc_width2.sh: Update expected result.
30740
30741         Update to Unicode 5.1.0.
30742         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
30743         code transform.
30744         * lib/uniname/uniname.c (unicode_character_name,
30745         unicode_name_character): Add the range 0x1Fxxx to the code transform.
30746         * lib/uniname/uninames.h: Regenerated.
30747         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
30748
30749 2009-02-07  Bruno Haible  <bruno@clisp.org>
30750
30751         Merge gen-ctype and gen-lbrk into a single program.
30752         * lib/gen-uni-tables.c: New file, incorporating
30753         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
30754         Add directory prefixes to the names of the generated files.
30755         * lib/unictype/gen-ctype.c: Remove file.
30756         * lib/unilbrk/gen-lbrk.c: Remove file.
30757         * modules/gen-uni-tables: New file.
30758         * modules/unictype/gen-ctype: Remove file.
30759         * modules/unilbrk/gen-lbrk: Remove file.
30760
30761 2009-02-07  Bruno Haible  <bruno@clisp.org>
30762
30763         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
30764
30765         New module 'unistr/u32-strcoll'.
30766         * modules/unistr/u32-strcoll: New file.
30767         * lib/unistr/u32-strcoll.c: New file.
30768
30769         New module 'unistr/u16-strcoll'.
30770         * modules/unistr/u16-strcoll: New file.
30771         * lib/unistr/u16-strcoll.c: New file.
30772
30773         New module 'unistr/u8-strcoll'.
30774         * modules/unistr/u8-strcoll: New file.
30775         * lib/unistr/u8-strcoll.c: New file.
30776         * lib/unistr/u-strcoll.h: New file.
30777
30778 2009-02-07  Bruno Haible  <bruno@clisp.org>
30779
30780         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
30781         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
30782         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
30783         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
30784         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
30785         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
30786
30787 2009-02-07  Bruno Haible  <bruno@clisp.org>
30788
30789         Make 64-bit clean.
30790         * lib/unictype/gen-ctype.c (output_predicate, output_category,
30791         output_combclass, output_bidi_category, output_decimal_digit,
30792         output_digit, output_numeric, output_mirror, output_scripts,
30793         output_ident_category): Use proper width specifier in format strings.
30794
30795 2009-02-07  Bruno Haible  <bruno@clisp.org>
30796
30797         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
30798         failure behaviour.
30799
30800 2009-02-07  Jim Meyering  <meyering@redhat.com>
30801
30802         regex: avoid compilation failure with upcoming gcc-4.4
30803         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
30804         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
30805         "... error: integer overflow in preprocessor expression".
30806
30807 2009-02-05  Ben Pfaff  <blp@gnu.org>
30808
30809         Fix link errors on Windows when close module is used.
30810         * modules/close: Add $(LIB_CLOSE) to Link section.
30811         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
30812         $(LIB_CLOSE) on Windows.
30813
30814 2009-02-05  Jim Meyering  <meyering@redhat.com>
30815
30816         still avoid unused-parameter warnings, but do it cleanly
30817         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
30818         (get_fs_usage): Cast to void instead.
30819         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
30820         (dev_from_mount_options, read_file_system_list): Cast to void.
30821         Prompted by Bruno Haible.
30822
30823 2009-02-04  Jim Meyering  <meyering@redhat.com>
30824
30825         fsusage.c: correct copyright year
30826         * lib/fsusage.c: Reflect year in which the change is pushed into
30827
30828         avoid misc. warnings
30829         * lib/fsusage.c (UNUSED_PARAM): Define.
30830         (get_fs_usage): Mark parameter "disk" as unused.
30831         * lib/getugroups.c (getgrent): Use "void" in prototype.
30832         * lib/mountlist.c: Mark unused parameters.
30833         (read_file_system_list): Declare a local with "const".
30834         * lib/nanosleep.c (getnow): Declare static.
30835         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
30836
30837         dirfd: set errno upon failure
30838         * lib/dirfd.c: Include <errno.h>.
30839         Set errno to ENOTSUP when returning -1.
30840         * modules/dirfd (Depends-on): Add errno.
30841         Suggested by John Kodis <kodis@comcast.net>.
30842
30843 2009-02-01  Bruno Haible  <bruno@clisp.org>
30844
30845         Don't assume sizeof (long) >= sizeof (void *).
30846         * lib/memcmp.c: Include stdint.h.
30847         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
30848         srcp2 to 'const byte *'.
30849         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
30850         types to uintptr_t.
30851         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
30852         * modules/memcmp (Depends-on): Add stdint.
30853         Reported by Ozkan Sezer <sezeroz@gmail.com>.
30854
30855 2009-01-30  Eric Blake  <ebb9@byu.net>
30856
30857         fix more require-before-expand issues
30858         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
30859         expand, AC_PROG_AWK.
30860         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
30861
30862 2009-01-28  Eric Blake  <ebb9@byu.net>
30863
30864         version-etc: use consistent URL formatting
30865         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
30866         Improve formatting.  Use fputs for string without %.
30867
30868 2009-01-28  Jim Meyering  <meyering@redhat.com>
30869
30870         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
30871         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
30872         "underquoted definition of NAME" from autoconf-2.59.
30873
30874 2009-01-28  Bruno Haible  <bruno@clisp.org>
30875
30876         * doc/gnulib.texi: Add "Obsolete modules" to index.
30877
30878 2009-01-28  Jim Meyering  <meyering@redhat.com>
30879
30880         useless-if-before-free: recognize more variants
30881         * build-aux/useless-if-before-free: Also recognize e.g.,
30882         if (NULL != p) free (p);
30883
30884 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
30885
30886         test-getaddrinfo: skip (don't fail) this test when there's no network
30887         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
30888         on the presumption that it means you lack network access.
30889
30890 2009-01-26  Jim Meyering  <meyering@redhat.com>
30891
30892         fflush: avoid warnings on modern systems
30893         * lib/fflush.c (rpl_fflush): Move declarations of locals,
30894         pos and result, into scopes where they're used.
30895
30896 2009-01-26  Eric Blake  <ebb9@byu.net>
30897
30898         Silence warning reintroduced by recent extensions patch.
30899         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
30900         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
30901         autoconf.
30902
30903         Backport improved autoconf semantics of AC_DEFUN_ONCE.
30904         * m4/00gnulib.m4: New file.
30905         * gnulib-tool (func_get_filelist): Always use it.
30906         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
30907         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
30908
30909 2009-01-25  Bruno Haible  <bruno@clisp.org>
30910
30911         Make test-quotearg work on MacOS X and AIX.
30912         * tests/test-quotearg.sh: New file.
30913         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
30914         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
30915         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
30916         include <libintl.h>.
30917         (fake_locale): Remove variable.
30918         (gettext, dgettext, dcgettext): Remove functions.
30919         (main): Instead of setting a fake locale, set a real locale. Call
30920         textdomain and bindtextdomain.
30921         * modules/quotearg-tests (Files): Add the new files.
30922         (Depends-on): Add gettext, setenv, unsetenv.
30923         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
30924         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
30925         Augment TESTS_ENVIRONMENT.
30926
30927 2009-01-25  Bruno Haible  <bruno@clisp.org>
30928
30929         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
30930         fr_FR.ISO8859-1 locale on MacOS X.
30931         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
30932         ja_JP.eucJP locale on MacOS X.
30933         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
30934         zh_CN.GB18030 locale on MacOS X.
30935
30936 2009-01-25  Bruno Haible  <bruno@clisp.org>
30937
30938         Avoid link errors on MacOS X 10.3.
30939         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
30940         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
30941
30942 2009-01-25  Bruno Haible  <bruno@clisp.org>
30943
30944         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
30945         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
30946         * modules/pipe (Files): Remove m4/posix_spawn.m4.
30947         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
30948         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
30949         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
30950         posix_spawnattr_init, posix_spawnattr_setsigmask,
30951         posix_spawnattr_setflags, posix_spawnattr_destroy.
30952
30953         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
30954         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
30955         * modules/execute (Files): Remove m4/posix_spawn.m4.
30956         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
30957         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
30958         posix_spawnattr_init, posix_spawnattr_setsigmask,
30959         posix_spawnattr_setflags, posix_spawnattr_destroy.
30960
30961 2009-01-25  Bruno Haible  <bruno@clisp.org>
30962
30963         * lib/glthread/threadlib.c: Include <stdlib.h>.
30964
30965 2009-01-25  Bruno Haible  <bruno@clisp.org>
30966
30967         * lib/glthread/threadlib.c (dummy): New declaration.
30968
30969 2009-01-25  Bruno Haible  <bruno@clisp.org>
30970
30971         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
30972         multibyte characters also for the GB18030 encoding. Don't crash when
30973         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
30974
30975 2009-01-25  Bruno Haible  <bruno@clisp.org>
30976
30977         Avoid redefining 'struct random_data' on OSF/1 5.1.
30978         * lib/stdlib.in.h: Include <random.h> if it exists.
30979         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
30980         HAVE_RANDOM_H. Include <random.h> when testing whether
30981         'struct random_data' exists.
30982         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
30983
30984 2009-01-25  Bruno Haible  <bruno@clisp.org>
30985
30986         Don't install charset.alias on MacOS X >= 10.3.
30987         * lib/localcharset.c (DARWIN7): New macro.
30988         (get_charset_aliases): Hardcode the result for Darwin7.
30989         * modules/localcharset (install-exec-local): Don't install
30990         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
30991
30992 2009-01-25  Bruno Haible  <bruno@clisp.org>
30993
30994         Don't install charset.alias on mingw and Cygwin.
30995         * modules/localcharset (install-exec-local): Don't install
30996         charset.alias on mingw and Cygwin, if the file does not yet exist.
30997         The result for these platforms is hardcoded in localcharset.c.
30998
30999 2009-01-25  Bruno Haible  <bruno@clisp.org>
31000
31001         Make it possible again to use AC_GNU_SOURCE together with gnulib.
31002         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
31003         before requiring AC_USE_SYSTEM_EXTENSIONS.
31004
31005 2009-01-25  Jim Meyering  <meyering@redhat.com>
31006
31007         c-strtod: avoid warnings
31008         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
31009         "assignment discards qualifiers from pointer target type" warnings.
31010
31011 2009-01-24  Bruno Haible  <bruno@clisp.org>
31012
31013         Add support for non-UTF-8 locales on MacOS X.
31014         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
31015         canonical encodings. For Darwin 7 and newer, don't map traditional
31016         encodings to UTF-8.
31017         Reported by Vincent Lefevre <vincent@vinc17.org>
31018         at <http://savannah.gnu.org/bugs/?25235>.
31019
31020 2009-01-24  Bruno Haible  <bruno@clisp.org>
31021
31022         * doc/gnulib.texi (Obsolete modules): New section.
31023         Reported by Mike Frysinger <vapier@gentoo.org>.
31024
31025 2009-01-24  Bruno Haible  <bruno@clisp.org>
31026
31027         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
31028         (%.dvi): New rule.
31029
31030 2009-01-24  Bruno Haible  <bruno@clisp.org>
31031
31032         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
31033         Reported by Eric Blake.
31034
31035 2009-01-24  Bruno Haible  <bruno@clisp.org>
31036
31037         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
31038         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
31039         Reported by Gary V. Vaughan <gary@gnu.org>.
31040
31041 2009-01-24  Bruno Haible  <bruno@clisp.org>
31042
31043         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
31044
31045 2009-01-23  Bruno Haible  <bruno@clisp.org>
31046
31047         Make c-strtod, c-strtold usable in libraries.
31048         * lib/c-strtod.c: Include string.h instead of xalloc.h.
31049         (C_STRTOD): Call strdup instead of xstrdup.
31050         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
31051         * modules/c-strtold (Depends-on): Likewise.
31052         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
31053         * NEWS: Mention the change.
31054         Reported by Michael Gold <mgold@ncf.ca>.
31055
31056 2009-01-23  Jim Meyering  <meyering@redhat.com>
31057
31058         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
31059         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
31060         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
31061
31062 2009-01-23  Simon Josefsson  <simon@josefsson.org>
31063
31064         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
31065         GNU CoreUtils.
31066         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
31067         * modules/version-etc (Description): Update.
31068
31069 2009-01-22  Bruno Haible  <bruno@clisp.org>
31070
31071         Cache the C locale object.
31072         * lib/c-strtod.c (c_locale_cache): New variable.
31073         (c_locale): New function.
31074         (C_STRTOD): Use it, and don't call freelocale.
31075         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
31076         Suggested by Paolo Bonzini.
31077
31078 2009-01-21  Bruno Haible  <bruno@clisp.org>
31079
31080         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
31081         conditions other than overflow.
31082
31083 2009-01-21  Bruno Haible  <bruno@clisp.org>
31084
31085         * lib/c-strtod.c: Include errno.h.
31086         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
31087         value from STRTOD_L and STRTOD.
31088
31089 2009-01-21  Bruno Haible  <bruno@clisp.org>
31090         and Jim Meyering  <meyering@redhat.com>
31091
31092         nanosleep: skip configure test (fail it) for apple universal builds
31093         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
31094         universal builds, assume that nanosleep does not work.
31095         * modules/nanosleep (Depends-on): Add multiarch.
31096
31097         mktime: skip configure test (fail it) for apple universal builds
31098         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
31099         universal builds, assume that mktime does not work.
31100         * modules/mktime (Depends-on): Add multiarch.
31101
31102 2009-01-21  Eric Blake  <ebb9@byu.net>
31103
31104         multiarch: avoid expand-before-require warning
31105         * modules/multiarch (configure.ac): Require, rather than expand,
31106         gl_MULTIARCH.
31107         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
31108         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
31109         enforce that all clients require it.  Partial reversion of
31110         2008-12-29 patch.
31111
31112         error: avoid expand-before-require warning
31113         * modules/errno (configure.ac): Require, rather than expand,
31114         gl_HEADER_ERRNO_H.
31115         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
31116         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
31117         enforce that all clients require it.
31118
31119         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
31120         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
31121         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
31122         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
31123
31124 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
31125
31126         Revert:
31127         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
31128
31129         regex: do not depend on obsolete modules.
31130         * modules/regex: Remove memcmp and memmove.
31131
31132 2009-01-20  Bruno Haible  <bruno@clisp.org>
31133
31134         Make the 'link' module link on Windows NT 4.
31135         * lib/link.c (_WIN32_WINNT): Don't define.
31136         (CreateHardLinkFuncType): New type.
31137         (CreateHardLinkFunc, initialized): New variables.
31138         (initialize): New function.
31139         (link): Invoke CreateHardLink indirectly through the function pointer.
31140
31141 2009-01-20  Bruno Haible  <bruno@clisp.org>
31142
31143         Fix compilation failure on mingw.
31144         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
31145
31146 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
31147
31148         * doc/c-strtod.texi: Mention a couple of restrictions.
31149
31150 2009-01-20  Jim Meyering  <meyering@redhat.com>
31151
31152         gettimeofday: move more declarations out of functions
31153         * lib/gettimeofday.c: Move extern declarations of tzset and
31154         gmtime out of containing functions.  Prompted by Bruno Haible.
31155
31156 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
31157
31158         regex: do not depend on obsolete modules.
31159         * modules/regex: Remove memcmp and memmove.
31160
31161 2009-01-19  Bruno Haible  <bruno@clisp.org>
31162
31163         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
31164         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
31165         gl_BIGENDIAN, not AC_C_BIGENDIAN.
31166         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
31167         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
31168
31169 2009-01-19  Bruno Haible  <bruno@clisp.org>
31170
31171         * tests/test-link.c: Include <errno.h>.
31172         (main): Exit with code 77 when a hard link cannot be created due to
31173         the file system.
31174         * tests/test-link.sh: Skip test when a hard link cannot be created due
31175         to the file system.
31176         Suggested by Eric Blake.
31177
31178 2009-01-19  Martin Lambers  <marlam@marlam.de>
31179
31180         * modules/link-tests: New file.
31181         * tests/test-link.sh: New file.
31182         * tests/test-link.c: New file.
31183
31184 2009-01-19  Eric Blake  <ebb9@byu.net>
31185
31186         doc: mention another function added in cygwin 1.7.0
31187         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
31188         Another new function in cygwin 1.7.
31189
31190 2009-01-19  Bruno Haible  <bruno@clisp.org>
31191
31192         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
31193         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
31194         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
31195         gl_BIGENDIAN, not AC_C_BIGENDIAN.
31196         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
31197         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
31198         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
31199         * m4/md4.m4 (gl_MD4): Likewise.
31200         * m4/md5.m4 (gl_MD5): Likewise.
31201         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
31202         * m4/sha1.m4 (gl_SHA1): Likewise.
31203         * m4/sha256.m4 (gl_SHA256): Likewise.
31204         * m4/sha512.m4 (gl_SHA512): Likewise.
31205
31206 2009-01-19  Bruno Haible  <bruno@clisp.org>
31207
31208         * modules/uniname/uniname-tests (Depends-on): Add progname.
31209         * tests/uniname/test-uninames.c: Include progname.h.
31210         (main): Call set_program_name.
31211
31212         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
31213         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
31214         (main): Call set_program_name.
31215
31216         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
31217         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
31218         (main): Call set_program_name.
31219
31220         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
31221         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
31222         (main): Call set_program_name.
31223
31224         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
31225         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
31226         (main): Call set_program_name.
31227
31228         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
31229         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
31230         (main): Call set_program_name.
31231
31232         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
31233         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
31234         (main): Call set_program_name.
31235
31236         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
31237         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
31238         (main): Call set_program_name.
31239
31240         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
31241         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
31242         (main): Call set_program_name.
31243
31244 2009-01-19  Eric Blake  <ebb9@byu.net>
31245
31246         test-unistd: test previous patch
31247         * tests/test-unistd.c: Test *_FILENO macros.
31248
31249         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
31250         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
31251         Guarantee a definition.
31252         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
31253         * modules/unistd-safer (Depends-on): Add dependency on unistd.
31254         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
31255         * lib/dup-safer.c (STDERR_FILENO): Likewise.
31256         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
31257         Likewise.
31258         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
31259         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
31260         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
31261         Likewise.
31262         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
31263         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
31264         (STDERR_FILENO): Likewise.
31265         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
31266         (STDERR_FILENO): Likewise.
31267         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
31268         (STDERR_FILENO): Likewise.
31269         Reported by Elbert Pol.
31270
31271 2009-01-19  Eric Blake  <ebb9@byu.net>
31272
31273         doc: mention more functions added in cygwin 1.7.0
31274         * doc/posix-functions/abort.texi (abort): Update wording related
31275         to cygwin.
31276         * doc/posix-functions/daylight.texi (daylight): Likewise.
31277         * doc/posix-functions/optarg.texi (optarg): Likewise.
31278         * doc/posix-functions/optarg.texi (opterr): Likewise.
31279         * doc/posix-functions/optarg.texi (optind): Likewise.
31280         * doc/posix-functions/optarg.texi (optopt): Likewise.
31281         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
31282         worked in 1.5.x, and was withdrawn in 1.7.
31283         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
31284         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
31285         cygwin versions.
31286         * doc/posix-functions/perror.texi (perror): Likewise.
31287         * doc/posix-functions/printf.texi (printf): Likewise.
31288         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
31289         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
31290         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
31291         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
31292         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
31293         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
31294         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
31295         Likewise.
31296         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
31297         Likewise.
31298         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
31299         this function.
31300         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
31301         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
31302         Likewise.
31303         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
31304         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
31305         * doc/posix-functions/confstr.texi (confstr): Likewise.
31306         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
31307         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
31308         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
31309         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
31310         * doc/posix-functions/fputws.texi (fputws): Likewise.
31311         * doc/posix-functions/fwide.texi (fwide): Likewise.
31312         * doc/posix-functions/getwc.texi (getwc): Likewise.
31313         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
31314         * doc/posix-functions/putwc.texi (putwc): Likewise.
31315         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
31316         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
31317         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
31318         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
31319         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
31320         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
31321         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
31322         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
31323         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
31324         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
31325         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
31326
31327 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
31328
31329         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
31330         * lib/ioctl.c: Include <sys/ioctl.h>.
31331
31332 2009-01-19  Simon Josefsson  <simon@josefsson.org>
31333
31334         * modules/getdate-tests (Depends-on): Add progname.
31335         * tests/test-getdate.c: Use progname module, to avoid link errors
31336         on non-glibc systems.
31337
31338 2009-01-18  Simon Josefsson  <simon@josefsson.org>
31339
31340         * modules/filenamecat-tests (Depends-on): Add progname.
31341         * modules/fstrcmp-tests (Depends-on): Likewise.
31342
31343         * tests/test-filenamecat.c: Use progname module, to avoid link
31344         errors on non-glibc systems.
31345         * tests/test-fstrcmp.c: Likewise.
31346
31347 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
31348
31349         gettimeofday: avoid warning: nested extern declaration of 'localtime'
31350         * lib/gettimeofday.c: Move extern declaration out of function.
31351
31352 2009-01-18  Bruno Haible  <bruno@clisp.org>
31353
31354         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
31355         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
31356         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
31357
31358 2009-01-18  Bruno Haible  <bruno@clisp.org>
31359
31360         * lib/strftime.c (MEMPCPY): Remove unused macro.
31361         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
31362
31363 2009-01-18  Martin Lambers  <marlam@marlam.de>
31364
31365         New module 'link'.
31366         * lib/unistd.in.h (link): New declaration.
31367         * lib/link.c: New file.
31368         * m4/link.m4: New file.
31369         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
31370         HAVE_LINK.
31371         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
31372         * modules/link: New file.
31373         * doc/posix-functions/link.texi: Mention the new module.
31374
31375 2009-01-18  Bruno Haible  <bruno@clisp.org>
31376
31377         * tests/test-avltree_list.c (main): Call set_program_name.
31378         * tests/test-avltree_oset.c (main): Likewise.
31379         * tests/test-obstack-printf.c: Include progname.h.
31380         (main): Call set_program_name.
31381         * tests/test-quotearg.c: Include progname.h.
31382         (main): Call set_program_name.
31383         * tests/test-xmemdup0.c: Include progname.h.
31384         (main): Call set_program_name.
31385
31386 2009-01-18  Bruno Haible  <bruno@clisp.org>
31387
31388         New module 'alphasort'.
31389         * lib/dirent.in.h (alphasort): New declaration.
31390         * lib/alphasort.c: New file, from glibc with modifications.
31391         * m4/alphasort.m4: New file.
31392         * modules/alphasort: New file.
31393         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
31394         HAVE_ALPHASORT.
31395         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
31396         HAVE_ALPHASORT.
31397         * doc/posix-functions/alphasort.texi: Mention the new module and the
31398         portability problems.
31399
31400 2009-01-18  Bruno Haible  <bruno@clisp.org>
31401
31402         New module 'scandir'.
31403         * lib/dirent.in.h (scandir): New declaration.
31404         * lib/scandir.c: New file, from glibc with modifications.
31405         * m4/scandir.m4: New file.
31406         * modules/scandir: New file.
31407         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
31408         HAVE_SCANDIR.
31409         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
31410         HAVE_SCANDIR.
31411         * doc/posix-functions/scandir.texi: Mention the new module and the
31412         portability problems.
31413
31414 2009-01-17  Bruno Haible  <bruno@clisp.org>
31415
31416         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
31417         Update documentation.
31418         (func_remove_suffix): Escape all dots in the suffix. Update
31419         documentation.
31420         (func_filter_filelist): Update documentation.
31421         Reported by Ralf Wildenhues.
31422
31423 2009-01-17  Bruno Haible  <bruno@clisp.org>
31424
31425         * modules/dprintf-posix-tests: New file.
31426         * tests/test-dprintf-posix.sh: New file.
31427         * tests/test-dprintf-posix.c: New file.
31428
31429         New modules 'dprintf', 'dprintf-posix'.
31430         * lib/stdio.in.h (dprintf): New declaration.
31431         * lib/dprintf.c: New file.
31432         * m4/dprintf.m4: New file.
31433         * m4/dprintf-posix.m4: New file.
31434         * modules/dprintf: New file.
31435         * modules/dprintf-posix: New file.
31436         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
31437         HAVE_DPRINTF, REPLACE_DPRINTF.
31438         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
31439         HAVE_DPRINTF, REPLACE_DPRINTF.
31440         * doc/posix-functions/dprintf.texi: Mention the new modules.
31441
31442 2009-01-17  Bruno Haible  <bruno@clisp.org>
31443
31444         * modules/vdprintf-posix-tests: New file.
31445         * tests/test-vdprintf-posix.sh: New file.
31446         * tests/test-vdprintf-posix.c: New file.
31447
31448         New modules 'vdprintf', 'vdprintf-posix'.
31449         * lib/stdio.in.h (vdprintf): New declaration.
31450         * lib/vdprintf.c: New file.
31451         * m4/vdprintf.m4: New file.
31452         * m4/vdprintf-posix.m4: New file.
31453         * modules/vdprintf: New file.
31454         * modules/vdprintf-posix: New file.
31455         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
31456         HAVE_VDPRINTF, REPLACE_VDPRINTF.
31457         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
31458         HAVE_VDPRINTF, REPLACE_VDPRINTF.
31459         * doc/posix-functions/vdprintf.texi: Mention the new modules.
31460
31461 2009-01-17  Bruno Haible  <bruno@clisp.org>
31462
31463         Fix replacement of fopen on mingw.
31464         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
31465         mingw.
31466
31467 2009-01-17  Bruno Haible  <bruno@clisp.org>
31468
31469         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
31470         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
31471
31472 2009-01-17  Bruno Haible  <bruno@clisp.org>
31473
31474         Avoid test-fflush2.sh failure on mingw.
31475         * tests/test-fflush2.c: Include binary-io.h.
31476         (main): Put standard input into binary mode.
31477         * modules/fflush-tests (Depends-on): Add binary-io.
31478
31479 2009-01-17  Bruno Haible  <bruno@clisp.org>
31480
31481         * lib/wchar.in.h: In another particular situation, include only the
31482         system's <wchar.h> file.
31483         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
31484         Reported by Albert Chin-A-Young <china@thewrittenword.com>
31485         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
31486
31487 2009-01-17  Bruno Haible  <bruno@clisp.org>
31488
31489         Support for stripping executables in --enable-relocatable.
31490         * build-aux/install-reloc: Expect one more argument, or an environment
31491         variable RELOC_STRIP_PROG. If set, strip the destination program and
31492         its wrapper.
31493         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
31494         RELOC_STRIP_PROG.
31495         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
31496         to set RELOCATABLE_STRIP.
31497         * NEWS: Mention the new Makefile requirement.
31498
31499 2009-01-17  Bruno Haible  <bruno@clisp.org>
31500
31501         * build-aux/install-reloc: Remove debugging information left over by
31502         C compiler on MacOS X.
31503
31504 2009-01-17  Bruno Haible  <bruno@clisp.org>
31505
31506         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
31507         * lib/progreloc.c (find_executable): Fix type of pointer passed to
31508         _NSGetExecutablePath.
31509
31510 2009-01-16  Jim Meyering  <meyering@redhat.com>
31511
31512         strerror: avoid warnings about discarding "const"
31513         * lib/strerror.c (rpl_strerror): Instead of returning a const
31514         string from each and every "case", use a variable, and add a single
31515         cast after the switch.
31516
31517 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
31518
31519         * lib/arpa_inet.in.h: Add extern "C" block for C++.
31520
31521 2009-01-16  Bruno Haible  <bruno@clisp.org>
31522
31523         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
31524         array initializer syntax that also works in C++ mode.
31525         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
31526
31527 2009-01-16  Jim Meyering  <meyering@redhat.com>
31528
31529         poll: suppress a warning
31530         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
31531         to ignore "...unsigned expression < 0 is always false" warnings.
31532
31533 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
31534
31535         poll: remove declarations of unused variables
31536         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
31537         sockbuf and optlen.
31538
31539 2009-01-15  Bruno Haible  <bruno@clisp.org>
31540
31541         Make fflush-after-ungetc POSIX compliant on BSD systems.
31542         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
31543         (clear_ungetc_buffer): Implement also for other systems.
31544         (rpl_fflush): On glibc systems, invoke
31545         clear_ungetc_buffer_preserving_position. Otherwise, invoke
31546         clear_ungetc_buffer after fetching the stream's position, not before.
31547
31548 2009-01-15  Bruno Haible  <bruno@clisp.org>
31549
31550         Make fflush-after-ungetc POSIX compliant on glibc systems.
31551         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
31552         after ungetc.
31553         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
31554         (rpl_fflush): On glibc systems, simply call the system's fflush
31555         function after clearing the ungetc buffer.
31556         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
31557         Instead, lseek only to the end of file, then use the system's fseeko
31558         for the rest. On glibc systems, reset the EOF indicator bit.
31559
31560 2009-01-15  Jim Meyering  <meyering@redhat.com>
31561
31562         openmp.m4: revert quote-adding change, for portability to older autoconf
31563         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
31564         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
31565         Simon Josefsson noticed the problem when using autoconf-2.61.
31566
31567 2009-01-15  Bruno Haible  <bruno@clisp.org>
31568
31569         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
31570         * tests/test-fflush2.c (ASSERT): Always fail.
31571         (main): Add two tests for fflush() after ungetc(), taking into account
31572         the Austin Group's clarification.
31573         Suggested by Eric Blake.
31574
31575 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
31576
31577         mktime.m4: remove K&R-style function prototypes
31578         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
31579         for the Sun C++ compiler.
31580
31581 2009-01-14  Bruno Haible  <bruno@clisp.org>
31582
31583         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
31584         while including <wchar.h>.
31585         * lib/wchar.in.h: In two particular situations on HP-UX, include only
31586         the system's <wchar.h> file.
31587         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
31588
31589 2009-01-14  Bruno Haible  <bruno@clisp.org>
31590
31591         * m4/csharp.m4: Don't mention gettext on the serial number line.
31592         * m4/csharpexec.m4: Likewise.
31593         * m4/eaccess.m4: Likewise.
31594         * m4/javaexec.m4: Likewise.
31595         * m4/sig_atomic_t.m4: Likewise.
31596         * m4/tmpdir.m4: Likewise.
31597         * m4/intldir.m4: Bump gettext version.
31598         * m4/lib-ld.m4: Likewise.
31599
31600 2009-01-14  Bruno Haible  <bruno@clisp.org>
31601
31602         * lib/progname.c (set_program_name): Add more comments.
31603         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
31604
31605 2009-01-14  Simon Josefsson  <simon@josefsson.org>
31606
31607         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
31608         were sys/stat.h does not define it.
31609
31610 2009-01-14  Jim Meyering  <meyering@redhat.com>
31611
31612         many *.m4 files: improve m4 quoting
31613         99% of this change was performed by running the following commands:
31614         git ls-files | grep '\.m4$' | xargs perl -pi \
31615           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
31616           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
31617           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
31618           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
31619         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
31620         The remainder were to add Copyright dates, increment serial numbers,
31621         undo some changes in comments, exclude m4/intl.m4, and add quotes
31622         around the "1" in ",1" where the unusual spacing prohibited the
31623         above regexps from doing the job.  For more details, see
31624         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
31625         * m4/acl.m4: Modified.
31626         * m4/afs.m4: Likewise.
31627         * m4/alloca.m4: Likewise.
31628         * m4/argp.m4: Likewise.
31629         * m4/argz.m4: Likewise.
31630         * m4/atexit.m4: Likewise.
31631         * m4/bison-i18n.m4: Likewise.
31632         * m4/bison.m4: Likewise.
31633         * m4/byteswap.m4: Likewise.
31634         * m4/c-stack.m4: Likewise.
31635         * m4/c-strtod.m4: Likewise.
31636         * m4/calloc.m4: Likewise.
31637         * m4/canonicalize-lgpl.m4: Likewise.
31638         * m4/chown.m4: Likewise.
31639         * m4/clock_time.m4: Likewise.
31640         * m4/codeset.m4: Likewise.
31641         * m4/copy-file.m4: Likewise.
31642         * m4/csharp.m4: Likewise.
31643         * m4/csharpcomp.m4: Likewise.
31644         * m4/csharpexec.m4: Likewise.
31645         * m4/d-ino.m4: Likewise.
31646         * m4/d-type.m4: Likewise.
31647         * m4/dirfd.m4: Likewise.
31648         * m4/double-slash-root.m4: Likewise.
31649         * m4/eaccess.m4: Likewise.
31650         * m4/eealloc.m4: Likewise.
31651         * m4/environ.m4: Likewise.
31652         * m4/errno_h.m4: Likewise.
31653         * m4/euidaccess.m4: Likewise.
31654         * m4/execute.m4: Likewise.
31655         * m4/fatal-signal.m4: Likewise.
31656         * m4/fchdir.m4: Likewise.
31657         * m4/fcntl_h.m4: Likewise.
31658         * m4/fileblocks.m4: Likewise.
31659         * m4/filenamecat.m4: Likewise.
31660         * m4/findprog.m4: Likewise.
31661         * m4/flexmember.m4: Likewise.
31662         * m4/fnmatch.m4: Likewise.
31663         * m4/fopen.m4: Likewise.
31664         * m4/fpending.m4: Likewise.
31665         * m4/fprintf-posix.m4: Likewise.
31666         * m4/free.m4: Likewise.
31667         * m4/frexp.m4: Likewise.
31668         * m4/frexpl.m4: Likewise.
31669         * m4/fsusage.m4: Likewise.
31670         * m4/ftruncate.m4: Likewise.
31671         * m4/gc-camellia.m4: Likewise.
31672         * m4/gc-random.m4: Likewise.
31673         * m4/gc.m4: Likewise.
31674         * m4/getaddrinfo.m4: Likewise.
31675         * m4/getcwd-abort-bug.m4: Likewise.
31676         * m4/getcwd-path-max.m4: Likewise.
31677         * m4/getdate.m4: Likewise.
31678         * m4/getdomainname.m4: Likewise.
31679         * m4/getgroups.m4: Likewise.
31680         * m4/gethostname.m4: Likewise.
31681         * m4/gethrxtime.m4: Likewise.
31682         * m4/getline.m4: Likewise.
31683         * m4/getloadavg.m4: Likewise.
31684         * m4/getndelim2.m4: Likewise.
31685         * m4/getpass.m4: Likewise.
31686         * m4/gettext.m4: Likewise.
31687         * m4/gettime.m4: Likewise.
31688         * m4/gettimeofday.m4: Likewise.
31689         * m4/gnulib-common.m4: Likewise.
31690         * m4/group-member.m4: Likewise.
31691         * m4/host-os.m4: Likewise.
31692         * m4/iconv.m4: Likewise.
31693         * m4/iconv_open.m4: Likewise.
31694         * m4/inet_ntop.m4: Likewise.
31695         * m4/inet_pton.m4: Likewise.
31696         * m4/inline.m4: Likewise.
31697         * m4/intldir.m4: Likewise.
31698         * m4/intlmacosx.m4: Likewise.
31699         * m4/intmax.m4: Likewise.
31700         * m4/intmax_t.m4: Likewise.
31701         * m4/inttypes.m4: Likewise.
31702         * m4/inttypes_h.m4: Likewise.
31703         * m4/inttypes-pri.m4: Likewise.
31704         * m4/isapipe.m4: Likewise.
31705         * m4/isnand.m4: Likewise.
31706         * m4/isnanf.m4: Likewise.
31707         * m4/isnanl.m4: Likewise.
31708         * m4/javacomp.m4: Likewise.
31709         * m4/javaexec.m4: Likewise.
31710         * m4/jm-winsz1.m4: Likewise.
31711         * m4/jm-winsz2.m4: Likewise.
31712         * m4/lchown.m4: Likewise.
31713         * m4/lcmessage.m4: Likewise.
31714         * m4/ldexpl.m4: Likewise.
31715         * m4/lib-ld.m4: Likewise.
31716         * m4/lib-link.m4: Likewise.
31717         * m4/libsigsegv.m4: Likewise.
31718         * m4/link-follow.m4: Likewise.
31719         * m4/localcharset.m4: Likewise.
31720         * m4/locale-fr.m4: Likewise.
31721         * m4/locale-ja.m4: Likewise.
31722         * m4/locale-tr.m4: Likewise.
31723         * m4/locale-zh.m4: Likewise.
31724         * m4/lock.m4: Likewise.
31725         * m4/longlong.m4: Likewise.
31726         * m4/ls-mntd-fs.m4: Likewise.
31727         * m4/lstat.m4: Likewise.
31728         * m4/malloc.m4: Likewise.
31729         * m4/mathl.m4: Likewise.
31730         * m4/mbrtowc.m4: Likewise.
31731         * m4/mbstate_t.m4: Likewise.
31732         * m4/mbswidth.m4: Likewise.
31733         * m4/memchr.m4: Likewise.
31734         * m4/memcmp.m4: Likewise.
31735         * m4/memcpy.m4: Likewise.
31736         * m4/memmem.m4: Likewise.
31737         * m4/memmove.m4: Likewise.
31738         * m4/mempcpy.m4: Likewise.
31739         * m4/memrchr.m4: Likewise.
31740         * m4/memset.m4: Likewise.
31741         * m4/minmax.m4: Likewise.
31742         * m4/mkdir-slash.m4: Likewise.
31743         * m4/mkdtemp.m4: Likewise.
31744         * m4/mktime.m4: Likewise.
31745         * m4/mmap-anon.m4: Likewise.
31746         * m4/mountlist.m4: Likewise.
31747         * m4/nanosleep.m4: Likewise.
31748         * m4/nls.m4: Likewise.
31749         * m4/nocrash.m4: Likewise.
31750         * m4/open.m4: Likewise.
31751         * m4/openat.m4: Likewise.
31752         * m4/openmp.m4: Likewise.
31753         * m4/pathmax.m4: Likewise.
31754         * m4/perl.m4: Likewise.
31755         * m4/physmem.m4: Likewise.
31756         * m4/pipe.m4: Likewise.
31757         * m4/po.m4: Likewise.
31758         * m4/poll.m4: Likewise.
31759         * m4/posixtm.m4: Likewise.
31760         * m4/posixver.m4: Likewise.
31761         * m4/printf-frexp.m4: Likewise.
31762         * m4/printf-frexpl.m4: Likewise.
31763         * m4/printf-posix.m4: Likewise.
31764         * m4/printf-posix-rpl.m4: Likewise.
31765         * m4/printf.m4: Likewise.
31766         * m4/progtest.m4: Likewise.
31767         * m4/putenv.m4: Likewise.
31768         * m4/readline.m4: Likewise.
31769         * m4/readlink.m4: Likewise.
31770         * m4/readutmp.m4: Likewise.
31771         * m4/realloc.m4: Likewise.
31772         * m4/regex.m4: Likewise.
31773         * m4/relocatable.m4: Likewise.
31774         * m4/relocatable-lib.m4: Likewise.
31775         * m4/rename-dest-slash.m4: Likewise.
31776         * m4/rename.m4: Likewise.
31777         * m4/rmdir-errno.m4: Likewise.
31778         * m4/rmdir.m4: Likewise.
31779         * m4/roundf.m4: Likewise.
31780         * m4/roundl.m4: Likewise.
31781         * m4/rpmatch.m4: Likewise.
31782         * m4/save-cwd.m4: Likewise.
31783         * m4/selinux-selinux-h.m4: Likewise.
31784         * m4/setenv.m4: Likewise.
31785         * m4/settime.m4: Likewise.
31786         * m4/sig2str.m4: Likewise.
31787         * m4/sig_atomic_t.m4: Likewise.
31788         * m4/signalblocking.m4: Likewise.
31789         * m4/signbit.m4: Likewise.
31790         * m4/sigpipe.m4: Likewise.
31791         * m4/sockets.m4: Likewise.
31792         * m4/sockpfaf.m4: Likewise.
31793         * m4/st_dm_mode.m4: Likewise.
31794         * m4/stat-time.m4: Likewise.
31795         * m4/stdbool.m4: Likewise.
31796         * m4/stdint.m4: Likewise.
31797         * m4/stdint_h.m4: Likewise.
31798         * m4/stpcpy.m4: Likewise.
31799         * m4/stpncpy.m4: Likewise.
31800         * m4/strcase.m4: Likewise.
31801         * m4/strchrnul.m4: Likewise.
31802         * m4/strcspn.m4: Likewise.
31803         * m4/strdup.m4: Likewise.
31804         * m4/strftime.m4: Likewise.
31805         * m4/strndup.m4: Likewise.
31806         * m4/strnlen.m4: Likewise.
31807         * m4/strpbrk.m4: Likewise.
31808         * m4/strptime.m4: Likewise.
31809         * m4/strsep.m4: Likewise.
31810         * m4/strtod.m4: Likewise.
31811         * m4/strtoimax.m4: Likewise.
31812         * m4/strtok_r.m4: Likewise.
31813         * m4/strtol.m4: Likewise.
31814         * m4/strtoll.m4: Likewise.
31815         * m4/strtoul.m4: Likewise.
31816         * m4/strtoull.m4: Likewise.
31817         * m4/strtoumax.m4: Likewise.
31818         * m4/strverscmp.m4: Likewise.
31819         * m4/threadlib.m4: Likewise.
31820         * m4/timegm.m4: Likewise.
31821         * m4/tm_gmtoff.m4: Likewise.
31822         * m4/tmpdir.m4: Likewise.
31823         * m4/tmpfile.m4: Likewise.
31824         * m4/tzset.m4: Likewise.
31825         * m4/uintmax_t.m4: Likewise.
31826         * m4/unlinkdir.m4: Likewise.
31827         * m4/unlocked-io.m4: Likewise.
31828         * m4/uptime.m4: Likewise.
31829         * m4/userspec.m4: Likewise.
31830         * m4/utimbuf.m4: Likewise.
31831         * m4/utime.m4: Likewise.
31832         * m4/utimes-null.m4: Likewise.
31833         * m4/utimes.m4: Likewise.
31834         * m4/vararrays.m4: Likewise.
31835         * m4/vasnprintf.m4: Likewise.
31836         * m4/vfprintf-posix.m4: Likewise.
31837         * m4/vprintf-posix.m4: Likewise.
31838         * m4/wait-process.m4: Likewise.
31839         * m4/wchar_t.m4: Likewise.
31840         * m4/wint_t.m4: Likewise.
31841         * m4/write-any-file.m4: Likewise.
31842         * m4/yield.m4: Likewise.
31843
31844 2009-01-13  Bruno Haible  <bruno@clisp.org>
31845
31846         Avoid test-copy-file.sh failures when ACL support insufficient.
31847         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
31848         TESTS_ENVIRONMENT.
31849         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
31850         Reported by Jim Meyering.
31851
31852 2009-01-13  Bruno Haible  <bruno@clisp.org>
31853
31854         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
31855         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
31856         * modules/unistdio/u8-printf-parse (Files): Likewise.
31857         * modules/unistdio/u32-printf-parse (Files): Likewise.
31858         * modules/unistdio/ulc-printf-parse (Files): Likewise.
31859
31860 2009-01-13  Simon Josefsson  <simon@josefsson.org>
31861
31862         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
31863         and m4/inttypes_h.m4 too.
31864
31865 2009-01-12  Eric Blake  <ebb9@byu.net>
31866
31867         tests: IRIX 6.2 cc can't compile -0.0 into .data
31868         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
31869         rather than at compile-time.
31870         * tests/test-floorl.c (minus_zero): Likewise.
31871         * tests/test-frexpl.c (minus_zero): Likewise.
31872         * tests/test-isnan.c (minus_zerol): Likewise.
31873         * tests/test-isnanl.h (minus_zero): Likewise.
31874         * tests/test-ldexpl.c (minus_zero): Likewise.
31875         * tests/test-roundl.c (minus_zero): Likewise.
31876         * tests/test-signbit.c (minus_zerol): Likewise.
31877         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
31878         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
31879         * tests/test-truncl.c (minus_zero): Likewise.
31880         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
31881         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
31882         Reported by Tom G. Christensen and Nelson H. F. Beebe.
31883
31884 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
31885
31886         regex: fix glibc bug 9697
31887         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
31888         handling.
31889
31890 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
31891
31892         regex: fix glibc bug 697
31893         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
31894         being NULL also if there are no backreferences.
31895
31896 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
31897
31898         regex: merge glibc changes
31899         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
31900         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
31901         re_string_skip_chars, re_string_reconstruct): Likewise.
31902         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
31903
31904 2009-01-07  Jim Meyering  <meyering@redhat.com>
31905
31906         poll: filter through cppi
31907         * lib/poll.c: Indent cpp directives to reflect nesting.
31908
31909 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
31910
31911         poll: don't return uninitialized
31912         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
31913
31914 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
31915
31916         avoid compile failure on AIX 6.1
31917         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
31918         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
31919
31920 2009-01-04  Jim Meyering  <meyering@redhat.com>
31921
31922         remove duplicate inclusion of <stdio.h>
31923         * tests/test-fprintf-posix.c: Likewise.
31924         * tests/test-printf-posix.c: Likewise.
31925         * tests/test-snprintf-posix.c: Likewise.
31926         * tests/test-sprintf-posix.c: Likewise.
31927         * tests/test-vasprintf-posix.c: Likewise.
31928         * tests/test-vfprintf-posix.c: Likewise.
31929         * tests/test-vprintf-posix.c: Likewise.
31930         * tests/test-vsnprintf-posix.c: Likewise.
31931         * tests/test-vsprintf-posix.c: Likewise.
31932
31933 2009-01-03  Jim Meyering  <meyering@redhat.com>
31934
31935         gnulib-tool: fix sed-based filtering
31936         * gnulib-tool (func_filter_filelist): Remove extra backslash
31937         in sed_fff_filter definition.
31938
31939 2009-01-02  Jim Meyering  <meyering@redhat.com>
31940
31941         strftime: avoid compilation failure on Solaris 2.6
31942         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
31943         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
31944         Don't #define mbrlen or mbsinit, since now they're guaranteed to
31945         be available.  Reported by Tom G. Christensen.  Details in
31946         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
31947
31948 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31949             Bruno Haible  <bruno@clisp.org>
31950
31951         Speed up gnulib-tool by doing more string processing through shell
31952         built-ins.
31953         * gnulib-tool (fast_func_append): New variable.
31954         (func_remove_prefix, func_remove_suffix): New functions.
31955         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
31956         (func_filter_filelist): New function.
31957         (func_get_dependencies): Use func_remove_suffix instead of sed.
31958         (func_get_automake_snippet): Use func_filter_filelist instead of a
31959         subshell and sed invocation.
31960
31961 2009-01-01  Bruno Haible  <bruno@clisp.org>
31962
31963         Fix a security bug.
31964         * gnulib-tool (func_import, import, update): Don't allow the characters
31965         '"', '$', '`', '\' in macro arguments that become part of commands that
31966         are evaluated.
31967
31968 2009-01-01  Bruno Haible  <bruno@clisp.org>
31969
31970         * gnulib-tool (func_reset_sigpipe): Add more comments.
31971
31972 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31973
31974         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
31975         func_emit_tests_Makefile_am, func_import): Abort loops early if we
31976         already know the answer.
31977
31978 2009-01-01  Jim Meyering  <meyering@redhat.com>
31979
31980         * lib/version-etc.c (version_etc_va): Update copyright year.
31981
31982 2008-12-30  Bruno Haible  <bruno@clisp.org>
31983
31984         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
31985         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
31986         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
31987
31988 2008-12-29  Eric Blake  <ebb9@byu.net>
31989
31990         multiarch: avoid autoconf AC_REQUIRE bug
31991         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
31992         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
31993         2.63 and older.
31994         Reported by Bruno Haible, and analyzed in
31995         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
31996
31997 2008-12-29  Bruno Haible  <bruno@clisp.org>
31998
31999         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
32000         files in subdirectories correctly.
32001         Reported by Ralf Wildenhues.
32002
32003 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32004
32005         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
32006         rather than 'join FILE -', for Solaris join.
32007
32008 2008-12-29  Bruno Haible  <bruno@clisp.org>
32009
32010         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
32011         quoting.
32012         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
32013         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
32014         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
32015         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
32016         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
32017         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
32018         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
32019         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
32020         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
32021         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
32022         * m4/nls.m4 (AM_NLS): Likewise.
32023         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
32024         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
32025         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
32026         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
32027         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
32028         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
32029         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
32030         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
32031         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
32032         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
32033         * m4/xsize.m4 (gl_XSIZE): Likewise.
32034         Suggested by Jim Meyering.
32035
32036 2008-11-17  Bruce Korb  <bkorb@gnu.org>
32037
32038         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
32039         * lib/parse-duration.c: use a switch instead of cascading if's.
32040
32041 2008-12-29  Eric Blake  <ebb9@byu.net>
32042
32043         wchar.h: supply WEOF on Irix 5.3
32044         * lib/wchar.in.h (wint_t): Also supply WEOF.
32045         * lib/wctype.in.h (wint_t): Likewise.
32046         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
32047         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
32048         Reported by Tom G. Christensen.
32049
32050 2008-12-26  Bruno Haible  <bruno@clisp.org>
32051
32052         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
32053         i486, i586, i686.
32054
32055 2008-12-26  Bruno Haible  <bruno@clisp.org>
32056
32057         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
32058
32059 2008-12-26  Bruno Haible  <bruno@clisp.org>
32060
32061         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
32062         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
32063         not __STDC_CONSTANT_MACROS.
32064         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
32065
32066 2008-12-25  Bruno Haible  <bruno@clisp.org>
32067
32068         Add support for universal builds to vasnprintf.
32069         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
32070         universal builds, guess no.
32071         * modules/vasnprintf-posix (Depends-on): Add multiarch.
32072         * modules/vasprintf-posix (Depends-on): Likewise.
32073         * modules/fprintf-posix (Depends-on): Likewise.
32074         * modules/vfprintf-posix (Depends-on): Likewise.
32075         * modules/snprintf-posix (Depends-on): Likewise.
32076         * modules/vsnprintf-posix (Depends-on): Likewise.
32077         * modules/sprintf-posix (Depends-on): Likewise.
32078         * modules/vsprintf-posix (Depends-on): Likewise.
32079         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
32080         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
32081         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
32082         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
32083         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
32084         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
32085         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
32086
32087         Add support for universal builds to <inttypes.h>.
32088         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
32089         _SCNu64_PREFIX): In Apple
32090         universal builds, define directly, using _LP64.
32091         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
32092         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
32093         * modules/inttypes (Depends-on): Add multiarch.
32094         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
32095
32096         Add support for universal builds to <stdint.h>.
32097         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
32098         universal builds, define directly, using _LP64.
32099         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
32100         Apple universal builds, don't test for the size and suffix of ptrdiff_t
32101         and size_t.
32102         * modules/stdint (Depends-on): Add multiarch.
32103         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
32104
32105         New module 'multiarch'.
32106         * modules/multiarch: New file.
32107         * m4/multiarch.m4: New file.
32108
32109 2008-12-25  Bruno Haible  <bruno@clisp.org>
32110
32111         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
32112
32113 2008-12-25  Bruno Haible  <bruno@clisp.org>
32114
32115         * modules/btowc (License): Relicense under LGPLv2+.
32116         * modules/mbsinit (License): Likewise.
32117         * modules/mbrtowc (License): Likewise.
32118         * modules/wcrtomb (License): Likewise.
32119         * modules/streq (License): Likewise.
32120         Reported by David Lutterkort <lutter@redhat.com>.
32121
32122 2008-12-23  Bruno Haible  <bruno@clisp.org>
32123
32124         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
32125
32126 2008-12-23  Bruno Haible  <bruno@clisp.org>
32127
32128         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
32129         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
32130         GETADDRINFO_LIB, not in LIBS.
32131         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
32132         * modules/canon-host (Link): Likewise.
32133         * NEWS: Mention the change.
32134         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
32135         GETADDRINFO_LIB.
32136
32137 2008-12-22  Bruno Haible  <bruno@clisp.org>
32138
32139         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
32140         * doc/posix-functions/iswalpha_l.texi: Likewise.
32141         * doc/posix-functions/iswblank_l.texi: Likewise.
32142         * doc/posix-functions/iswcntrl_l.texi: Likewise.
32143         * doc/posix-functions/iswctype_l.texi: Likewise.
32144         * doc/posix-functions/iswdigit_l.texi: Likewise.
32145         * doc/posix-functions/iswgraph_l.texi: Likewise.
32146         * doc/posix-functions/iswlower_l.texi: Likewise.
32147         * doc/posix-functions/iswprint_l.texi: Likewise.
32148         * doc/posix-functions/iswpunct_l.texi: Likewise.
32149         * doc/posix-functions/iswspace_l.texi: Likewise.
32150         * doc/posix-functions/iswupper_l.texi: Likewise.
32151         * doc/posix-functions/iswxdigit_l.texi: Likewise.
32152         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
32153         * doc/posix-functions/open_wmemstream.texi: Likewise.
32154         * doc/posix-functions/swscanf.texi: Likewise.
32155         * doc/posix-functions/towctrans_l.texi: Likewise.
32156         * doc/posix-functions/towlower.texi: Likewise.
32157         * doc/posix-functions/towlower_l.texi: Likewise.
32158         * doc/posix-functions/towupper.texi: Likewise.
32159         * doc/posix-functions/towupper_l.texi: Likewise.
32160         * doc/posix-functions/vfwprintf.texi: Likewise.
32161         * doc/posix-functions/vfwscanf.texi: Likewise.
32162         * doc/posix-functions/vswscanf.texi: Likewise.
32163         * doc/posix-functions/vwprintf.texi: Likewise.
32164         * doc/posix-functions/vwscanf.texi: Likewise.
32165         * doc/posix-functions/wcpcpy.texi: Likewise.
32166         * doc/posix-functions/wcpncpy.texi: Likewise.
32167         * doc/posix-functions/wcscasecmp.texi: Likewise.
32168         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
32169         * doc/posix-functions/wcscoll_l.texi: Likewise.
32170         * doc/posix-functions/wcsdup.texi: Likewise.
32171         * doc/posix-functions/wcsncasecmp.texi: Likewise.
32172         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
32173         * doc/posix-functions/wcsnlen.texi: Likewise.
32174         * doc/posix-functions/wcsnrtombs.texi: Likewise.
32175         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
32176         * doc/posix-functions/wctrans_l.texi: Likewise.
32177         * doc/posix-functions/wctype_l.texi: Likewise.
32178         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
32179         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
32180         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
32181         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
32182         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
32183         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
32184         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
32185         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
32186         * doc/glibc-functions/wcschrnul.texi: Likewise.
32187         * doc/glibc-functions/wcsftime_l.texi: Likewise.
32188         * doc/glibc-functions/wcstod_l.texi: Likewise.
32189         * doc/glibc-functions/wcstof_l.texi: Likewise.
32190         * doc/glibc-functions/wcstol_l.texi: Likewise.
32191         * doc/glibc-functions/wcstold_l.texi: Likewise.
32192         * doc/glibc-functions/wcstoll_l.texi: Likewise.
32193         * doc/glibc-functions/wcstoq.texi: Likewise.
32194         * doc/glibc-functions/wcstoul_l.texi: Likewise.
32195         * doc/glibc-functions/wcstoull_l.texi: Likewise.
32196         * doc/glibc-functions/wcstouq.texi: Likewise.
32197         * doc/glibc-functions/wmempcpy.texi: Likewise.
32198
32199 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
32200             Eric Blake  <ebb9@byu.net>
32201             Paolo Bonzini  <bonzini@gnu.org>
32202             Bruno Haible  <bruno@clisp.org>
32203
32204         Make c-stack work on Haiku.
32205         * lib/c-stack.c (SA_ONSTACK): Define fallback.
32206         (c_stack_action): Use SA_ONSTACK flag.
32207
32208 2008-12-22  Bruno Haible  <bruno@clisp.org>
32209
32210         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
32211
32212 2008-12-22  Bruno Haible  <bruno@clisp.org>
32213
32214         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
32215         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
32216         being overridden.
32217         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
32218         New macros.
32219         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
32220         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
32221         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
32222         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
32223
32224 2008-12-22  Bruno Haible  <bruno@clisp.org>
32225
32226         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
32227         from test code.
32228
32229 2008-12-22  Eric Blake  <ebb9@byu.net>
32230
32231         Avoid gcc warnings on cygwin.
32232         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
32233         Avoid unused variable.
32234         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
32235         Likewise.
32236
32237 2008-12-22  Bruno Haible  <bruno@clisp.org>
32238
32239         Remove HAVE_MBRTOWC conditionals.
32240         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
32241         (mbscasecmp): Assume mbrtowc function.
32242         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
32243         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
32244         * lib/mbschr.c: Include mbuiter.h unconditionally.
32245         (mbschr): Assume mbrtowc function.
32246         * lib/mbscspn.c: Include mbuiter.h unconditionally.
32247         (mbscspn): Assume mbrtowc function.
32248         * lib/mbslen.c: Include mbuiter.h unconditionally.
32249         (mbslen): Assume mbrtowc function.
32250         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
32251         (mbsncasecmp): Assume mbrtowc function.
32252         * lib/mbsnlen.c: Include mbiter.h unconditionally.
32253         (mbsnlen): Assume mbrtowc function.
32254         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
32255         (mbspbrk): Assume mbrtowc function.
32256         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
32257         (mbspcasecmp): Assume mbrtowc function.
32258         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
32259         (mbsrchr): Assume mbrtowc function.
32260         * lib/mbssep.c: Include mbuiter.h unconditionally.
32261         (mbssep): Assume mbrtowc function.
32262         * lib/mbsspn.c: Include mbuiter.h unconditionally.
32263         (mbsspn): Assume mbrtowc function.
32264         * lib/mbsstr.c: Include mbuiter.h unconditionally.
32265         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
32266         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
32267         (mbstok_r): Assume mbrtowc function.
32268         * lib/propername.c: Include mbuiter.h unconditionally.
32269         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
32270         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
32271         (trim2): Assume mbrtowc function.
32272         * lib/mbswidth.c (mbsinit): Remove fallback definition.
32273         (mbsnwidth): Assume mbrtowc function.
32274         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
32275         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
32276         fallback definitions.
32277         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
32278
32279 2008-12-22  Bruno Haible  <bruno@clisp.org>
32280
32281         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
32282
32283 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
32284
32285         * modules/regex: Request emulations for the mb*/wc* functions we need.
32286         * m4/regex.m4: Don't look for those functions here.
32287         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
32288
32289 2008-12-22  Bruno Haible  <bruno@clisp.org>
32290
32291         * modules/fnmatch (Depends-on): Remove duplicated dependency.
32292
32293 2008-12-21  Bruno Haible  <bruno@clisp.org>
32294
32295         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
32296         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
32297         (Include): Remove conditionalization.
32298         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
32299         (Include): Remove conditionalization.
32300         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
32301         (Include): Remove conditionalization.
32302         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
32303         * m4/mbfile.m4 (gl_MBFILE): Likewise.
32304         * NEWS: Mention the change.
32305         Reported by Alan Hourihane <alanh@fairlite.co.uk>
32306         via Sergey Poznyakoff <gray@gnu.org.ua>.
32307
32308 2008-12-21  Bruno Haible  <bruno@clisp.org>
32309
32310         * MODULES.html.sh (Extended multibyte and wide character utilities
32311         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
32312         wcrtomb, wcsrtombs.
32313         (Support for systems lacking POSIX:2008): Add accept, bind, close,
32314         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
32315         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
32316         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
32317
32318 2008-12-21  Bruno Haible  <bruno@clisp.org>
32319
32320         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
32321
32322 2008-12-21  Bruno Haible  <bruno@clisp.org>
32323
32324         * modules/wcsnrtombs-tests: New file.
32325         * tests/test-wcsnrtombs1.sh: New file.
32326         * tests/test-wcsnrtombs2.sh: New file.
32327         * tests/test-wcsnrtombs3.sh: New file.
32328         * tests/test-wcsnrtombs4.sh: New file.
32329         * tests/test-wcsnrtombs.c: New file.
32330
32331         New module 'wcsnrtombs'.
32332         * lib/wchar.in.h (wcsnrtombs): New declaration.
32333         * lib/wcsnrtombs.c: New file.
32334         * lib/wcsrtombs-state.c: New file.
32335         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
32336         (internal_state): Remove variable.
32337         * m4/wcsnrtombs.m4: New file.
32338         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
32339         compilation units.
32340         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
32341         HAVE_WCSNRTOMBS.
32342         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
32343         HAVE_WCSNRTOMBS.
32344         * modules/wcsnrtombs: New file.
32345         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
32346         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
32347
32348 2008-12-21  Bruno Haible  <bruno@clisp.org>
32349
32350         * modules/wcsrtombs-tests: New file.
32351         * tests/test-wcsrtombs1.sh: New file.
32352         * tests/test-wcsrtombs2.sh: New file.
32353         * tests/test-wcsrtombs3.sh: New file.
32354         * tests/test-wcsrtombs4.sh: New file.
32355         * tests/test-wcsrtombs.c: New file.
32356
32357         New module 'wcsrtombs'.
32358         * lib/wchar.in.h (wcsrtombs): New declaration.
32359         * lib/wcsrtombs.c: New file.
32360         * m4/wcsrtombs.m4: New file.
32361         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
32362         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
32363         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
32364         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
32365         * modules/wcsrtombs: New file.
32366         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
32367         bugs.
32368
32369 2008-12-21  Bruno Haible  <bruno@clisp.org>
32370
32371         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
32372         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
32373         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
32374         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
32375         if not correct.
32376         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
32377         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
32378         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
32379         m4/locale-zh.m4, m4/codeset.m4.
32380         * doc/posix-functions/wcrtomb.texi: Document the bug.
32381
32382 2008-12-21  Bruno Haible  <bruno@clisp.org>
32383
32384         Work around a btowc() bug on IRIX 6.5.
32385         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
32386         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
32387         REPLACE_WTOBC if not.
32388         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
32389         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
32390         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
32391
32392 2008-12-21  Bruno Haible  <bruno@clisp.org>
32393
32394         * modules/wcrtomb-tests: New file.
32395         * tests/test-wcrtomb.sh: New file.
32396         * tests/test-wcrtomb.c: New file.
32397
32398         New module 'wcrtomb'.
32399         * lib/wchar.in.h (wcrtomb): New declaration.
32400         * lib/wcrtomb.c: New file.
32401         * m4/wcrtomb.m4: New file.
32402         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
32403         HAVE_WCRTOMB.
32404         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
32405         HAVE_WCRTOMB.
32406         * modules/wcrtomb: New file.
32407         * doc/posix-functions/wcrtomb.texi: Mention the new module.
32408
32409 2008-12-21  Bruno Haible  <bruno@clisp.org>
32410
32411         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
32412         * modules/mbsrtowcs (Files): Likewise.
32413         * modules/wctob (Files): Likewise.
32414         * modules/c-strcase-tests (Files): Likewise.
32415         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
32416         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
32417         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
32418         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
32419         * modules/vasnprintf-posix-tests (Files): Likewise.
32420
32421 2008-12-21  William Pursell  <bill.pursell@gmail.com>
32422
32423         gitlog-to-changelog: pass all command-line arguments to git-log
32424         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
32425         it is sometimes convenient to filter the commits in various ways.
32426         gitlog-to-changelog only allows --since to specify a start date,
32427         but git-log itself supports many other filtering mechanisms.
32428         At the moment, I want to filter by branch name.  Rather than
32429         adding a --branch option to gitlog-to-changelog, it seems more
32430         flexible to simply pass all options directly to git-log and let
32431         git do the work.  Notice that this effectively makes --since a
32432         redundant option for gitlog-to-changelog, but removing it would
32433         require current usage to change since calls would then require
32434         an additional '--'.
32435
32436 2008-12-21  Bruno Haible  <bruno@clisp.org>
32437
32438         * modules/mbsnrtowcs-tests: New file.
32439         * tests/test-mbsnrtowcs1.sh: New file.
32440         * tests/test-mbsnrtowcs2.sh: New file.
32441         * tests/test-mbsnrtowcs3.sh: New file.
32442         * tests/test-mbsnrtowcs4.sh: New file.
32443         * tests/test-mbsnrtowcs.c: New file.
32444
32445         New module 'mbsnrtowcs'.
32446         * lib/wchar.in.h (mbsnrtowcs): New declaration.
32447         * lib/mbsnrtowcs.c: New file.
32448         * lib/mbsrtowcs-state.c: New file.
32449         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
32450         (internal_state): Remove variable.
32451         * m4/mbsnrtowcs.m4: New file.
32452         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
32453         compilation units.
32454         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
32455         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
32456         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
32457         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
32458         * modules/mbsnrtowcs: New file.
32459         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
32460         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
32461         portability problem.
32462
32463 2008-12-21  Bruno Haible  <bruno@clisp.org>
32464
32465         Work around mbsrtowcs bug.
32466         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
32467         (gl_FUNC_MBSRTOWCS): Invoke it.
32468         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
32469         m4/locale-zh.m4.
32470         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
32471
32472 2008-12-21  Bruno Haible  <bruno@clisp.org>
32473
32474         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
32475
32476 2008-12-21  Bruno Haible  <bruno@clisp.org>
32477
32478         Update doc for AIX.
32479         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
32480         16-bit wchar_t type.
32481         * doc/posix-functions/btowc.texi: Likewise.
32482         * doc/posix-functions/fgetwc.texi: Likewise.
32483         * doc/posix-functions/fgetws.texi: Likewise.
32484         * doc/posix-functions/fputwc.texi: Likewise.
32485         * doc/posix-functions/fputws.texi: Likewise.
32486         * doc/posix-functions/fwide.texi: Likewise.
32487         * doc/posix-functions/fwprintf.texi: Likewise.
32488         * doc/posix-functions/fwscanf.texi: Likewise.
32489         * doc/posix-functions/getwchar.texi: Likewise.
32490         * doc/posix-functions/getwc.texi: Likewise.
32491         * doc/posix-functions/iswalnum.texi: Likewise.
32492         * doc/posix-functions/iswalpha.texi: Likewise.
32493         * doc/posix-functions/iswblank.texi: Likewise.
32494         * doc/posix-functions/iswcntrl.texi: Likewise.
32495         * doc/posix-functions/iswctype.texi: Likewise.
32496         * doc/posix-functions/iswdigit.texi: Likewise.
32497         * doc/posix-functions/iswgraph.texi: Likewise.
32498         * doc/posix-functions/iswlower.texi: Likewise.
32499         * doc/posix-functions/iswprint.texi: Likewise.
32500         * doc/posix-functions/iswpunct.texi: Likewise.
32501         * doc/posix-functions/iswspace.texi: Likewise.
32502         * doc/posix-functions/iswupper.texi: Likewise.
32503         * doc/posix-functions/iswxdigit.texi: Likewise.
32504         * doc/posix-functions/mbrtowc.texi: Likewise.
32505         * doc/posix-functions/mbsrtowcs.texi: Likewise.
32506         * doc/posix-functions/mbstowcs.texi: Likewise.
32507         * doc/posix-functions/mbtowc.texi: Likewise.
32508         * doc/posix-functions/putwchar.texi: Likewise.
32509         * doc/posix-functions/putwc.texi: Likewise.
32510         * doc/posix-functions/swprintf.texi: Likewise.
32511         * doc/posix-functions/tolower.texi: Likewise.
32512         * doc/posix-functions/toupper.texi: Likewise.
32513         * doc/posix-functions/towctrans.texi: Likewise.
32514         * doc/posix-functions/ungetwc.texi: Likewise.
32515         * doc/posix-functions/vswprintf.texi: Likewise.
32516         * doc/posix-functions/wcrtomb.texi: Likewise.
32517         * doc/posix-functions/wcscat.texi: Likewise.
32518         * doc/posix-functions/wcschr.texi: Likewise.
32519         * doc/posix-functions/wcscmp.texi: Likewise.
32520         * doc/posix-functions/wcscoll.texi: Likewise.
32521         * doc/posix-functions/wcscpy.texi: Likewise.
32522         * doc/posix-functions/wcscspn.texi: Likewise.
32523         * doc/posix-functions/wcsftime.texi: Likewise.
32524         * doc/posix-functions/wcslen.texi: Likewise.
32525         * doc/posix-functions/wcsncat.texi: Likewise.
32526         * doc/posix-functions/wcsncmp.texi: Likewise.
32527         * doc/posix-functions/wcsncpy.texi: Likewise.
32528         * doc/posix-functions/wcspbrk.texi: Likewise.
32529         * doc/posix-functions/wcsrchr.texi: Likewise.
32530         * doc/posix-functions/wcsrtombs.texi: Likewise.
32531         * doc/posix-functions/wcsspn.texi: Likewise.
32532         * doc/posix-functions/wcsstr.texi: Likewise.
32533         * doc/posix-functions/wcstod.texi: Likewise.
32534         * doc/posix-functions/wcstof.texi: Likewise.
32535         * doc/posix-functions/wcstoimax.texi: Likewise.
32536         * doc/posix-functions/wcstok.texi: Likewise.
32537         * doc/posix-functions/wcstold.texi: Likewise.
32538         * doc/posix-functions/wcstoll.texi: Likewise.
32539         * doc/posix-functions/wcstol.texi: Likewise.
32540         * doc/posix-functions/wcstombs.texi: Likewise.
32541         * doc/posix-functions/wcstoull.texi: Likewise.
32542         * doc/posix-functions/wcstoul.texi: Likewise.
32543         * doc/posix-functions/wcstoumax.texi: Likewise.
32544         * doc/posix-functions/wcswidth.texi: Likewise.
32545         * doc/posix-functions/wcsxfrm.texi: Likewise.
32546         * doc/posix-functions/wctob.texi: Likewise.
32547         * doc/posix-functions/wctomb.texi: Likewise.
32548         * doc/posix-functions/wctrans.texi: Likewise.
32549         * doc/posix-functions/wctype.texi: Likewise.
32550         * doc/posix-functions/wcwidth.texi: Likewise.
32551         * doc/posix-functions/wmemchr.texi: Likewise.
32552         * doc/posix-functions/wmemcmp.texi: Likewise.
32553         * doc/posix-functions/wmemcpy.texi: Likewise.
32554         * doc/posix-functions/wmemmove.texi: Likewise.
32555         * doc/posix-functions/wmemset.texi: Likewise.
32556         * doc/posix-functions/wprintf.texi: Likewise.
32557         * doc/posix-functions/wscanf.texi: Likewise.
32558
32559 2008-12-21  Bruno Haible  <bruno@clisp.org>
32560
32561         Update doc for HP-UX 11.11.
32562         * doc/posix-functions/btowc.texi: Clarify that the function is missing
32563         in HP-UX version 11.00, not in all versions of HP-UX 11.
32564         * doc/posix-functions/fwide.texi: Likewise.
32565         * doc/posix-functions/fwprintf.texi: Likewise.
32566         * doc/posix-functions/fwscanf.texi: Likewise.
32567         * doc/posix-functions/inet_ntop.texi: Likewise.
32568         * doc/posix-functions/inet_pton.texi: Likewise.
32569         * doc/posix-functions/mbrlen.texi: Likewise.
32570         * doc/posix-functions/mbrtowc.texi: Likewise.
32571         * doc/posix-functions/mbsinit.texi: Likewise.
32572         * doc/posix-functions/mbsrtowcs.texi: Likewise.
32573         * doc/posix-functions/swprintf.texi: Likewise.
32574         * doc/posix-functions/swscanf.texi: Likewise.
32575         * doc/posix-functions/towctrans.texi: Likewise.
32576         * doc/posix-functions/vfwprintf.texi: Likewise.
32577         * doc/posix-functions/vswprintf.texi: Likewise.
32578         * doc/posix-functions/vwprintf.texi: Likewise.
32579         * doc/posix-functions/wcrtomb.texi: Likewise.
32580         * doc/posix-functions/wcsrtombs.texi: Likewise.
32581         * doc/posix-functions/wcsstr.texi: Likewise.
32582         * doc/posix-functions/wctob.texi: Likewise.
32583         * doc/posix-functions/wctrans.texi: Likewise.
32584         * doc/posix-functions/wmemchr.texi: Likewise.
32585         * doc/posix-functions/wmemcmp.texi: Likewise.
32586         * doc/posix-functions/wmemcpy.texi: Likewise.
32587         * doc/posix-functions/wmemmove.texi: Likewise.
32588         * doc/posix-functions/wmemset.texi: Likewise.
32589         * doc/posix-functions/wprintf.texi: Likewise.
32590         * doc/posix-functions/wscanf.texi: Likewise.
32591
32592 2008-12-21  Bruno Haible  <bruno@clisp.org>
32593
32594         Work around a portability problem.
32595         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
32596         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
32597
32598 2008-12-20  Bruno Haible  <bruno@clisp.org>
32599
32600         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
32601         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
32602         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
32603         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
32604         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
32605
32606         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
32607         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
32608         set.
32609         (GNULIB_defined_mbstate_t): New macro.
32610         (mbsinit): Redefine if REPLACE_MBSINIT is set.
32611         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
32612         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
32613         reuses the system's mbrtowc function but works around the bugs.
32614         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
32615         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
32616         macros.
32617         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
32618         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
32619         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
32620         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
32621         REPLACE_MBSINIT if mbsinit needs to be overridden.
32622         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
32623         REPLACE_MBSINIT, REPLACE_MBRTOWC.
32624         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
32625         REPLACE_MBSINIT, REPLACE_MBRTOWC.
32626         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
32627         m4/locale-zh.m4.
32628         (Depends): Add mbsinit.
32629         * modules/mbsinit (Depends): Add mbrtowc.
32630         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
32631
32632 2008-12-20  Bruno Haible  <bruno@clisp.org>
32633
32634         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
32635         so that there are no conversion errors on AIX.
32636         * tests/test-mbsrtowcs.c (main): LIkewise.
32637
32638 2008-12-20  Bruno Haible  <bruno@clisp.org>
32639
32640         Work around wctob bug on Solaris <= 9.
32641         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
32642         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
32643         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
32644         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
32645         * modules/wctob (Files): Add m4/locale-fr.m4.
32646         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
32647
32648 2008-12-20  Bruno Haible  <bruno@clisp.org>
32649
32650         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
32651         /dev/null.
32652         * tests/test-select-in.sh: Likewise.
32653         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
32654
32655 2008-12-20  Bruno Haible  <bruno@clisp.org>
32656
32657         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
32658         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
32659         Cygwin 1.5.x.
32660
32661 2008-12-20  Bruno Haible  <bruno@clisp.org>
32662
32663         Ensure mbstate_t is defined on HP-UX 11.11.
32664         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
32665         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
32666         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
32667         AC_USE_SYSTEM_EXTENSIONS.
32668         * modules/fnmatch (Depends-on): Add extensions.
32669         * modules/mbrlen (Depends-on): Likewise.
32670         * modules/mbrtowc (Depends-on): Likewise.
32671         * modules/mbsinit (Depends-on): Likewise.
32672         * modules/mbsrtowcs (Depends-on): Likewise.
32673         * modules/mbswidth (Depends-on): Likewise.
32674         * modules/quotearg (Depends-on): Likewise.
32675         * modules/strftime (Depends-on): Likewise.
32676
32677 2008-12-20  Bruno Haible  <bruno@clisp.org>
32678
32679         Ensure wctob is declared on IRIX 6.5.
32680         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
32681         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
32682         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
32683         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
32684         of HAVE_WCTOB.
32685         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
32686         HAVE_WCTOB.
32687         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
32688
32689 2008-12-19  Bruno Haible  <bruno@clisp.org>
32690
32691         * modules/mbsrtowcs-tests: New file.
32692         * tests/test-mbsrtowcs1.sh: New file.
32693         * tests/test-mbsrtowcs2.sh: New file.
32694         * tests/test-mbsrtowcs3.sh: New file.
32695         * tests/test-mbsrtowcs4.sh: New file.
32696         * tests/test-mbsrtowcs.c: New file.
32697
32698         New module 'mbsrtowcs'.
32699         * lib/wchar.in.h (mbsrtowcs): New declaration.
32700         * lib/mbsrtowcs.c: New file.
32701         * m4/mbsrtowcs.m4: New file.
32702         * modules/mbsrtowcs: New file.
32703         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
32704         HAVE_MBSRTOWCS.
32705         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
32706         HAVE_MBSRTOWCS.
32707         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
32708
32709 2008-12-19  Bruno Haible  <bruno@clisp.org>
32710
32711         New module 'mbrlen'.
32712         * lib/wchar.in.h (mbrlen): New declaration.
32713         * lib/mbrlen.c: New file.
32714         * m4/mbrlen.m4: New file.
32715         * modules/mbrlen: New file.
32716         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
32717         HAVE_MBRLEN.
32718         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
32719         HAVE_MBRLEN.
32720         * doc/posix-functions/mbrlen.texi: Document the new module.
32721
32722 2008-12-19  Bruno Haible  <bruno@clisp.org>
32723
32724         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
32725         * modules/mbrtowc (Depends-on): Add verify.
32726         Suggested by Paul Eggert.
32727
32728 2008-12-18  Bruno Haible  <bruno@clisp.org>
32729
32730         * modules/mbsinit-tests: New file.
32731         * tests/test-mbsinit.sh: New file.
32732         * tests/test-mbsinit.c: New file.
32733
32734 2008-12-18  Bruno Haible  <bruno@clisp.org>
32735
32736         * modules/mbrtowc-tests: New file.
32737         * tests/test-mbrtowc1.sh: New file.
32738         * tests/test-mbrtowc2.sh: New file.
32739         * tests/test-mbrtowc3.sh: New file.
32740         * tests/test-mbrtowc4.sh: New file.
32741         * tests/test-mbrtowc.c: New file.
32742
32743         New module 'mbrtowc'.
32744         * lib/wchar.in.h (mbstate_t): Override when the system does not have
32745         mbsinit and mbrtowc.
32746         (mbrtowc): New declaration.
32747         * lib/mbrtowc.c: New file.
32748         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
32749         * modules/mbrtowc: New file.
32750         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
32751         HAVE_MBRTOWC.
32752         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
32753         HAVE_MBRTOWC.
32754         * doc/posix-functions/mbrtowc.texi: Document the new module.
32755
32756 2008-12-18  Bruno Haible  <bruno@clisp.org>
32757
32758         New module 'wctob'.
32759         * lib/wchar.in.h (wctob): New declaration.
32760         * lib/wctob.c: New file.
32761         * m4/wctob.m4: New file.
32762         * modules/wctob: New file.
32763         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
32764         HAVE_WCTOB.
32765         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
32766         * doc/posix-functions/wctob.texi: Document the new module.
32767
32768 2008-12-18  Bruno Haible  <bruno@clisp.org>
32769
32770         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
32771         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
32772
32773 2008-12-18  Simon Josefsson  <simon@josefsson.org>
32774
32775         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
32776         G. Christensen" <tgc@jupiterrise.com>.
32777
32778         * lib/flock.c: Need to include errno.h.  Reported by "Tom
32779         G. Christensen" <tgc@jupiterrise.com>.
32780
32781         * lib/flock.c: Need to include string.h.  Reported by "Tom
32782         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
32783         <ebb9@byu.net>.
32784
32785 2008-12-18  Bruno Haible  <bruno@clisp.org>
32786
32787         * m4/locale-ja.m4: New file, from GNU gettext.
32788
32789 2008-12-17  Bruno Haible  <bruno@clisp.org>
32790
32791         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
32792         Suggested by Eric Blake.
32793
32794 2008-12-17  Bruno Haible  <bruno@clisp.org>
32795
32796         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
32797
32798 2008-12-17  Bruno Haible  <bruno@clisp.org>
32799
32800         * lib/mbsinit.c: Include verify.h. Verify an assumption.
32801         * modules/mbsinit (Depends-on): Add verify.
32802         Suggested by Paul Eggert.
32803
32804 2008-12-17  Bruno Haible  <bruno@clisp.org>
32805
32806         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
32807         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
32808         gl_FUNC_MBRTOWC.
32809         * m4/mbiter.m4 (gl_MBITER): LIkewise.
32810         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
32811         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
32812         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
32813         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
32814         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
32815         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
32816         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
32817         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
32818         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
32819         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
32820         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
32821         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
32822         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
32823         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
32824         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
32825         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
32826         * modules/trim (configure.ac): Likewise.
32827
32828 2008-12-17  Bruno Haible  <bruno@clisp.org>
32829
32830         * modules/btowc-tests: New file.
32831         * tests/test-btowc1.sh: New file.
32832         * tests/test-btowc2.sh: New file.
32833         * tests/test-btowc.c: New file.
32834
32835         New module 'btowc'.
32836         * lib/wchar.in.h (btowc): New declaration.
32837         * lib/btowc.c: New file.
32838         * m4/btowc.m4: New file.
32839         * modules/btowc: New file.
32840         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
32841         HAVE_BTOWC.
32842         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
32843         * doc/posix-functions/btowc.texi: Document the new module.
32844
32845 2008-12-17  Bruno Haible  <bruno@clisp.org>
32846
32847         New module 'mbsinit'.
32848         * lib/wchar.in.h (mbsinit): New declaration.
32849         * lib/mbsinit.c: New file.
32850         * m4/mbsinit.m4: New file.
32851         * modules/mbsinit: New file.
32852         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
32853         HAVE_MBSINIT.
32854         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
32855         HAVE_MBSINIT.
32856         * doc/posix-functions/mbsinit.texi: Document the new module.
32857
32858 2008-12-16  Bruno Haible  <bruno@clisp.org>
32859
32860         * lib/unistd.in.h: Add comment.
32861         * tests/test-environ.c: Don't include <stdlib.h>.
32862
32863 2008-12-16  Bruno Haible  <bruno@clisp.org>
32864
32865         * lib/parse-duration.h (parse_duration): Document return value
32866         convention.
32867         * lib/parse-duration.c: Include specification header first. Add
32868         comments.
32869         (_): Remove macro.
32870         (parse_year_month_day, parse_hour_minute_second): Move side effects
32871         outside of strchr call.
32872         (parse_non_iso8601): Move side effects outside of isspace call.
32873         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
32874         call.
32875
32876 2008-12-16  Bruno Haible  <bruno@clisp.org>
32877
32878         * tests/test-parse-duration.sh: Produce no output when the test
32879         succeeds.
32880
32881 2008-12-16  Bruno Haible  <bruno@clisp.org>
32882
32883         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
32884         expressions.
32885
32886 2008-12-15  Bruno Haible  <bruno@clisp.org>
32887
32888         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
32889         * doc/glibc-functions/flistxattr.texi: Likewise.
32890         * doc/glibc-functions/fopencookie.texi: Likewise.
32891         * doc/glibc-functions/fremovexattr.texi: Likewise.
32892         * doc/glibc-functions/fsetxattr.texi: Likewise.
32893         * doc/glibc-functions/getxattr.texi: Likewise.
32894         * doc/glibc-functions/lgetxattr.texi: Likewise.
32895         * doc/glibc-functions/listxattr.texi: Likewise.
32896         * doc/glibc-functions/llistxattr.texi: Likewise.
32897         * doc/glibc-functions/lremovexattr.texi: Likewise.
32898         * doc/glibc-functions/lsetxattr.texi: Likewise.
32899         * doc/glibc-functions/removexattr.texi: Likewise.
32900         * doc/glibc-functions/setxattr.texi: Likewise.
32901         * doc/posix-functions/open_memstream.texi: Likewise.
32902
32903 2008-12-15  Eric Blake  <ebb9@byu.net>
32904
32905         Update doc for cygwin 1.7.
32906         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
32907         functions.
32908         * doc/posix-functions/fchmodat.texi: Likewise.
32909         * doc/posix-functions/fchownat.texi: Likewise.
32910         * doc/posix-functions/fdopendir.texi: Likewise.
32911         * doc/posix-functions/fmemopen.texi: Likewise.
32912         * doc/posix-functions/freeaddrinfo.texi: Likewise.
32913         * doc/posix-functions/fstatat.texi: Likewise.
32914         * doc/posix-functions/futimens.texi: Likewise.
32915         * doc/posix-functions/gai_strerror.texi: Likewise.
32916         * doc/posix-functions/getaddrinfo.texi: Likewise.
32917         * doc/posix-functions/getnameinfo.texi: Likewise.
32918         * doc/posix-functions/if_freenameindex.texi: Likewise.
32919         * doc/posix-functions/if_indextoname.texi: Likewise.
32920         * doc/posix-functions/if_nameindex.texi: Likewise.
32921         * doc/posix-functions/if_nametoindex.texi: Likewise.
32922         * doc/posix-functions/insque.texi: Likewise.
32923         * doc/posix-functions/linkat.texi: Likewise.
32924         * doc/posix-functions/llrint.texi: Likewise.
32925         * doc/posix-functions/llrintf.texi: Likewise.
32926         * doc/posix-functions/llrintl.texi: Likewise.
32927         * doc/posix-functions/lockf.texi: Likewise.
32928         * doc/posix-functions/lrintl.texi: Likewise.
32929         * doc/posix-functions/mkdirat.texi: Likewise.
32930         * doc/posix-functions/mkfifoat.texi: Likewise.
32931         * doc/posix-functions/mknodat.texi: Likewise.
32932         * doc/posix-functions/mq_close.texi: Likewise.
32933         * doc/posix-functions/mq_getattr.texi: Likewise.
32934         * doc/posix-functions/mq_notify.texi: Likewise.
32935         * doc/posix-functions/mq_open.texi: Likewise.
32936         * doc/posix-functions/mq_receive.texi: Likewise.
32937         * doc/posix-functions/mq_send.texi: Likewise.
32938         * doc/posix-functions/mq_setattr.texi: Likewise.
32939         * doc/posix-functions/mq_timedreceive.texi: Likewise.
32940         * doc/posix-functions/mq_timedsend.texi: Likewise.
32941         * doc/posix-functions/mq_unlink.texi: Likewise.
32942         * doc/posix-functions/open_memstream.texi: Likewise.
32943         * doc/posix-functions/openat.texi: Likewise.
32944         * doc/posix-functions/posix_fadvise.texi: Likewise.
32945         * doc/posix-functions/posix_fallocate.texi: Likewise.
32946         * doc/posix-functions/posix_madvise.texi: Likewise.
32947         * doc/posix-functions/posix_memalign.texi: Likewise.
32948         * doc/posix-functions/posix_openpt.texi: Likewise.
32949         * doc/posix-functions/readlinkat.texi: Likewise.
32950         * doc/posix-functions/remque.texi: Likewise.
32951         * doc/posix-functions/renameat.texi: Likewise.
32952         * doc/posix-functions/rintl.texi: Likewise.
32953         * doc/posix-functions/sem_unlink.texi: Likewise.
32954         * doc/posix-functions/shm_open.texi: Likewise.
32955         * doc/posix-functions/shm_unlink.texi: Likewise.
32956         * doc/posix-functions/signgam.texi: Likewise.
32957         * doc/posix-functions/sigset.texi: Likewise.
32958         * doc/posix-functions/stpcpy.texi: Likewise.
32959         * doc/posix-functions/stpncpy.texi: Likewise.
32960         * doc/posix-functions/strerror.texi: Likewise.
32961         * doc/posix-functions/strtod.texi: Likewise.
32962         * doc/posix-functions/symlinkat.texi: Likewise.
32963         * doc/posix-functions/unlinkat.texi: Likewise.
32964         * doc/posix-functions/utimensat.texi: Likewise.
32965         * doc/glibc-functions/bindresvport.texi: Likewise.
32966         * doc/glibc-functions/dn_expand.texi: Likewise.
32967         * doc/glibc-functions/exp10.texi: Likewise.
32968         * doc/glibc-functions/exp10f.texi: Likewise.
32969         * doc/glibc-functions/fgetxattr.texi: Likewise.
32970         * doc/glibc-functions/flistxattr.texi: Likewise.
32971         * doc/glibc-functions/fopencookie.texi: Likewise.
32972         * doc/glibc-functions/freeifaddrs.texi: Likewise.
32973         * doc/glibc-functions/fremovexattr.texi: Likewise.
32974         * doc/glibc-functions/fsetxattr.texi: Likewise.
32975         * doc/glibc-functions/getifaddrs.texi: Likewise.
32976         * doc/glibc-functions/getxattr.texi: Likewise.
32977         * doc/glibc-functions/lgetxattr.texi: Likewise.
32978         * doc/glibc-functions/listxattr.texi: Likewise.
32979         * doc/glibc-functions/llistxattr.texi: Likewise.
32980         * doc/glibc-functions/lremovexattr.texi: Likewise.
32981         * doc/glibc-functions/lsetxattr.texi: Likewise.
32982         * doc/glibc-functions/pow10.texi: Likewise.
32983         * doc/glibc-functions/pow10f.texi: Likewise.
32984         * doc/glibc-functions/rcmd_af.texi: Likewise.
32985         * doc/glibc-functions/removexattr.texi: Likewise.
32986         * doc/glibc-functions/res_init.texi: Likewise.
32987         * doc/glibc-functions/res_mkquery.texi: Likewise.
32988         * doc/glibc-functions/res_query.texi: Likewise.
32989         * doc/glibc-functions/res_querydomain.texi: Likewise.
32990         * doc/glibc-functions/res_send.texi: Likewise.
32991         * doc/glibc-functions/rresvport_af.texi: Likewise.
32992         * doc/glibc-functions/setxattr.texi: Likewise.
32993         * doc/glibc-functions/strcasestr.texi: Likewise.
32994
32995 2008-12-15  Bruno Haible  <bruno@clisp.org>
32996
32997         Fix compilation error on OSF/1 4.0.
32998         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
32999         <sys/time.h>, simply delegate to the system header.
33000         Reported by Daniel Richard G. <oss@teragram.com>.
33001
33002 2008-12-15  Bruno Haible  <bruno@clisp.org>
33003
33004         * doc/posix-functions/openat.texi: Mention the 'openat' module.
33005         * doc/posix-functions/fchmodat.texi: Likewise.
33006         * doc/posix-functions/fchownat.texi: Likewise.
33007         * doc/posix-functions/fdopendir.texi: Likewise.
33008         * doc/posix-functions/fstatat.texi: Likewise.
33009         * doc/posix-functions/mkdirat.texi: Likewise.
33010         * doc/posix-functions/unlinkat.texi: Likewise.
33011
33012 2008-12-14  Bruno Haible  <bruno@clisp.org>
33013
33014         Update doc for POSIX:2008.
33015         * doc/posix-functions/faccessat.texi: New file.
33016         * doc/posix-functions/fchmodat.texi: New file.
33017         * doc/posix-functions/fchownat.texi: New file.
33018         * doc/posix-functions/fdopendir.texi: New file.
33019         * doc/posix-functions/fstatat.texi: New file.
33020         * doc/posix-functions/futimens.texi: New file.
33021         * doc/posix-functions/linkat.texi: New file.
33022         * doc/posix-functions/mkdirat.texi: New file.
33023         * doc/posix-functions/mkfifoat.texi: New file.
33024         * doc/posix-functions/mknodat.texi: New file.
33025         * doc/posix-functions/open_wmemstream.texi: New file.
33026         * doc/posix-functions/openat.texi: New file.
33027         * doc/posix-functions/psiginfo.texi: New file.
33028         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
33029         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
33030         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
33031         * doc/posix-functions/readlinkat.texi: New file.
33032         * doc/posix-functions/renameat.texi: New file.
33033         * doc/posix-functions/strerror_l.texi: New file.
33034         * doc/posix-functions/symlinkat.texi: New file.
33035         * doc/posix-functions/unlinkat.texi: New file.
33036         * doc/posix-functions/utimensat.texi: New file.
33037         * doc/gnulib.texi (Function Substitutes): Add these subsections.
33038
33039 2008-12-14  Bruno Haible  <bruno@clisp.org>
33040
33041         Update doc for POSIX:2008.
33042         * doc/posix-functions/alphasort.texi: Renamed from
33043         doc/glibc-functions/alphasort.texi.
33044         * doc/posix-functions/dirfd.texi: Renamed from
33045         doc/glibc-functions/dirfd.texi.
33046         * doc/posix-functions/dprintf.texi: Renamed from
33047         doc/glibc-functions/dprintf.texi.
33048         * doc/posix-functions/duplocale.texi: Renamed from
33049         doc/glibc-functions/duplocale.texi.
33050         * doc/posix-functions/fexecve.texi: Renamed from
33051         doc/glibc-functions/fexecve.texi.
33052         * doc/posix-functions/fmemopen.texi: Renamed from
33053         doc/glibc-functions/fmemopen.texi.
33054         * doc/posix-functions/freelocale.texi: Renamed from
33055         doc/glibc-functions/freelocale.texi.
33056         * doc/posix-functions/getdate_err.texi: Renamed from
33057         doc/glibc-functions/getdate_err.texi.
33058         * doc/posix-functions/isalnum_l.texi: Renamed from
33059         doc/glibc-functions/isalnum_l.texi.
33060         * doc/posix-functions/isalpha_l.texi: Renamed from
33061         doc/glibc-functions/isalpha_l.texi.
33062         * doc/posix-functions/isblank_l.texi: Renamed from
33063         doc/glibc-functions/isblank_l.texi.
33064         * doc/posix-functions/iscntrl_l.texi: Renamed from
33065         doc/glibc-functions/iscntrl_l.texi.
33066         * doc/posix-functions/isdigit_l.texi: Renamed from
33067         doc/glibc-functions/isdigit_l.texi.
33068         * doc/posix-functions/isgraph_l.texi: Renamed from
33069         doc/glibc-functions/isgraph_l.texi.
33070         * doc/posix-functions/islower_l.texi: Renamed from
33071         doc/glibc-functions/islower_l.texi.
33072         * doc/posix-functions/isprint_l.texi: Renamed from
33073         doc/glibc-functions/isprint_l.texi.
33074         * doc/posix-functions/ispunct_l.texi: Renamed from
33075         doc/glibc-functions/ispunct_l.texi.
33076         * doc/posix-functions/isspace_l.texi: Renamed from
33077         doc/glibc-functions/isspace_l.texi.
33078         * doc/posix-functions/isupper_l.texi: Renamed from
33079         doc/glibc-functions/isupper_l.texi.
33080         * doc/posix-functions/iswalnum_l.texi: Renamed from
33081         doc/glibc-functions/iswalnum_l.texi.
33082         * doc/posix-functions/iswalpha_l.texi: Renamed from
33083         doc/glibc-functions/iswalpha_l.texi.
33084         * doc/posix-functions/iswblank_l.texi: Renamed from
33085         doc/glibc-functions/iswblank_l.texi.
33086         * doc/posix-functions/iswcntrl_l.texi: Renamed from
33087         doc/glibc-functions/iswcntrl_l.texi.
33088         * doc/posix-functions/iswctype_l.texi: Renamed from
33089         doc/glibc-functions/iswctype_l.texi.
33090         * doc/posix-functions/iswdigit_l.texi: Renamed from
33091         doc/glibc-functions/iswdigit_l.texi.
33092         * doc/posix-functions/iswgraph_l.texi: Renamed from
33093         doc/glibc-functions/iswgraph_l.texi.
33094         * doc/posix-functions/iswlower_l.texi: Renamed from
33095         doc/glibc-functions/iswlower_l.texi.
33096         * doc/posix-functions/iswprint_l.texi: Renamed from
33097         doc/glibc-functions/iswprint_l.texi.
33098         * doc/posix-functions/iswpunct_l.texi: Renamed from
33099         doc/glibc-functions/iswpunct_l.texi.
33100         * doc/posix-functions/iswspace_l.texi: Renamed from
33101         doc/glibc-functions/iswspace_l.texi.
33102         * doc/posix-functions/iswupper_l.texi: Renamed from
33103         doc/glibc-functions/iswupper_l.texi.
33104         * doc/posix-functions/iswxdigit_l.texi: Renamed from
33105         doc/glibc-functions/iswxdigit_l.texi.
33106         * doc/posix-functions/isxdigit_l.texi: Renamed from
33107         doc/glibc-functions/isxdigit_l.texi.
33108         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
33109         doc/glibc-functions/mbsnrtowcs.texi.
33110         * doc/posix-functions/mkdtemp.texi: Renamed from
33111         doc/glibc-functions/mkdtemp.texi.
33112         * doc/posix-functions/newlocale.texi: Renamed from
33113         doc/glibc-functions/newlocale.texi.
33114         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
33115         doc/glibc-functions/nl_langinfo_l.texi.
33116         * doc/posix-functions/open_memstream.texi: Renamed from
33117         doc/glibc-functions/open_memstream.texi.
33118         * doc/posix-functions/opterr.texi: Renamed from
33119         doc/glibc-functions/opterr.texi.
33120         * doc/posix-functions/optind.texi: Renamed from
33121         doc/glibc-functions/optind.texi.
33122         * doc/posix-functions/optopt.texi: Renamed from
33123         doc/glibc-functions/optopt.texi.
33124         * doc/posix-functions/psignal.texi: Renamed from
33125         doc/glibc-functions/psignal.texi.
33126         * doc/posix-functions/scandir.texi: Renamed from
33127         doc/glibc-functions/scandir.texi.
33128         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
33129         doc/glibc-functions/sched_get_priority_min.texi.
33130         * doc/posix-functions/signgam.texi: Renamed from
33131         doc/glibc-functions/signgam.texi.
33132         * doc/posix-functions/stpcpy.texi: Renamed from
33133         doc/glibc-functions/stpcpy.texi.
33134         * doc/posix-functions/stpncpy.texi: Renamed from
33135         doc/glibc-functions/stpncpy.texi.
33136         * doc/posix-functions/strcasecmp_l.texi: Renamed from
33137         doc/glibc-functions/strcasecmp_l.texi.
33138         * doc/posix-functions/strcoll_l.texi: Renamed from
33139         doc/glibc-functions/strcoll_l.texi.
33140         * doc/posix-functions/strfmon_l.texi: Renamed from
33141         doc/glibc-functions/strfmon_l.texi.
33142         * doc/posix-functions/strftime_l.texi: Renamed from
33143         doc/glibc-functions/strftime_l.texi.
33144         * doc/posix-functions/strncasecmp_l.texi: Renamed from
33145         doc/glibc-functions/strncasecmp_l.texi.
33146         * doc/posix-functions/strndup.texi: Renamed from
33147         doc/glibc-functions/strndup.texi.
33148         * doc/posix-functions/strnlen.texi: Renamed from
33149         doc/glibc-functions/strnlen.texi.
33150         * doc/posix-functions/strsignal.texi: Renamed from
33151         doc/glibc-functions/strsignal.texi.
33152         * doc/posix-functions/strxfrm_l.texi: Renamed from
33153         doc/glibc-functions/strxfrm_l.texi.
33154         * doc/posix-functions/timer_gettime.texi: Renamed from
33155         doc/glibc-functions/timer_gettime.texi.
33156         * doc/posix-functions/tolower_l.texi: Renamed from
33157         doc/glibc-functions/tolower_l.texi.
33158         * doc/posix-functions/toupper_l.texi: Renamed from
33159         doc/glibc-functions/toupper_l.texi.
33160         * doc/posix-functions/towctrans_l.texi: Renamed from
33161         doc/glibc-functions/towctrans_l.texi.
33162         * doc/posix-functions/towlower_l.texi: Renamed from
33163         doc/glibc-functions/towlower_l.texi.
33164         * doc/posix-functions/towupper_l.texi: Renamed from
33165         doc/glibc-functions/towupper_l.texi.
33166         * doc/posix-functions/uselocale.texi: Renamed from
33167         doc/glibc-functions/uselocale.texi.
33168         * doc/posix-functions/vdprintf.texi: Renamed from
33169         doc/glibc-functions/vdprintf.texi.
33170         * doc/posix-functions/wcpcpy.texi:
33171         Renamed from doc/glibc-functions/wcpcpy.texi.
33172         * doc/posix-functions/wcpncpy.texi: Renamed from
33173         doc/glibc-functions/wcpncpy.texi.
33174         * doc/posix-functions/wcscasecmp.texi: Renamed from
33175         doc/glibc-functions/wcscasecmp.texi.
33176         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
33177         doc/glibc-functions/wcscasecmp_l.texi.
33178         * doc/posix-functions/wcscoll_l.texi: Renamed from
33179         doc/glibc-functions/wcscoll_l.texi.
33180         * doc/posix-functions/wcsdup.texi: Renamed from
33181         doc/glibc-functions/wcsdup.texi.
33182         * doc/posix-functions/wcsncasecmp.texi: Renamed from
33183         doc/glibc-functions/wcsncasecmp.texi.
33184         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
33185         doc/glibc-functions/wcsncasecmp_l.texi.
33186         * doc/posix-functions/wcsnlen.texi: Renamed from
33187         doc/glibc-functions/wcsnlen.texi.
33188         * doc/posix-functions/wcsnrtombs.texi: Renamed from
33189         doc/glibc-functions/wcsnrtombs.texi.
33190         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
33191         doc/glibc-functions/wcsxfrm_l.texi.
33192         * doc/posix-functions/wctrans_l.texi: Renamed from
33193         doc/glibc-functions/wctrans_l.texi.
33194         * doc/posix-functions/wctype_l.texi: Renamed from
33195         doc/glibc-functions/wctype_l.texi.
33196         * doc/gnulib.texi (Function Substitutes): Add these subsections.
33197         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
33198         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
33199         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
33200         these subsections.
33201         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
33202         Remove sections.
33203
33204 2008-12-14  Bruno Haible  <bruno@clisp.org>
33205
33206         Update doc for POSIX:2008.
33207         * doc/posix-functions/*.texi: Update URL of POSIX specification.
33208
33209 2008-12-14  Bruno Haible  <bruno@clisp.org>
33210
33211         Update doc for POSIX:2008.
33212         * doc/pastposix-functions/bcmp.texi: Renamed from
33213         doc/posix-functions/bcmp.texi.
33214         * doc/pastposix-functions/bcopy.texi: Renamed from
33215         doc/posix-functions/bcopy.texi.
33216         * doc/pastposix-functions/bsd_signal.texi: Renamed from
33217         doc/posix-functions/bsd_signal.texi.
33218         * doc/pastposix-functions/bzero.texi: Renamed from
33219         doc/posix-functions/bzero.texi.
33220         * doc/pastposix-functions/ecvt.texi: Renamed from
33221         doc/posix-functions/ecvt.texi.
33222         * doc/pastposix-functions/fcvt.texi: Renamed from
33223         doc/posix-functions/fcvt.texi.
33224         * doc/pastposix-functions/ftime.texi: Renamed from
33225         doc/posix-functions/ftime.texi.
33226         * doc/pastposix-functions/gcvt.texi: Renamed from
33227         doc/posix-functions/gcvt.texi.
33228         * doc/pastposix-functions/getcontext.texi: Renamed from
33229         doc/posix-functions/getcontext.texi.
33230         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
33231         doc/posix-functions/gethostbyaddr.texi.
33232         * doc/pastposix-functions/gethostbyname.texi: Renamed from
33233         doc/posix-functions/gethostbyname.texi.
33234         * doc/pastposix-functions/getwd.texi: Renamed from
33235         doc/posix-functions/getwd.texi.
33236         * doc/pastposix-functions/h_errno.texi: Renamed from
33237         doc/posix-functions/h_errno.texi.
33238         * doc/pastposix-functions/index.texi: Renamed from
33239         doc/posix-functions/index.texi.
33240         * doc/pastposix-functions/makecontext.texi: Renamed from
33241         doc/posix-functions/makecontext.texi.
33242         * doc/pastposix-functions/mktemp.texi: Renamed from
33243         doc/posix-functions/mktemp.texi.
33244         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
33245         doc/posix-functions/pthread_attr_getstackaddr.texi.
33246         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
33247         doc/posix-functions/pthread_attr_setstackaddr.texi.
33248         * doc/pastposix-functions/rindex.texi: Renamed from
33249         doc/posix-functions/rindex.texi.
33250         * doc/pastposix-functions/scalb.texi: Renamed from
33251         doc/posix-functions/scalb.texi.
33252         * doc/pastposix-functions/setcontext.texi: Renamed from
33253         doc/posix-functions/setcontext.texi.
33254         * doc/pastposix-functions/swapcontext.texi: Renamed from
33255         doc/posix-functions/swapcontext.texi.
33256         * doc/pastposix-functions/ualarm.texi: Renamed from
33257         doc/posix-functions/ualarm.texi.
33258         * doc/pastposix-functions/usleep.texi: Renamed from
33259         doc/posix-functions/usleep.texi.
33260         * doc/pastposix-functions/vfork.texi: Renamed from
33261         doc/posix-functions/vfork.texi.
33262         * doc/pastposix-functions/wcswcs.texi: Renamed from
33263         doc/posix-functions/wcswcs.texi.
33264         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
33265         (Function Substitutes): Update.
33266
33267 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33268
33269         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
33270         m4/strerror.m4.
33271
33272 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33273             Bruno Haible  <bruno@clisp.org>
33274
33275         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
33276
33277 2008-12-13  Bruno Haible  <bruno@clisp.org>
33278
33279         * modules/strtoull (Depends-on): Remove unistd.
33280
33281 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33282
33283         * modules/strtoull (Depends-on): Add stdlib.
33284
33285 2008-12-11  Simon Josefsson  <simon@josefsson.org>
33286
33287         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
33288
33289 2008-12-10  Jim Meyering  <meyering@redhat.com>
33290
33291         gl_ASSERT: don't say assertions are disabled when they're not
33292         * m4/assert.m4 (gl_ASSERT): Do not make configure report
33293         "checking whether to enable assertions... no", when they are in
33294         fact enabled.  This is solely a bug in the output of configure.
33295         In spite of saying "no", NDEBUG was not defined in that case.
33296         Also, as noted by Eric Blake, leave assertions enabled upon
33297         --enable-assert=INVALID.
33298
33299 2008-12-10  Bruno Haible  <bruno@clisp.org>
33300
33301         Change MODULES.html to refer to POSIX:2008 where possible.
33302         * MODULES.html.sh (POSIX2008_URL): New variable.
33303         (posix_headers): Remove sys/timeb, ucontext.
33304         (posix2001_headers): New variable.
33305         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
33306         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
33307         index, makecontext, mktemp, pthread_attr_getstackaddr,
33308         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
33309         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
33310         (posix2001_functions): New variable.
33311         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
33312         otherwise.
33313
33314 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33315
33316         add missing include to parse-duration.c
33317         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
33318         * modules/parse-duration (Depends-on): Add xalloc.
33319
33320         fix sed script reading maint.mk
33321         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
33322         (syntax-check-rules): Use it.
33323
33324 2008-12-09  Bruno Haible  <bruno@clisp.org>
33325
33326         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
33327         MacOS X 10.4/PowerPC.
33328         Reported by Simon Josefsson.
33329
33330 2008-12-08  Jim Meyering  <meyering@redhat.com>
33331
33332         work around mingw's lack of some S_IF definitions
33333         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
33334         Reported by Simon Josefsson.
33335
33336 2008-12-08  Bruno Haible  <bruno@clisp.org>
33337
33338         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
33339         applied to variables. Needed on MacOS X 10.4/PowerPC.
33340         Reported by Simon Josefsson.
33341
33342 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
33343         and Eric Blake  <ebb9@byu.net>
33344
33345         assert: honor --enable-assert
33346         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
33347         order to honor --enable-assert, rather than treating it as a
33348         synonym for --disable-assert.
33349
33350 2008-12-08  Jim Meyering  <meyering@redhat.com>
33351
33352         * lib/posixtm.c: Remove now-useless declaration of mktime.
33353
33354         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
33355
33356 2008-12-07  Bruno Haible  <bruno@clisp.org>
33357
33358         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
33359         test_once): Mark functions as static.
33360         * tests/test-tls.c (test_tls): Likewise.
33361
33362 2008-12-07  Bruno Haible  <bruno@clisp.org>
33363
33364         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
33365         iconv_register_autodetect.
33366
33367 2008-12-07  Jim Meyering  <meyering@redhat.com>
33368
33369         posixtm.c: avoid a warning
33370         * lib/posixtm.c (posixtime): Don't initialize tm0.
33371         It's no longer needed to placate gcc4's -Wuninitialized,
33372         and the attempt to placate would elicit a new warning.
33373
33374         unicodeio.c: mark unused parameters
33375         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
33376         (fallback_failure_callback): Likewise.
33377
33378 2008-12-07  Bruno Haible  <bruno@clisp.org>
33379
33380         * gnulib-tool (func_create_testdir): When building the tests
33381         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
33382         Reported by Simon Josefsson.
33383
33384 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33385
33386         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
33387
33388 2008-12-06  Bruno Haible  <bruno@clisp.org>
33389
33390         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
33391         Suggested by Eric Blake.
33392
33393 2008-12-06  Bruno Haible  <bruno@clisp.org>
33394
33395         Fix a c-stack test failure on MacOS X.
33396         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
33397         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
33398         handler for SIGBUS as well.
33399         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
33400         install a signal handler for SIGBUS as well.
33401         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
33402
33403 2008-12-06  Bruno Haible  <bruno@clisp.org>
33404
33405         Advocacy documentation.
33406         * doc/gnulib-intro.texi (Benefits): New section.
33407         * doc/gnulib.texi: Update.
33408
33409 2008-12-06  Bruno Haible  <bruno@clisp.org>
33410
33411         Document the 'manywarnings' module.
33412         * doc/manywarnings.texi: New file.
33413         * doc/gnulib.texi: Include it.
33414
33415 2008-12-05  Eric Blake  <ebb9@byu.net>
33416
33417         tests: silence some gcc warnings
33418         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
33419         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
33420         type mismatches.
33421
33422 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33423             Bruno Haible  <bruno@clisp.org>
33424
33425         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
33426
33427 2008-11-29  Jim Meyering  <meyering@redhat.com>
33428
33429         unicodeio.c: mark unused parameters
33430         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
33431         (fallback_failure_callback): Likewise.
33432
33433         fts: fix a thinko
33434         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
33435         (set_stat_type): Return S_IF*-valued "type" directly.
33436         Prompted by James Youngman's spotting a related bug.
33437         Confirmed by further testing through find.
33438
33439         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
33440         * lib/fts.c (D_TYPE): Define.
33441         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
33442         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
33443         (s_ifmt_shift_bits): New function.
33444         (set_stat_type): New function.
33445         (fts_build): When not calling fts_stat, call set_stat_type
33446         to propagate dirent.d_type info to fts_read caller.
33447         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
33448         fts_statp->st_mode type information may be valid.
33449
33450 2008-11-28  Simon Josefsson  <simon@josefsson.org>
33451
33452         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
33453         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
33454         <sds@gnu.org>.
33455
33456 2008-11-20  Bruno Haible  <bruno@clisp.org>
33457
33458         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
33459         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
33460         INCLUDE_NEXT.
33461         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
33462         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
33463         * modules/math (Makefile.am): Substitute
33464         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
33465         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
33466
33467 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
33468             Bruno Haible  <bruno@clisp.org>
33469
33470         * lib/stdint.in.h: Define all type macros so that their expansion is
33471         a single typedef'ed token. Fixes a compilation failure in Boost which
33472         does "using ::int8_t;".
33473
33474 2008-11-18  Simon Josefsson  <simon@josefsson.org>
33475
33476         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
33477         gl_MANYWARN_ALL_GCC.
33478         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
33479         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
33480         * modules/manywarnings: New file.
33481         * MODULES.html.sh: Mention manywarnings module.
33482
33483 2008-11-18  Bruno Haible  <bruno@clisp.org>
33484
33485         * doc/gnulib-tool.texi (Unit tests): New section.
33486
33487 2008-11-18  Simon Josefsson  <simon@josefsson.org>
33488
33489         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
33490         paths like 'lib/po/foo.po'.
33491
33492 2008-11-17  Simon Josefsson  <simon@josefsson.org>
33493
33494         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
33495         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
33496
33497 2008-11-17  Simon Josefsson  <simon@josefsson.org>
33498
33499         * m4/warnings.m4: Use CPPFLAGS to really check whether the
33500         parameter works.
33501
33502 2008-11-17  Simon Josefsson  <simon@josefsson.org>
33503
33504         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
33505
33506 2008-11-17  Bruce Korb  <bkorb@gnu.org>
33507
33508         * modules/parse-duration-tests: New file.
33509         * tests/test-parse-duration.sh: New file.
33510         * tests/test-parse-duration.c: New file.
33511
33512         New module 'parse-duration'.
33513         * lib/parse-duration.h: New file.
33514         * lib/parse-duration.c: New file.
33515         * modules/parse-duration: New file.
33516
33517 2008-11-17  Bruno Haible  <bruno@clisp.org>
33518
33519         * tests/test-select-out.sh: Comment out the first pipe test.
33520         Reported by Simon Josefsson.
33521
33522 2008-11-17  Bruno Haible  <bruno@clisp.org>
33523
33524         * modules/getaddrinfo (Depends-on): Add servent, hostent.
33525         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
33526         gl_HOSTENT.
33527
33528 2008-11-17  Bruno Haible  <bruno@clisp.org>
33529
33530         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
33531         -lnetwork and -lnet. Needed for Haiku and BeOS.
33532
33533 2008-11-16  Bruno Haible  <bruno@clisp.org>
33534
33535         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
33536
33537 2008-11-16  Bruno Haible  <bruno@clisp.org>
33538
33539         Avoid test failure on Haiku.
33540         * tests/test-fsync.c: Include <errno.h>.
33541         (main): Don't require that fsync (0) fails.
33542
33543 2008-11-15  Bruno Haible  <bruno@clisp.org>
33544
33545         New module 'hostent'.
33546         * modules/hostent: New file.
33547         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
33548
33549 2008-11-15  Bruno Haible  <bruno@clisp.org>
33550
33551         New module 'servent'.
33552         * modules/servent: New file.
33553         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
33554
33555 2008-11-15  Bruno Haible  <bruno@clisp.org>
33556
33557         Avoid generating same test program with two different rules.
33558         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
33559         test-frexp to test-frexp-nolibm.
33560         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
33561         test-frexpl to test-frexpl-nolibm.
33562
33563 2008-11-15  Bruno Haible  <bruno@clisp.org>
33564
33565         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
33566         $(FREXPL_LIBM).
33567
33568 2008-11-15  Bruno Haible  <bruno@clisp.org>
33569
33570         * lib/netdb.in.h: Activate the definitions also when the system's
33571         <netdb.h> has 'struct addrinfo'.
33572         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
33573         EAI_OVERFLOW or AI_NUMERICSERV.
33574         * doc/posix-headers/netdb.texi: Document the problem.
33575
33576 2008-11-15  Bruno Haible  <bruno@clisp.org>
33577
33578         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
33579
33580         Make the 'sched' module work on platforms where <sched.h> exists but
33581         is incomplete (such as Haiku).
33582         * lib/sched.in.h; Include the system's <sched.h> if it exists.
33583         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
33584         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
33585         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
33586         HAVE_STRUCT_SCHED_PARAM.
33587         * modules/sched (Depends-on): Add include_next.
33588         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
33589         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
33590         * doc/posix-headers/sched.texi: Document the issue.
33591
33592 2008-11-13  Jim Meyering  <meyering@redhat.com>
33593
33594         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
33595         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
33596         test would fail due to the difference in the Report bugs to ...
33597         line.  The expected address is empty, "<>", while the actual
33598         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
33599
33600 2008-11-12  Bruno Haible  <bruno@clisp.org>
33601
33602         lstat: don't compile lstat.c on systems lacking lstat
33603         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
33604         which don't have lstat; this is handled by lib/sys_stat.in.h already.
33605         Reported by Daniel P. Berrange via Jim Meyering.
33606
33607 2008-11-12  Jim Meyering  <meyering@redhat.com>
33608
33609         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
33610
33611 2008-11-12  Simon Josefsson  <simon@josefsson.org>
33612
33613         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
33614         instead.
33615
33616 2008-11-12  Bruno Haible  <bruno@clisp.org>
33617
33618         * lib/unicodeio.c: Include unistr.h.
33619         (utf8_wctomb): Remove function.
33620         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
33621
33622 2008-11-12  Simon Josefsson  <simon@josefsson.org>
33623
33624         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
33625         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
33626         <bruno@clisp.org>.
33627         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
33628
33629 2008-11-12  Simon Josefsson  <simon@josefsson.org>
33630
33631         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
33632         * doc/gnulib.texi: Add section for warnings.
33633
33634 2008-11-11  Bruno Haible  <bruno@clisp.org>
33635
33636         * lib/sockets.h: Add a comment.
33637
33638 2008-11-11  Karl Berry  <karl@gnu.org>
33639
33640         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
33641
33642 2008-11-11  Eric Blake  <ebb9@byu.net>
33643
33644         fdl.texi: avoid git symlinks
33645         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
33646
33647 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
33648
33649         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
33650
33651 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
33652
33653         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
33654         (gl_WARN_ADD): Substitute $2 if literal.
33655
33656 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
33657
33658         * m4/warning.m4: Remove.
33659
33660 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
33661
33662         * m4/warnings.m4: Almost complete rewrite. :-)
33663
33664 2008-11-10  Simon Josefsson  <simon@josefsson.org>
33665
33666         * modules/warnings: New module.
33667         * m4/warnings.m4: New file.
33668         * MODULES.html.sh: Mention warnings module.
33669         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
33670         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
33671
33672 2008-11-10  Eric Blake  <ebb9@byu.net>
33673
33674         fdl.texi: make a symlink to the latest version
33675         * doc/standards.texi: Revert today's earlier change.
33676         * doc/fdl-1.2.texi: Rename from old fdl.texi...
33677         * doc/fdl.texi: ...and replace this with a symlink to the newer
33678         fdl-1.3.texi.
33679
33680 2008-11-10  Bruno Haible  <bruno@clisp.org>
33681
33682         * tests/test-select-fd.c (main): Accept the result file name as fourth
33683         argument.
33684         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
33685         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
33686
33687 2008-11-10  Bruno Haible  <bruno@clisp.org>
33688
33689         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
33690         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
33691         as autoconf-substituted macros.
33692         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
33693         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
33694         gl_NETDB_H_DEFAULTS. Set these variables.
33695         * modules/netdb (Makefile.am): Substitute these variables.
33696
33697 2008-11-10  Eric Blake  <ebb9@byu.net>
33698
33699         standards.texi: include correct file for FDL 1.3
33700         * doc/standards.texi (GNU Free Documentation License): Change
33701         include file to pull in FDL 1.3, not 1.2.
33702
33703         fdl.texi: revert accidental change to license
33704         * doc/fdl.texi: This is FDL 1.2, not 1.3.
33705
33706 2008-11-10  Bruno Haible  <bruno@clisp.org>
33707
33708         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
33709         cross-compiling guesses also when the native compile gives no result.
33710
33711 2008-11-10  Bruno Haible  <bruno@clisp.org>
33712
33713         * lib/spawni.c (__spawni): Force variable into the stack.
33714
33715 2008-11-10  Bruno Haible  <bruno@clisp.org>
33716
33717         Add support for Haiku.
33718         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
33719         glibc and BeOS, but also on Haiku.
33720         * lib/fpurge.c (fpurge): Likewise.
33721         * lib/freadable.c (freadable): Likewise.
33722         * lib/freadahead.c (freadahead): Likewise.
33723         * lib/freading.c (freading): Likewise.
33724         * lib/freadptr.c (freadptr): Likewise.
33725         * lib/freadseek.c (freadptrinc): Likewise.
33726         * lib/fseeko.c (rpl_fseeko): Likewise.
33727         * lib/fseterr.c (fseterr): Likewise.
33728         * lib/fwritable.c (fwritable): Likewise.
33729         * lib/fwriting.c (fwriting): Likewise.
33730         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
33731
33732 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
33733
33734         * lib/config.charset: Treat Haiku like BeOS.
33735
33736 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
33737
33738         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
33739         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
33740
33741 2008-11-08  Bruno Haible  <bruno@clisp.org>
33742
33743         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
33744         AC_CACHE_CHECK.
33745
33746 2008-11-08  Bruno Haible  <bruno@clisp.org>
33747
33748         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
33749
33750 2008-11-08  Bruno Haible  <bruno@clisp.org>
33751
33752         * tests/test-select-fd.c: New file.
33753         * tests/test-select-in.sh: New file.
33754         * tests/test-select-out.sh: New file.
33755         * tests/test-select-stdin.c: New file.
33756         * modules/select-tests (Files): Add the new files.
33757         (Depends-on): Add gettimeofday.
33758         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
33759         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
33760         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
33761
33762 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
33763             Bruno Haible  <bruno@clisp.org>
33764
33765         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
33766
33767 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
33768
33769         * build-aux/pmccabe2html: Added support for C++ source files.
33770
33771 2008-11-05  Ben Pfaff  <blp@gnu.org>
33772
33773         Fix lib/close.c build on Windows.
33774         * modules/close (Files): Add lib/w32sock.h.
33775
33776 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
33777
33778         Accept Bison's NEWS format.
33779         * build-aux/announce-gen (print_news_deltas): Tweak
33780         $re_prefix.
33781
33782 2008-11-04  Bruno Haible  <bruno@clisp.org>
33783
33784         * modules/random_r (Maintainer): Add glibc.
33785
33786 2008-11-04  Simon Josefsson  <simon@josefsson.org>
33787
33788         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
33789         by karl@freefriends.org (Karl Berry).
33790         * doc/alloca.texi: Likewise.
33791         * doc/c-ctype.texi: Likewise.
33792         * doc/c-strcase.texi: Likewise.
33793         * doc/c-strcaseeq.texi: Likewise.
33794         * doc/c-strcasestr.texi: Likewise.
33795         * doc/c-strstr.texi: Likewise.
33796         * doc/c-strtod.texi: Likewise.
33797         * doc/c-strtold.texi: Likewise.
33798         * doc/ctime.texi: Likewise.
33799         * doc/error.texi: Likewise.
33800         * doc/fdl.texi: Likewise.
33801         * doc/gcd.texi: Likewise.
33802         * doc/getdate.texi: Likewise.
33803         * doc/gnulib-intro.texi: Likewise.
33804         * doc/gnulib-tool.texi: Likewise.
33805         * doc/gnulib.texi: Likewise.
33806         * doc/inet_ntoa.texi: Likewise.
33807         * doc/maintain.texi: Likewise.
33808         * doc/make-stds.texi: Likewise.
33809         * doc/quote.texi: Likewise.
33810         * doc/regexprops-generic.texi: Likewise.
33811         * doc/standards.texi: Likewise.
33812         * doc/verify.texi: Likewise.
33813         * doc/visibility.texi: Likewise.
33814         * doc/gnulib.texi (GNU Free Documentation License): Include
33815         fdl-1.3.texi instead of fdl.texi.
33816
33817 2008-11-04  Simon Josefsson  <simon@josefsson.org>
33818
33819         * doc/fdl-1.3.texi: New file, from
33820         <http://www.gnu.org/licenses/fdl-1.3.texi>.
33821         * modules/fdl-1.3: Add.
33822         * MODULES.html.sh: Add fdl-1.3.
33823
33824 2008-11-03  Bruno Haible  <bruno@clisp.org>
33825
33826         Make determination of absolute name of header file work with AIX xlc.
33827         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
33828         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
33829         preprocessing.
33830         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
33831         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
33832
33833 2008-11-03  Simon Josefsson  <simon@josefsson.org>
33834
33835         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
33836         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
33837         <ludo@gnu.org>.
33838
33839 2008-11-02  Bruno Haible  <bruno@clisp.org>
33840
33841         Mark 'strpbrk' obsolete.
33842         * modules/strpbrk (Status, Notice): New sections.
33843         * modules/strtok_r (Depends-on): Add strpbrk.
33844
33845 2008-11-02  Bruno Haible  <bruno@clisp.org>
33846
33847         Mark 'strdup' obsolete.
33848         * modules/strdup (Status, Notice): New sections.
33849         * modules/findprog (Depends-on): Add strdup.
33850         * modules/getaddrinfo (Depends-on): Likewise.
33851         * modules/localename (Depends-on): Likewise.
33852         * modules/relocatable-lib (Depends-on): Likewise.
33853         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
33854         * modules/relocatable-prog (Depends-on): Likewise.
33855         * modules/trim (Depends-on): Likewise.
33856         * modules/unictype/gen-ctype (Depends-on): Likewise.
33857         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
33858
33859 2008-11-02  Bruno Haible  <bruno@clisp.org>
33860
33861         Mark 'strcspn' obsolete.
33862         * modules/strcspn (Status, Notice): New sections.
33863
33864 2008-11-02  Bruno Haible  <bruno@clisp.org>
33865
33866         Mark 'rmdir' obsolete.
33867         * modules/rmdir (Status, Notice): New sections.
33868         * modules/clean-temp (Depends-on): Add rmdir.
33869         * modules/openat (Depends-on): Likewise.
33870
33871 2008-11-02  Bruno Haible  <bruno@clisp.org>
33872
33873         Mark 'raise' obsolete.
33874         * modules/raise (Status, Notice): New sections.
33875         (Include): Specify <signal.h>.
33876         * modules/stdio (Depends-on): Add raise.
33877         * modules/write (Depends-on): Likewise.
33878
33879 2008-11-02  Bruno Haible  <bruno@clisp.org>
33880
33881         Mark 'memset' obsolete.
33882         * modules/memset (Status, Notice): New sections.
33883
33884 2008-11-02  Bruno Haible  <bruno@clisp.org>
33885
33886         Mark 'memmove' obsolete.
33887         * modules/memmove (Status, Notice): New sections.
33888         * modules/argp (Depends-on): Add memmove.
33889         * modules/argz (Depends-on): Likewise.
33890         * modules/canonicalize (Depends-on): Likewise.
33891         * modules/canonicalize-lgpl (Depends-on): Likewise.
33892         * modules/fts (Depends-on): Likewise.
33893         * modules/getcwd (Depends-on): Likewise.
33894         * modules/human (Depends-on): Likewise.
33895         * modules/regex (Depends-on): Likewise.
33896         * modules/striconveh (Depends-on): Likewise.
33897         * modules/trim (Depends-on): Likewise.
33898         * modules/unistr/u8-move (Depends-on): Likewise.
33899         * modules/unistr/u16-move (Depends-on): Likewise.
33900         * modules/unistr/u32-move (Depends-on): Likewise.
33901
33902 2008-11-02  Bruno Haible  <bruno@clisp.org>
33903
33904         Mark 'memcpy' obsolete.
33905         * modules/memcpy (Status, Notice): New sections.
33906
33907 2008-11-02  Bruno Haible  <bruno@clisp.org>
33908
33909         Mark 'memcmp' obsolete.
33910         * modules/memcmp (Status, Notice): New sections.
33911         * modules/argmatch (Depends-on): Add memchr.
33912         * modules/backupfile (Depends-on): Likewise.
33913         * modules/c-strcasestr (Depends-on): Likewise.
33914         * modules/crypto/des (Depends-on): Likewise.
33915         * modules/csharpcomp (Depends-on): Likewise.
33916         * modules/fnmatch (Depends-on): Likewise.
33917         * modules/git-merge-changelog (Depends-on): Likewise.
33918         * modules/isnand (Depends-on): Likewise.
33919         * modules/isnand-nolibm (Depends-on): Likewise.
33920         * modules/isnanf (Depends-on): Likewise.
33921         * modules/isnanf-nolibm (Depends-on): Likewise.
33922         * modules/isnanl (Depends-on): Likewise.
33923         * modules/isnanl-nolibm (Depends-on): Likewise.
33924         * modules/mbchar (Depends-on): Likewise.
33925         * modules/memcoll (Depends-on): Likewise.
33926         * modules/quotearg (Depends-on): Likewise.
33927         * modules/regex (Depends-on): Likewise.
33928         * modules/relocatable-prog (Depends-on): Likewise.
33929         * modules/same (Depends-on): Likewise.
33930         * modules/signbit (Depends-on): Likewise.
33931         * modules/strcasestr-simple (Depends-on): Likewise.
33932         * modules/unictype/gen-ctype (Depends-on): Likewise.
33933         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
33934         * modules/uniname/uniname (Depends-on): Likewise.
33935         * modules/unistr/u8-cmp (Depends-on): Likewise.
33936
33937 2008-11-02  Bruno Haible  <bruno@clisp.org>
33938
33939         Mark 'memchr' obsolete.
33940         * modules/memchr (Status, Notice): New sections.
33941         * modules/argp (Depends-on): Add memchr.
33942         * modules/base64 (Depends-on): Likewise.
33943         * modules/c-strcasestr (Depends-on): Likewise.
33944         * modules/chdir-long (Depends-on): Likewise.
33945         * modules/fnmatch (Depends-on): Likewise.
33946         * modules/getsubopt (Depends-on): Likewise.
33947         * modules/git-merge-changelog (Depends-on): Likewise.
33948         * modules/glob (Depends-on): Likewise.
33949         * modules/strcasestr-simple (Depends-on): Likewise.
33950         * modules/strnlen (Depends-on): Likewise.
33951
33952 2008-11-02  Bruno Haible  <bruno@clisp.org>
33953
33954         Mark 'atexit' obsolete.
33955         * modules/atexit (Status, Notice): New sections.
33956         * modules/chdir-long (Depends-on): Add atexit.
33957         * modules/wait-process (Depends-on): Likewise.
33958
33959 2008-11-02  Bruno Haible  <bruno@clisp.org>
33960
33961         * gnulib-tool: New option --with-obsolete.
33962         (func_usage): Document it.
33963         (func_modules_transitive_closure): Drop obsolete dependencies if
33964         incobsolete is not true.
33965         (func_import): Read and save the incobsolete variable to the cache.
33966
33967 2008-11-02  Bruno Haible  <bruno@clisp.org>
33968
33969         * modules/TEMPLATE-EXTENDED: New field 'Status'.
33970         * gnulib-tool: New option --extract-status.
33971         (func_usage): Document it.
33972         (sed_extract_prog): Recognize it.
33973         (func_get_status): New function.
33974
33975 2008-10-30  Simon Josefsson  <simon@josefsson.org>
33976
33977         * modules/sockets (License): Change from LGPL to LGPLv2+.
33978
33979 2008-10-28  Simon Josefsson  <simon@josefsson.org>
33980
33981         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
33982
33983 2008-10-28  Simon Josefsson  <simon@josefsson.org>
33984
33985         * MODULES.html.sh (Support for systems lacking POSIX:2001):
33986         Mention times and sys_times.
33987         * modules/sys_times, modules/sys_times-tests: New modules.
33988         * modules/times, modules/times-tests: Likewise
33989         * m4/sys_times_h.m4: New file.
33990         * lib/sys_times.in.h: Likewise
33991         * lib/times.c: Likewise.
33992         * tests/test-sys_times.c: Likewise.
33993         * tests/test-times.c: Likewise.
33994         * doc/posix-headers/sys_times.texi: Update.
33995         * doc/posix-functions/times.texi: Update.
33996
33997 2008-10-28  Jim Meyering  <meyering@redhat.com>
33998
33999         * modules/tempname (Depends-on): Add lstat.
34000
34001         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
34002
34003 2008-10-28  Simon Josefsson  <simon@josefsson.org>
34004
34005         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
34006         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
34007         using idiom used elsewhere in gnulib.
34008
34009 2008-10-27  Jim Meyering  <meyering@redhat.com>
34010
34011         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
34012
34013 2008-10-27  Simon Josefsson  <simon@josefsson.org>
34014
34015         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
34016         TESTS_ENVIRONMENT, for shell scripts that needs to call built
34017         programs.
34018         * tests/test-argp-2.sh: Use $EXEEXT when needed.
34019
34020 2008-10-27  Simon Josefsson  <simon@josefsson.org>
34021
34022         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
34023
34024 2008-10-27  Bruno Haible  <bruno@clisp.org>
34025
34026         * tests/test-lstat.c: Include <stdio.h>.
34027
34028 2008-10-27  Simon Josefsson  <simon@josefsson.org>
34029
34030         * modules/lstat-tests: New module.
34031         * tests/test-lstat.c: New file.
34032
34033 2008-10-26  Jim Meyering  <meyering@redhat.com>
34034
34035         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
34036
34037 2008-10-26  Simon Josefsson  <simon@josefsson.org>
34038             Bruno Haible  <bruno@clisp.org>
34039
34040         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
34041         * modules/configmake (Include): Add a note that the include must come
34042         after all system headers.
34043         * lib/javaversion.c: Include configmake.h after all other includes.
34044
34045 2008-10-26  Bruno Haible  <bruno@clisp.org>
34046
34047         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
34048         HAVE_STRUCT_RANDOM_DATA to 1.
34049         (gl_STDLIB_H): Simplify.
34050
34051 2008-10-26  Simon Josefsson  <simon@josefsson.org>
34052
34053         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
34054         substitute HAVE_STRUCT_RANDOM_DATA.
34055         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
34056         random_data.
34057         * modules/stdlib (Makefile.am): Substitute
34058         HAVE_STRUCT_RANDOM_DATA.
34059
34060 2008-10-26  Simon Josefsson  <simon@josefsson.org>
34061
34062         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
34063         * doc/gnulib-intro.texi (Copyright): Likewise.
34064
34065 2008-10-26  Simon Josefsson  <simon@josefsson.org>
34066
34067         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
34068         findings.
34069
34070 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
34071             Bruno Haible  <bruno@clisp.org>
34072
34073         * lib/unistd.in.h: Include <winsock2.h>.
34074         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
34075         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
34076         Provide dummy declarations.
34077         (gethostname): Override.
34078         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
34079         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
34080         gl_PREREQ_SYS_H_WINSOCK2.
34081         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
34082         * doc/posix-functions/gethostname.texi: More details.
34083
34084 2008-10-25  Bruno Haible  <bruno@clisp.org>
34085
34086         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
34087         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
34088         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
34089
34090         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
34091         here ...
34092         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
34093         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
34094         gl_UNISTD_H_DEFAULTS.
34095
34096 2008-10-25  Eric Blake  <ebb9@byu.net>
34097
34098         signbit: avoid spurious compiler failure
34099         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
34100         declarations inside function.
34101
34102 2008-10-24  Simon Josefsson  <simon@josefsson.org>
34103             Bruno Haible  <bruno@clisp.org>
34104
34105         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
34106         * modules/random_r (Depends-on): Add stdint.
34107
34108 2008-10-24  Bruno Haible  <bruno@clisp.org>
34109
34110         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
34111         Eggert.
34112         * modules/strerror (License): Likewise.
34113
34114 2008-10-24  Jim Meyering  <meyering@redhat.com>
34115
34116         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
34117         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
34118
34119 2008-10-24  Eric Blake  <ebb9@byu.net>
34120
34121         getgroups: fix compilation when getgroups is available
34122         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
34123         but with <config.h> override of getgroups disabled.
34124
34125 2008-10-24  Simon Josefsson  <simon@josefsson.org>
34126
34127         * doc/gnulib.texi (Header files): Add note about C++ problems.
34128         Explained by Bruno Haible <bruno@clisp.org>.
34129
34130 2008-10-23  Bruno Haible  <bruno@clisp.org>
34131
34132         Define a dummy SA_NODEFER macro on Interix.
34133         * lib/signal.in.h (SA_NODEFER): Define fallback.
34134         Reported by Aleksey Cheusov <cheusov@tut.by> via
34135         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
34136
34137 2008-10-23  Bruno Haible  <bruno@clisp.org>
34138
34139         * modules/freadahead (License): Change to LGPLv2+.
34140         Suggested by Simon Josefsson.
34141
34142 2008-10-23  Jim Meyering  <meyering@redhat.com>
34143
34144         random_r: new module
34145         * modules/random_r: New file.
34146         * m4/random_r.m4: New file.
34147         * lib/random_r.c: New file, from glibc.
34148         * modules/random_r-tests: New file.
34149         * tests/test-random_r.c: New file.
34150         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
34151          Declare.
34152         (RAND_MAX): Define.
34153         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
34154         * modules/stdlib: Substitute them, too.
34155         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
34156         * doc/glibc-functions/initstate_r.texi: Mention the new module.
34157         * doc/glibc-functions/random_r.texi: Likewise.
34158         * doc/glibc-functions/setstate_r.texi: Likewise.
34159         * doc/glibc-functions/srandom_r.texi: Likewise.
34160         * config/srclist.txt: Mention it.
34161
34162 2008-10-23  David Lutterkort  <lutter@redhat.com>
34163
34164         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
34165         link requirement
34166
34167 2008-10-23  Jim Meyering  <meyering@redhat.com>
34168
34169         selinux-h: mark parameters of stub functions as intentionally unused
34170         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
34171         * lib/se-context.in.h: Likewise.
34172
34173 2008-10-22  Simon Josefsson  <simon@josefsson.org>
34174
34175         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
34176
34177 2008-10-22  Simon Josefsson  <simon@josefsson.org>
34178
34179         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
34180
34181 2008-10-22  Eric Blake  <ebb9@byu.net>
34182
34183         glthread/thread: avoid compiler warning
34184         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
34185         Add unreachable abort to silence compiler.
34186
34187 2008-10-22  Eric Blake  <ebb9@byu.net>
34188
34189         netdb: also supply struct addrinfo for cygwin 1.5.x
34190         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
34191         older cygwin.
34192         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
34193         cygwin.
34194         * doc/posix-headers/netdb.texi (netdb.h): Document this.
34195
34196 2008-10-22  Bruno Haible  <bruno@clisp.org>
34197
34198         * users.txt: Update entry about pspp.
34199
34200 2008-10-21  Bruno Haible  <bruno@clisp.org>
34201
34202         Simplification.
34203         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
34204         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
34205
34206         Simplification.
34207         * lib/ioctl.c (ioctl): Don't undefine.
34208         * lib/socket.c (socket): Don't undefine.
34209
34210         Remove unused module indicator macros.
34211         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
34212         GNULIB_$1 as a C macro.
34213
34214         * doc/posix-functions/close.texi: Undo last change.
34215         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
34216         Windows platforms.
34217
34218 2008-10-21  Bruno Haible  <bruno@clisp.org>
34219
34220         Add gethostname() declaration to <unistd.h>.
34221         * lib/unistd.in.h (gethostname): New declaration.
34222         * lib/gethostname.c: Include <unistd.h>.
34223         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
34224         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
34225         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
34226         and HAVE_GETHOSTNAME.
34227         * modules/gethostname (Depends-on): Add unistd.
34228         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
34229         (Include): Specify <unistd.h>.
34230         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
34231         HAVE_GETHOSTNAME.
34232         * tests/test-gethostname.c: Include <unistd.h> first.
34233
34234 2008-10-21  Bruno Haible  <bruno@clisp.org>
34235
34236         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
34237         * modules/select-tests (Depends-on): Likewise.
34238         Reported by Simon Josefsson.
34239
34240 2008-10-21  Simon Josefsson  <simon@josefsson.org>
34241
34242         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
34243         * lib/accept.c: New file, based on winsock.c.
34244         * lib/bind.c: New file, based on winsock.c.
34245         * lib/connect.c: New file, based on winsock.c.
34246         * lib/getpeername.c: New file, based on winsock.c.
34247         * lib/getsockname.c: New file, based on winsock.c.
34248         * lib/getsockopt.c: New file, based on winsock.c.
34249         * lib/ioctl.c: New file, based on winsock.c.
34250         * lib/listen.c: New file, based on winsock.c.
34251         * lib/recv.c: New file, based on winsock.c.
34252         * lib/recvfrom.c: New file, based on winsock.c.
34253         * lib/send.c: New file, based on winsock.c.
34254         * lib/sendto.c: New file, based on winsock.c.
34255         * lib/setsockopt.c: New file, based on winsock.c.
34256         * lib/shutdown.c: New file, based on winsock.c.
34257         * lib/socket.c: New file, based on winsock.c.
34258         * lib/w32sock.h: New file, based on winsock.c.
34259         * lib/winsock.c: Remove file.
34260         * modules/accept: Likewise.
34261         * modules/bind: Likewise.
34262         * modules/connect: Likewise.
34263         * modules/getpeername: Likewise.
34264         * modules/getsockname: Likewise.
34265         * modules/getsockopt: Likewise.
34266         * modules/ioctl: Likewise.
34267         * modules/listen: Likewise.
34268         * modules/recv: Likewise.
34269         * modules/recvfrom: Likewise.
34270         * modules/send: Likewise.
34271         * modules/sendto: Likewise.
34272         * modules/setsockopt: Likewise.
34273         * modules/shutdown: Likewise.
34274         * modules/socket: Use socket.c instead of winsock.c.
34275         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
34276         * doc/posix-functions/accept.texi: Doc fix.
34277         * doc/posix-functions/bind.texi: Doc fix.
34278         * doc/posix-functions/close.texi: Doc fix.
34279         * doc/posix-functions/connect.texi: Doc fix.
34280         * doc/posix-functions/getpeername.texi: Doc fix.
34281         * doc/posix-functions/getsockname.texi: Doc fix.
34282         * doc/posix-functions/getsockopt.texi: Doc fix.
34283         * doc/posix-functions/ioctl.texi: Doc fix.
34284         * doc/posix-functions/listen.texi: Doc fix.
34285         * doc/posix-functions/recv.texi: Doc fix.
34286         * doc/posix-functions/recvfrom.texi: Doc fix.
34287         * doc/posix-functions/send.texi: Doc fix.
34288         * doc/posix-functions/sendto.texi: Doc fix.
34289         * doc/posix-functions/setsockopt.texi: Doc fix.
34290         * doc/posix-functions/shutdown.texi: Doc fix.
34291         * doc/posix-functions/socket.texi: Doc fix.
34292
34293 2008-10-20  Bruno Haible  <bruno@clisp.org>
34294
34295         Take into account the role of SIGABRT_COMPAT on Windows 2008.
34296         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
34297         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
34298         as an alias for SIGABRT.
34299         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
34300         (sigaction): Map it to SIGABRT.
34301         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
34302
34303 2008-10-20  Bruno Haible  <bruno@clisp.org>
34304
34305         * lib/fts.c: Don't include lstat.h.
34306         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
34307
34308         Move the lstat() declaration to <sys/stat.h>.
34309         * lib/lstat.h: Remove file.
34310         * lib/sys_stat.in.h: Add special invocation convention.
34311         (lstat): New declaration.
34312         * lib/lstat.c (orig_lstat): New function.
34313         (rpl_lstat): Use orig_lstat instead of lstat.
34314         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
34315         AC_C_INLINE. Set REPLACE_LSTAT.
34316         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
34317         and REPLACE_LSTAT.
34318         * modules/lstat (Files): Remove lib/lstat.h.
34319         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
34320         (Include): Specify <sys/stat.h> instead of lstat.h.
34321         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
34322         REPLACE_LSTAT.
34323         * NEWS: Mention the change.
34324
34325 2008-10-20  Bruno Haible  <bruno@clisp.org>
34326
34327         * modules/posix_spawn-tests: New file.
34328         * tests/test-posix_spawn3.c: New file.
34329
34330 2008-10-20  Bruno Haible  <bruno@clisp.org>
34331
34332         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
34333         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
34334         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
34335         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
34336         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
34337
34338 2008-10-20  Bruno Haible  <bruno@clisp.org>
34339
34340         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
34341         of posix_spawn on AIX 5.3.
34342
34343 2008-10-20  Bruno Haible  <bruno@clisp.org>
34344
34345         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
34346
34347 2008-10-20  Bruno Haible  <bruno@clisp.org>
34348
34349         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
34350         of AC_LANG_PROGRAM.
34351
34352 2008-10-20  Simon Josefsson  <simon@josefsson.org>
34353
34354         * lib/netdb.in.h: Don't define GNU specific constants until they
34355         are supported or needed.  Reported by Bruno Haible
34356         <bruno@clisp.org>.
34357
34358 2008-10-20  Simon Josefsson  <simon@josefsson.org>
34359
34360         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
34361
34362 2008-10-20  Simon Josefsson  <simon@josefsson.org>
34363
34364         * lib/getaddrinfo.h: Remove file.
34365         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
34366         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
34367         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
34368         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
34369         * modules/netdb: Substitute GNULIB_GETADDRINFO.
34370         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
34371         * tests/test-getaddrinfo.c: Likewise.
34372         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
34373         * NEWS: Mention change.
34374
34375 2008-10-19  Bruno Haible  <bruno@clisp.org>
34376
34377         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
34378
34379 2008-10-19  Bruno Haible  <bruno@clisp.org>
34380
34381         * lib/wait-process.c: Include simply <sys/wait.h>.
34382         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
34383         WIFSTOPPED): Remove fallback definitions.
34384         * modules/wait-process (Depends-on): Add sys_wait.
34385
34386         New module 'sys_wait'.
34387         * modules/sys_wait: New file.
34388         * lib/sys_wait.in.h: New file, partially copied from
34389         lib/wait-process.c.
34390         * m4/sys_wait_h.m4: New file.
34391         * doc/posix-headers/sys_wait.texi: Mention the new module.
34392
34393 2008-10-19  Bruno Haible  <bruno@clisp.org>
34394
34395         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
34396
34397 2008-10-19  Bruno Haible  <bruno@clisp.org>
34398
34399         Assume that waitpid() fills an 'int' status, not a 'union wait'.
34400         * lib/wait-process.c (WAIT_T): Remove type.
34401         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
34402         (wait_subprocess): Update.
34403
34404 2008-10-19  Bruno Haible  <bruno@clisp.org>
34405
34406         New module 'atoll'.
34407         * modules/atoll: New file.
34408         * lib/stdlib.in.h (atoll): New declaration.
34409         * lib/atoll.c: New file, from glibc with modifications.
34410         * m4/atoll.m4: New file.
34411         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
34412         HAVE_ATOLL.
34413         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
34414         * doc/posix-functions/atoll.texi: Mention the new module.
34415
34416 2008-10-19  Bruno Haible  <bruno@clisp.org>
34417
34418         Add strtoull() declaration to <stdlib.h>.
34419         * lib/stdlib.in.h (strtoull): New declaration.
34420         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
34421         Set HAVE_STRTOULL.
34422         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
34423         HAVE_STRTOULL.
34424         * modules/strtoull (Depends-on): Add stdlib.
34425         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
34426         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
34427         HAVE_STRTOULL.
34428
34429 2008-10-19  Bruno Haible  <bruno@clisp.org>
34430
34431         Add strtoll() declaration to <stdlib.h>.
34432         * lib/stdlib.in.h (strtoll): New declaration.
34433         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
34434         Set HAVE_STRTOLL.
34435         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
34436         HAVE_STRTOLL.
34437         * modules/strtoll (Depends-on): Add stdlib.
34438         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
34439         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
34440
34441 2008-10-19  Bruno Haible  <bruno@clisp.org>
34442
34443         * modules/bcopy (Depends-on): Add strings.
34444         (Include): Specify <strings.h>.
34445
34446 2008-10-19  Bruno Haible  <bruno@clisp.org>
34447
34448         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
34449
34450 2008-10-19  Bruno Haible  <bruno@clisp.org>
34451
34452         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
34453         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
34454         mingw.
34455
34456 2008-10-19  Bruno Haible  <bruno@clisp.org>
34457
34458         * lib/atanl.c: Don't include isnanl.h.
34459         * lib/cosl.c: Likewise.
34460         * lib/ldexpl.c: Likewise.
34461         * lib/logl.c: Likewise.
34462         * lib/sinl.c: Likewise.
34463         * lib/sqrtl.c: Likewise.
34464         * lib/tanl.c: Likewise.
34465
34466         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
34467         * lib/isnanf.h: Remove file.
34468         * lib/isnand.h: Remove file.
34469         * lib/isnanl.h: Remove file.
34470         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
34471         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
34472         macros.
34473         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
34474         HAVE_ISNANF, don't define it as a C macro.
34475         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
34476         HAVE_ISNAND, don't define it as a C macro.
34477         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
34478         HAVE_ISNANL, don't define it as a C macro.
34479         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
34480         HAVE_ISNAN[FDL].
34481         * modules/isnanf (Files): Remove lib/isnanf.h.
34482         (Depends-on): Add math.
34483         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
34484         (Include): Specify <math.h> instead of isnanf.h.
34485         * modules/isnand (Files): Remove lib/isnand.h.
34486         (Depends-on): Add math.
34487         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
34488         (Include): Specify <math.h> instead of isnand.h.
34489         * modules/isnanl (Files): Remove lib/isnanl.h.
34490         (Depends-on): Add math.
34491         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
34492         (Include): Specify <math.h> instead of isnanl.h.
34493         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
34494         HAVE_ISNAN[FDL].
34495         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
34496         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
34497         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
34498         * NEWS: Mention the change.
34499
34500 2008-10-18  Bruno Haible  <bruno@clisp.org>
34501
34502         Add getusershell(), setusershell(), endusershell() declarations to
34503         <unistd.h>.
34504         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
34505         declarations.
34506         * lib/getusershell.c: Include unistd.h.
34507         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
34508         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
34509         HAVE_GETUSERSHELL.
34510         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
34511         and HAVE_GETUSERSHELL.
34512         * modules/getusershell (Depends-on): Add unistd, extensions.
34513         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
34514         (Include): Specify <unistd.h>.
34515         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
34516         HAVE_GETUSERSHELL.
34517
34518 2008-10-18  Bruno Haible  <bruno@clisp.org>
34519
34520         Add a getloadavg() declaration to <stdlib.h>.
34521         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
34522         getloadavg declaration.
34523         (getloadavg): New declaration.
34524         * lib/getloadavg.c: Include <stdlib.h> first.
34525         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
34526         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
34527         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
34528         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
34529         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
34530         * modules/getloadavg (Depends-on): Add stdlib, extensions.
34531         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
34532         (Include): Specify <stdlib.h>.
34533         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
34534         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
34535
34536 2008-10-18  Bruno Haible  <bruno@clisp.org>
34537
34538         * lib/dirchownmod.c: Don't include lchmod.h.
34539
34540         Move the lchmod() declaration to <sys/stat.h>.
34541         * lib/lchmod.h: Remove file.
34542         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
34543         (lchmod): New declaration, moved here from lib/lchown.h.
34544         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
34545         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
34546         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
34547         and HAVE_LCHMOD.
34548         * modules/lchmod (Files): Remove lib/lchmod.h.
34549         (Depends-on): Add sys_stat, extensions.
34550         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
34551         (Include): Specify <sys/stat.h> instead of lchmod.h.
34552         * modules/sys_stat (Depends-on): Add link-warning.
34553         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
34554         definition of GL_LINK_WARNING.
34555         * NEWS: Mention the change.
34556
34557 2008-10-18  Bruno Haible  <bruno@clisp.org>
34558
34559         * lib/fchdir.c: Don't include dirfd.h.
34560         * lib/fts.c: Likewise.
34561         * lib/getcwd.c: Likewise.
34562         * lib/glob.c: Likewise.
34563
34564         Move the dirfd() declaration to <dirent.h>.
34565         * lib/dirfd.h: Remove file.
34566         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
34567         (dirfd): New declaration.
34568         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
34569         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
34570         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
34571         HAVE_DECL_DIRFD.
34572         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
34573         HAVE_DECL_DIRFD.
34574         * modules/dirfd (Files): Remove lib/dirfd.h.
34575         (Depends-on): Add dirent, extensions.
34576         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
34577         (Include): Specify <dirent.h> instead of dirfd.h.
34578         * modules/dirent (Depends-on): Add link-warning.
34579         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
34580         definition of GL_LINK_WARNING.
34581         * NEWS: Mention the change.
34582
34583 2008-10-18  Bruno Haible  <bruno@clisp.org>
34584
34585         Move the euidaccess() declaration to <unistd.h>.
34586         * lib/euidaccess.h: Remove file.
34587         * lib/unistd.in.h (euidaccess): New declaration.
34588         * lib/euidaccess.c: Don't include euidaccess.h.
34589         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
34590         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
34591         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
34592         and HAVE_EUIDACCESS.
34593         * modules/euidaccess (Files): Remove lib/euidaccess.h.
34594         (Depends-on): Add unistd.
34595         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
34596         (Include): Specify <unistd.h> instead of euidaccess.h.
34597         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
34598         HAVE_EUIDACCESS.
34599         * NEWS: Mention the change.
34600
34601 2008-10-18  Bruno Haible  <bruno@clisp.org>
34602
34603         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
34604
34605         Move the getdomainname() declaration to <unistd.h>.
34606         * lib/getdomainname.h: Remove file.
34607         * lib/unistd.in.h (getdomainname): New declaration.
34608         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
34609         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
34610         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
34611         HAVE_GETDOMAINNAME.
34612         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
34613         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
34614         * modules/getdomainname (Files): Remove lib/getdomainname.h.
34615         (Depends-on): Add unistd, extensions.
34616         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
34617         (Includes): Specify <unistd.h> instead of getdomainname.h.
34618         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
34619         HAVE_GETDOMAINNAME.
34620         * NEWS: Mention the change.
34621
34622 2008-10-18  Bruno Haible  <bruno@clisp.org>
34623
34624         * modules/dirent: New file.
34625         * m4/dirent_h.m4: New file.
34626         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
34627         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
34628         * modules/fchdir (Files): Remove lib/dirent.in.h.
34629         (Depends-on): Add dirent.
34630         (Makefile.am): Move rules to modules/dirent.
34631         * doc/posix-headers/dirent.texi: Mention the new module.
34632
34633 2008-10-18  Bruno Haible  <bruno@clisp.org>
34634
34635         Avoid -Wunused-parameter warnings in public gnulib header files.
34636         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
34637         macro.
34638         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
34639
34640 2008-10-18  Bruno Haible  <bruno@clisp.org>
34641
34642         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
34643         * doc/glibc-functions/error.texi: Mention the module 'error'.
34644         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
34645         * doc/glibc-functions/getdomainname.texi: Mention the module
34646         'getdomainname'.
34647         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
34648         * doc/glibc-functions/getpagesize.texi: Mention the module
34649         'getpagesize'.
34650         * doc/glibc-functions/getusershell.texi: Mention the module
34651         'getusershell'.
34652         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
34653         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
34654         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
34655         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
34656         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
34657         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
34658         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
34659         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
34660         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
34661         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
34662         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
34663         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
34664         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
34665         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
34666
34667 2008-10-17  Bruno Haible  <bruno@clisp.org>
34668
34669         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
34670         HP-UX and IRIX, use -0.0L.
34671         * tests/test-ceill.c (minus_zero): Likewise.
34672         * tests/test-floorl.c (minus_zero): Likewise.
34673         * tests/test-frexpl.c (minus_zero): Likewise.
34674         * tests/test-isnan.c (minus_zerol): Likewise.
34675         * tests/test-isnanl.h (minus_zero): Likewise.
34676         * tests/test-ldexpl.c (minus_zero): Likewise.
34677         * tests/test-roundl.c (minus_zero): Likewise.
34678         * tests/test-signbit.c (minus_zerol): Likewise.
34679         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
34680         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
34681         * tests/test-truncl.c (minus_zero): Likewise.
34682         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
34683         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
34684         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
34685         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
34686
34687 2008-10-17  Bruno Haible  <bruno@clisp.org>
34688
34689         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
34690         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
34691         that it gets activated only for gcc >= 3.0.
34692         * lib/dirent.in.h: Likewise.
34693         * lib/errno.in.h: Likewise.
34694         * lib/fcntl.in.h: Likewise.
34695         * lib/float.in.h: Likewise.
34696         * lib/iconv.in.h: Likewise.
34697         * lib/inttypes.in.h: Likewise.
34698         * lib/locale.in.h: Likewise.
34699         * lib/math.in.h: Likewise.
34700         * lib/netdb.in.h: Likewise.
34701         * lib/netinet_in.in.h: Likewise.
34702         * lib/search.in.h: Likewise.
34703         * lib/signal.in.h: Likewise.
34704         * lib/spawn.in.h: Likewise.
34705         * lib/stdarg.in.h: Likewise.
34706         * lib/stdint.in.h: Likewise.
34707         * lib/stdio.in.h: Likewise.
34708         * lib/stdlib.in.h: Likewise.
34709         * lib/string.in.h: Likewise.
34710         * lib/strings.in.h: Likewise.
34711         * lib/sys_file.in.h: Likewise.
34712         * lib/sys_ioctl.in.h: Likewise.
34713         * lib/sys_select.in.h: Likewise.
34714         * lib/sys_socket.in.h: Likewise.
34715         * lib/sys_stat.in.h: Likewise.
34716         * lib/sys_time.in.h: Likewise.
34717         * lib/sysexits.in.h: Likewise.
34718         * lib/time.in.h: Likewise.
34719         * lib/unistd.in.h: Likewise.
34720         * lib/wchar.in.h: Likewise.
34721         * lib/wctype.in.h: Likewise.
34722         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
34723
34724 2008-10-17  Jim Meyering  <meyering@redhat.com>
34725
34726         ignore-value: don't depend on inline module
34727         * modules/ignore-value (Depends-on): Remove 'inline'.
34728         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
34729         Suggestion from Bruno Haible.
34730
34731 2008-10-17  Bruno Haible  <bruno@clisp.org>
34732
34733         New implementation of condition variables for Win32.
34734         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
34735         (gl_linked_waitqueue_t): New type.
34736         (gl_cond_t): Use it.
34737         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
34738         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
34739         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
34740         (glthread_cond_init_func, glthread_cond_wait_func,
34741         glthread_cond_timedwait_func, glthread_cond_signal_func,
34742         glthread_cond_broadcast_func, glthread_cond_destroy_func):
34743         Reimplemented on the basis of gl_linked_waitqueue_t.
34744         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
34745         gl_waitqueue_t.
34746         (gl_rwlock_t): Update.
34747         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
34748
34749 2008-10-17  Simon Josefsson  <simon@josefsson.org>
34750
34751         * modules/recvfrom (Depends-on): Add dependency on getpeername.
34752         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
34753
34754 2008-10-17  Jim Meyering  <meyering@redhat.com>
34755
34756         ignore-value: new module
34757         * modules/ignore-value: New file.
34758         * lib/ignore-value.h: New file.
34759         * MODULES.html.sh (Compiler warning management): New section,
34760         just for this module.  More to come.
34761
34762 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
34763
34764         open-safer.c: avoid 'signed and unsigned in conditional...' warning
34765         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
34766         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
34767
34768 2008-10-16  Jim Meyering  <meyering@redhat.com>
34769
34770         openat-die.c: avoid 'no previous prototype' warning
34771         * lib/openat-die.c: Include "openat.h".
34772         Reported by Reuben Thomas <rrt@sc3d.org>.
34773
34774 2008-10-16  Simon Josefsson  <simon@josefsson.org>
34775
34776         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
34777         * lib/netdb.in.h: Fix typo.
34778         Reported by Bruno Haible  <bruno@clisp.org>
34779
34780         * lib/netdb.in.h: Include sys/socket.h for platforms without
34781         netdb.h, to get structures like hostent on MinGW.
34782         * modules/netdb (Depends-on): Add sys_socket.
34783
34784 2008-10-15  Simon Josefsson  <simon@josefsson.org>
34785
34786         * modules/netdb, modules/netdb-tests: New file.
34787         * m4/netdb_h.m4: New file.
34788         * lib/netdb.in.h: Add, currently just an empty file pending
34789         definitions.
34790         * tests/test-netdb.c: New file.
34791         * doc/posix-headers/netdb.texi: Mention that we replace it if
34792         needed.
34793         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
34794         netdb.
34795
34796 2008-10-15  Simon Josefsson  <simon@josefsson.org>
34797
34798         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
34799         with code.
34800
34801 2008-10-13  Bruno Haible  <bruno@clisp.org>
34802
34803         * lib/glthread/cond.c (glthread_cond_wait_func,
34804         glthread_cond_timedwait_func): Add a comment.
34805
34806 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
34807
34808         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
34809         * tests/test-select.c: Likewise,
34810
34811 2008-10-13  Bruno Haible  <bruno@clisp.org>
34812
34813         * lib/glthread/cond.c (glthread_cond_wait_func,
34814         glthread_cond_timedwait_func): Fix variable name.
34815         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
34816
34817 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
34818
34819         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
34820         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
34821         struct sockaddr.sa_len.
34822         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
34823
34824 2008-10-13  Simon Josefsson  <simon@josefsson.org>
34825
34826         * build-aux/pmccabe2html: Add css and css_url parameters.
34827
34828 2008-10-12  Bruno Haible  <bruno@clisp.org>
34829
34830         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
34831         calling aclx_get.
34832         Reported by Rainer Tammer <tammer@tammer.net>.
34833
34834 2008-10-12  Bruno Haible  <bruno@clisp.org>
34835
34836         Use msvcrt aware primitives for creation/termination of Win32 threads.
34837         * lib/glthread/thread.c: Include <process.h>.
34838         (glthread_create_func): Use _beginthreadex instead of CreateThread.
34839         (wrapper_func): Update signature.
34840         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
34841
34842 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
34843             Bruno Haible  <bruno@clisp.org>
34844
34845         Provide a Win32 implementation of the 'cond' module.
34846         * lib/glthread/cond.h [USE_WIN32]: New implementation.
34847         * lib/glthread/cond.c (glthread_cond_init_func,
34848         glthread_cond_wait_func, glthread_cond_timedwait_func,
34849         glthread_cond_signal_func, glthread_cond_broadcast_func,
34850         glthread_cond_destroy_func) [USE_WIN32]: New functions.
34851         * modules/cond (Dependencies): Add gettimeofday.
34852
34853 2008-10-11  Bruno Haible  <bruno@clisp.org>
34854
34855         Make sleep work on older versions of mingw.
34856         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
34857         only whether it exists.
34858         * doc/posix-functions/sleep.texi: Mention the problem with older
34859         versions of mingw.
34860
34861 2008-10-11  Bruno Haible  <bruno@clisp.org>
34862
34863         New module 'shutdown'.
34864         * modules/shutdown: New file.
34865         * lib/sys_socket.in.h (shutdown): New declaration.
34866         * lib/winsock.c (shutdown): New function.
34867         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
34868         GNULIB_SHUTDOWN.
34869         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
34870         * doc/posix-functions/shutdown.texi: Document the new module.
34871
34872 2008-10-11  Jim Meyering  <meyering@redhat.com>
34873
34874         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
34875
34876 2008-10-11  Bruno Haible  <bruno@clisp.org>
34877
34878         New module 'fclose'.
34879         * modules/fclose: New file.
34880         * lib/stdio.in.h (fclose): New declaration.
34881         * lib/fclose.c: New file.
34882         * m4/fclose.m4: New file.
34883         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
34884         REPLACE_FCLOSE.
34885         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
34886         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
34887         REPLACE_FCLOSE.
34888         * modules/close (Depends-on): fclose.
34889         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
34890
34891 2008-10-11  Bruno Haible  <bruno@clisp.org>
34892
34893         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
34894         set errno and don't call _close.
34895
34896 2008-10-10  Bruno Haible  <bruno@clisp.org>
34897
34898         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
34899         ACL, not afterwards. Fixes test failure on Cygwin.
34900
34901 2008-10-09  Ben Pfaff  <blp@gnu.org>
34902
34903         * build-aux/announce-gen: Fix gnulib version related part of usage
34904         message.  Die with a useful error message if no tarballs are
34905         found.
34906
34907 2008-10-10  Jim Meyering  <meyering@redhat.com>
34908
34909         bootstrap: use git's --depth=N option only if it's supported
34910         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
34911         recognize the --depth option.  Reported by Pádraig Brady.
34912
34913 2008-10-09  Bruno Haible  <bruno@clisp.org>
34914
34915         New module 'ioctl'.
34916         * modules/ioctl: New file.
34917         * lib/sys_socket.in.h (ioctl): Remove declaration.
34918         * lib/winsock.c: Include <sys/ioctl.h>.
34919         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
34920         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
34921         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
34922         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
34923         * doc/posix-functions/ioctl.texi: Mention the new module.
34924
34925 2008-10-09  Bruno Haible  <bruno@clisp.org>
34926
34927         New module 'sys_ioctl'.
34928         * lib/sys_ioctl.in.h: New file.
34929         * m4/sys_ioctl_h.m4: New file.
34930         * modules/sys_ioctl: New file.
34931         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
34932
34933 2008-10-09  Bruno Haible  <bruno@clisp.org>
34934
34935         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
34936         * lib/winsock.c: Include <stdarg.h>.
34937         (rpl_ioctl): Change to second argument 'int' and then varargs.
34938
34939 2008-10-09  Bruno Haible  <bruno@clisp.org>
34940
34941         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
34942         when the sys_socket module is present and the system has <winsock2.h>.
34943
34944 2008-10-09  Bruno Haible  <bruno@clisp.org>
34945
34946         * doc/posix-functions/close.texi: Mention module 'close' instead of
34947         module 'sys_socket'.
34948
34949 2008-10-09  Bruno Haible  <bruno@clisp.org>
34950
34951         * doc/glibc-headers/sys_ioctl.texi: New file.
34952         * doc/gnulib.texi: Include it.
34953
34954 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
34955             Bruno Haible  <bruno@clisp.org>
34956
34957         Combine the two replacements of 'close'.
34958         * lib/sys_socket.in.h (close): Define to a reminder to include
34959         <unistd.h>.
34960         (_gl_close_fd_maybe_socket): New declaration.
34961         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
34962         * lib/winsock.c (close): Remove undefinition.
34963         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
34964         needed for the gnulib module 'close'.
34965         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
34966         define to an error symbol or to a warning, if suitable.
34967         * lib/close.c: Include <sys/socket.h>.
34968         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
34969         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
34970         UNISTD_H_HAVE_WINSOCK2_H.
34971         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
34972         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
34973         UNISTD_H_HAVE_WINSOCK2_H.
34974         * modules/sys_socket (Files): Add m4/unistd_h.m4.
34975         (configure.ac): Set a module indicator.
34976         (Makefile.am): Substitute GNULIB_CLOSE.
34977         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
34978         * modules/poll-tests (Depends-on): Add close.
34979         * modules/select-tests (Depends-on): Likewise.
34980
34981 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
34982             Bruno Haible  <bruno@clisp.org>
34983
34984         New module 'close'.
34985         * modules/close: New file.
34986         * lib/unistd.in.h (close): Move declaration out of the
34987         FCHDIR_REPLACEMENT scope.
34988         (_gl_unregister_fd): New declaration.
34989         * lib/close.c: New file.
34990         * lib/fchdir.c (rpl_close): Remove function.
34991         * m4/close.m4: New file.
34992         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
34993         close.
34994         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
34995         REPLACE_CLOSE.
34996         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
34997         REPLACE_CLOSE.
34998         * modules/fchdir (Depends-on): Add close.
34999
35000 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
35001             Bruno Haible  <bruno@clisp.org>
35002
35003         * lib/fcntl.in.h (open): Simplify conditionals.
35004         (_gl_register_fd): New declaration.
35005         * lib/fchdir.c (rpl_open): Remove function.
35006         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
35007         also.
35008         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
35009         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
35010         open.
35011
35012 2008-10-09  Jim Meyering  <meyering@redhat.com>
35013
35014         GNUmakefile: use the more name-space-friendly "_version"
35015         * top/GNUmakefile (_dummy): Update.
35016         (_version): Rename from "version".
35017
35018 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
35019             Bruno Haible  <bruno@clisp.org>
35020
35021         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
35022         rpl_close.
35023         (_gl_register_fd): New function, extracted from rpl_open.
35024         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
35025         (rpl_open, rpl_opendir): Use _gl_register_fd.
35026
35027 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
35028
35029         Fix organization of 'open' replacement.
35030         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
35031         (gl_FUNC_OPEN): Use it.
35032         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
35033
35034 2008-10-08  Bruno Haible  <bruno@clisp.org>
35035
35036         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
35037
35038 2008-10-08  Simon Josefsson  <simon@josefsson.org>
35039
35040         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
35041         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
35042         listen).
35043
35044 2008-10-08  Eric Blake  <ebb9@byu.net>
35045
35046         GNUmakefile: add 'make version' target
35047         * top/GNUmakefile (_curr-ver): Split version update rules...
35048         (version): ...into a target.
35049
35050 2008-10-07  Bruno Haible  <bruno@clisp.org>
35051
35052         Use a more portable replacement expression for -0.0L.
35053         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
35054         instead of -0.0L. Fix m4 quotation.
35055
35056         * tests/test-signbit.c: Include <float.h>.
35057         (minus_zero): New variable.
35058         (test_signbitl): Use minus_zero instead of -zero.
35059         * modules/signbit-tests (Depends-on): Add float.
35060
35061         * tests/test-ceill.c: Include <float.h>.
35062         (zero): Remove variable.
35063         (minus_zero): New variable.
35064         (main): Use minus_zero instead of -zero.
35065         * modules/ceill-tests (Depends-on): Add float.
35066
35067         * tests/test-floorl.c: Include <float.h>.
35068         (zero): Remove variable.
35069         (minus_zero): New variable.
35070         (main): Use minus_zero instead of -zero.
35071         * modules/floorl-tests (Depends-on): Add float.
35072
35073         * tests/test-roundl.c: Include <float.h>.
35074         (zero): Remove variable.
35075         (minus_zero): New variable.
35076         (main): Use minus_zero instead of -zero.
35077         * modules/roundl-tests (Depends-on): Add float.
35078
35079         * tests/test-truncl.c: Include <float.h>.
35080         (zero): Remove variable.
35081         (minus_zero): New variable.
35082         (main): Use minus_zero instead of -zero.
35083         * modules/truncl-tests (Depends-on): Add float.
35084
35085         * tests/test-frexpl.c (zero): Remove variable.
35086         (minus_zero): New variable.
35087         (main): Use minus_zero instead of -zero.
35088         * modules/frexpl-tests (Depends-on): Add float.
35089
35090         * tests/test-isnan.c (zerol): Remove variable.
35091         (minus_zerol): New variable.
35092         (test_long_double): Use minus_zerol instead of -zerol.
35093         * modules/isnan-tests (Depends-on): Add float.
35094
35095         * tests/test-isnanl.h (zero): Remove variable.
35096         (minus_zero): New variable.
35097         (main): Use minus_zero instead of -zero.
35098         * modules/isnanl-nolibm-tests (Depends-on): Add float.
35099         * modules/isnanl-tests (Depends-on): Add float.
35100
35101         * tests/test-ldexpl.c (zero): Remove variable.
35102         (minus_zero): New variable.
35103         (main): Use minus_zero instead of -zero.
35104         * modules/ldexpl-tests (Depends-on): Add float.
35105
35106         * tests/test-snprintf-posix.h (zerol): Remove variable.
35107         (minus_zerol): New variable.
35108         (test_function): Use minus_zerol instead of -zerol.
35109         * modules/snprintf-posix-tests (Depends-on): Add float.
35110         * modules/vsnprintf-posix-tests (Depends-on): Add float.
35111
35112         * tests/test-sprintf-posix.h (zerol): Remove variable.
35113         (minus_zerol): New variable.
35114         (test_function): Use minus_zerol instead of -zerol.
35115         * modules/sprintf-posix-tests (Depends-on): Add float.
35116         * modules/vsprintf-posix-tests (Depends-on): Add float.
35117
35118         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
35119         (minus_zerol): New variable.
35120         (test_function): Use minus_zerol instead of -zerol.
35121         * modules/vasnprintf-posix-tests (Depends-on): Add float.
35122
35123         * tests/test-vasprintf-posix.c (zerol): Remove variable.
35124         (minus_zerol): New variable.
35125         (test_function): Use minus_zerol instead of -zerol.
35126         * modules/vasprintf-posix-tests (Depends-on): Add float.
35127
35128 2008-10-07  Simon Josefsson  <simon@josefsson.org>
35129
35130         * MODULES.html.sh (Support for building documentation): Mention
35131         pmccabe2html.  Sort entries.
35132
35133         Add pmccabe2html module, from gnupdf.
35134         * build-aux/pmccabe.css: New file.
35135         * build-aux/pmccabe2html: New file.
35136         * m4/pmccabe2html.m4: New file.
35137         * modules/pmccabe2html: New file.
35138
35139 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
35140
35141         flock: new module
35142         * MODULES.html.sh: Add to list of modules.
35143         * lib/flock.c: flock implementation for Windows and Unix systems
35144         which have fcntl.
35145         * doc/glibc-functions/flock.texi: Update documentation.
35146         * lib/sys_file.in.h: <sys/file.h> header file.
35147         * m4/flock.m4: M4 macros.
35148         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
35149         * modules/flock: flock module.
35150         * modules/flock-tests: flock tests module.
35151         * modules/sys_file: sys/file.h module.
35152         * tests/test-flock.c: test suite for flock.
35153
35154 2008-10-06  Jim Meyering  <meyering@redhat.com>
35155
35156         bootstrap: check for LT_INIT more portably still ;-)
35157         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
35158         Spotted by Bruno Haible.
35159
35160 2008-10-06  Eric Blake  <ebb9@byu.net>
35161
35162         test-signbit: avoid tripping Irix cc bug on -0.0L
35163         * tests/test-signbit.c (minus_zerol): Delete, and replace with
35164         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
35165         entire testsuite consistent and avoids an Irix 6.2 bug.
35166
35167 2008-10-05  Bruno Haible  <bruno@clisp.org>
35168             Jim Meyering  <jim@meyering.net>
35169
35170         Add an option for ignoring EPIPE during close_stdout.
35171         * lib/closeout.h: Include <stdbool.h>.
35172         (close_stdout_set_ignore_EPIPE): New declaration.
35173         * lib/closeout.c: Include <stdbool.h>.
35174         (ignore_EPIPE): New variable.
35175         (close_stdout_set_ignore_EPIPE): New function.
35176         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
35177         * lib/close-stream.c (close_stream): Mention the possible EPIPE
35178         failure.
35179         * modules/closeout (Depends-on): Add stdbool.
35180
35181 2008-10-05  Bruno Haible  <bruno@clisp.org>
35182
35183         * modules/accept: New file.
35184         * modules/bind: New file.
35185         * modules/connect: New file.
35186         * modules/getpeername: New file.
35187         * modules/getsockname: New file.
35188         * modules/getsockopt: New file.
35189         * modules/listen: New file.
35190         * modules/recv: New file.
35191         * modules/recvfrom: New file.
35192         * modules/send: New file.
35193         * modules/sendto: New file.
35194         * modules/setsockopt: New file.
35195         * modules/socket: New file.
35196         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
35197         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
35198         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
35199         the particular module is requested. Add a link warning when the
35200         particular module is not requested.
35201         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
35202         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
35203         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
35204         the particular module is requested.
35205         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
35206         gl_SYS_SOCKET_H_DEFAULTS): New macros.
35207         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
35208         * modules/sys_socket (Depends-on): Add link-warning.
35209         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
35210         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
35211         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
35212         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
35213         GL_LINK_WARNING.
35214         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
35215         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
35216         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
35217         * doc/posix-functions/getpeername.texi: Mention the new module
35218         'getpeername'.
35219         * doc/posix-functions/getsockname.texi: Mention the new module
35220         'getsockname'.
35221         * doc/posix-functions/getsockopt.texi: Mention the new module
35222         'getsockopt'.
35223         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
35224         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
35225         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
35226         * doc/posix-functions/send.texi: Mention the new module 'send'.
35227         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
35228         * doc/posix-functions/setsockopt.texi: Mention the new module
35229         'setsockopt'.
35230         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
35231         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
35232         listen, connect, accept.
35233         * modules/select-tests (Depends-on): Likewise.
35234
35235 2008-10-05  Bruno Haible  <bruno@clisp.org>
35236
35237         * lib/winsock.c (strerror): Remove unused #undef.
35238         (rpl_close): Remove unused local variable.
35239
35240         * modules/sys_socket (Depends-on); Add errno.
35241
35242 2008-10-05  Bruno Haible  <bruno@clisp.org>
35243
35244         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
35245         (select): Add a link warning when the 'select' module is not used.
35246         * modules/sys_select (Depends-on): Add link-warning.
35247         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
35248         Suggested by Paolo Bonzini.
35249
35250 2008-10-05  Jim Meyering  <meyering@redhat.com>
35251
35252         bootstrap: check for LT_INIT more portably
35253         * build-aux/bootstrap: Avoid using grep -E, since it's not
35254         portable enough.  Suggestion from Bruno Haible.
35255
35256 2008-10-05  Bruno Haible  <bruno@clisp.org>
35257
35258         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
35259         as being fixed by gnulib.
35260
35261 2008-10-05  Bruno Haible  <bruno@clisp.org>
35262
35263         * modules/select-tests: New file, mostly copied from
35264         modules/sys_select-tests.
35265         * tests/test-select.c: New file, mostly copied from
35266         tests/test-sys_select.c.
35267         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
35268         * modules/sys_select-tests (Depends-on): Remove all dependencies.
35269         (Makefile.am): Remove test_sys_select_LDADD.
35270
35271         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
35272         to an undefined symbol, for an error message.
35273         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
35274         (gl_SYS_SELECT_H_DEFAULTS): New macro.
35275         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
35276         winsock-select.c here.
35277         * modules/sys_select (Files): Remove lib/winsock-select.c.
35278         (Depends-on): Remove alloca.
35279         (Makefile.am): Substitute GNULIB_SELECT.
35280         * modules/select: New file.
35281         * doc/posix-functions/select.texi: Update.
35282
35283 2008-10-05  Bruno Haible  <bruno@clisp.org>
35284
35285         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
35286         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
35287         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
35288         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
35289         getdtablesize.
35290         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
35291         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
35292
35293 2008-10-05  Bruno Haible  <bruno@clisp.org>
35294
35295         * modules/getdtablesize-tests: New file.
35296         * tests/test-getdtablesize.c: New file.
35297
35298         New module 'getdtablesize'.
35299         * lib/unistd.in.h (getdtablesize): New declaration.
35300         * lib/getdtablesize.c: New file.
35301         * m4/getdtablesize.m4: New file.
35302         * modules/getdtablesize: New file.
35303         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
35304         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
35305         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
35306         HAVE_GETDTABLESIZE.
35307         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
35308
35309 2008-10-05  Bruno Haible  <bruno@clisp.org>
35310
35311         * modules/sched (Makefile.am): Fix typo.
35312         Reported by Simon Josefsson.
35313
35314 2008-10-05  Jim Meyering  <meyering@redhat.com>
35315
35316         bootstrap: check for LT_INIT, too
35317         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
35318         are deprecated.  Suggestion from Ralf Wildenhues.
35319
35320 2008-10-05  Bruno Haible  <bruno@clisp.org>
35321
35322         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
35323         overriding them by ours.
35324         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
35325
35326 2008-10-05  Jim Meyering  <meyering@redhat.com>
35327
35328         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
35329         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
35330         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
35331
35332 2008-10-04  Bruno Haible  <bruno@clisp.org>
35333
35334         * modules/dup2 (License): Change to LGPLv2+.
35335         * modules/sleep (License): Likewise.
35336         * modules/perror (License): Likewise.
35337         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
35338         Blake.
35339         * modules/signal (License): Likewise.
35340         * modules/sigprocmask (License): Likewise.
35341         * modules/raise (License): Change to LGPLv2+, with approval by Jim
35342         Meyering.
35343
35344 2008-10-04  Bruno Haible  <bruno@clisp.org>
35345
35346         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
35347         Reported by Rainer Tammer <tammer@tammer.net>.
35348
35349 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
35350             Bruno Haible  <bruno@clisp.org>
35351
35352         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
35353         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
35354         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
35355
35356 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
35357
35358         filevercmp: new module
35359         * lib/filevercmp.h: New function filevercmp comparing version strings.
35360         * lib/filevercmp.c: Implementation of filevercmp function.
35361         * modules/filevercmp: Module metadata.
35362         * tests/test-filevercmp.c: Unit test for new module.
35363         * modules/filevercmp-tests: Unit test metadata.
35364         * MODULES.html.sh: Add filevercmp module.
35365
35366 2008-10-03  Bruno Haible  <bruno@clisp.org>
35367
35368         * lib/c-ctype.h: Add comment.
35369         Reported by Jim Meyering.
35370
35371 2008-10-02  Bruno Haible  <bruno@clisp.org>
35372
35373         * modules/posix_spawn-internal (Depends-on): Add 'open'.
35374
35375 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
35376
35377         * build-aux/bootstrap: Allow renaming bootstrap, and change the
35378         name of bootstrap.conf accordingly.
35379
35380 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
35381
35382         * build-aux/bootstrap: Install git-merge-changelog configuration
35383         items into .gitconfig if needed.
35384
35385 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
35386
35387         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
35388         git repository, and initialize/update it accordingly.
35389
35390 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
35391
35392         * modules/fsync-tests: New file.
35393         * tests/test-fsync.c: New file.
35394
35395         New module 'fsync'.
35396         * lib/fsync.c: New file.
35397         * m4/fsync.m4: New file.
35398         * modules/fsync: New file.
35399         * lib/unistd.in.h (fsync): New declaration.
35400         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
35401         GNULIB_FSYNC and HAVE_FSYNC.
35402         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
35403         * MODULES.html.sh (posix_functions): Add fsync.
35404         * doc/posix-functions/fsync.texi: Mention the new module.
35405
35406 2008-10-02  Jim Meyering  <meyering@redhat.com>
35407
35408         fts.c: sync with similar code from coreutils' remove.c
35409         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
35410         Guard also with "#if defined __linux__", since for now at least,
35411         this code is Linux-kernel-specific.
35412
35413 2008-10-02  Jim Meyering  <meyering@redhat.com>
35414
35415         fts: bug fixes
35416         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
35417         Include <sys/vfs.h>, not <sys/statfs.h>.
35418
35419         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
35420         Include <sys/vfs.h>, not <sys/statfs.h>.
35421
35422 2008-10-01  Bruno Haible  <bruno@clisp.org>
35423
35424         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
35425         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
35426         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
35427         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
35428         * doc/posix-functions/posix_spawnp.texi: Likewise.
35429         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
35430         whether posix_spawn actually works.
35431         * m4/pipe.m4 (gl_PIPE): Likewise.
35432         * modules/execute (Files): Add m4/posix_spawn.m4.
35433         * modules/pipe (Files): Add m4/posix_spawn.m4.
35434         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
35435
35436 2008-10-01  Jim Meyering  <meyering@redhat.com>
35437
35438         remove trailing spaces
35439         * NEWS: Likewise.
35440         * lib/poll.c (poll): Likewise.
35441         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
35442         * lib/winsock.c (rpl_close): Likewise.
35443         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
35444         * modules/yield: Likewise.
35445         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
35446         * tests/test-sys_select.c (connect_to_socket): Likewise.
35447
35448         fts.c: adjust a new interface to be more generally useful
35449         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
35450         (fts_build): Adjust caller.
35451
35452 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35453
35454         * modules/cond-tests: New file.
35455         * tests/test-cond.c: New file.
35456
35457 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35458             Bruno Haible  <bruno@clisp.org>
35459
35460         * modules/cond (Dependencies): Add errno, time.
35461         * lib/glthread/cond.h: Include <time.h>.
35462         (gl_cond_define, gl_cond_define_initialized): Use the same definition
35463         across platforms.
35464
35465 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35466             Bruno Haible  <bruno@clisp.org>
35467
35468         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
35469
35470 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35471             Bruno Haible  <bruno@clisp.org>
35472
35473         * modules/tls-tests (Depends-on): Add thread, yield.
35474         (configure.ac): Remove all checks.
35475         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
35476         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
35477         gl_thread_self): Remove definitions. Include glthread/thread.h and
35478         glthread/yield.h instead.
35479         (test_tls): Pass an additional NULL argument to gl_thread_join.
35480
35481 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35482             Bruno Haible  <bruno@clisp.org>
35483
35484         * modules/lock-tests (Depends-on): Add thread, yield.
35485         (configure.ac): Remove all checks.
35486         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
35487         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
35488         gl_thread_self): Remove definitions. Include glthread/thread.h and
35489         glthread/yield.h instead.
35490         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
35491         additional NULL argument to gl_thread_join.
35492
35493 2008-09-30  Bruno Haible  <bruno@clisp.org>
35494
35495         Fix the Win32 implementation of the 'thread' module.
35496         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
35497         pointer type.
35498         (gl_thread_self): Invoke gl_thread_self_func.
35499         (gl_thread_self_func): New declaration.
35500         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
35501         (do_init_self_key, init_self_key): New functions.
35502         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
35503         Remove some fields.
35504         (running_threads, running_lock): Remove variables.
35505         (get_current_thread_handle): New function.
35506         (gl_thread_self_func, wrapper_func, glthread_create_func,
35507         glthread_join_func, gl_thread_exit_func): Largely rewritten and
35508         simplified.
35509
35510 2008-09-30  Bruno Haible  <bruno@clisp.org>
35511
35512         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
35513         files.
35514
35515 2008-09-30  Jim Meyering  <meyering@redhat.com>
35516
35517         fts.m4: correct the test for statfs.f_type
35518         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
35519         when checking for statfs.f_type.
35520
35521 2008-09-15  Simon Josefsson  <simon@josefsson.org>
35522
35523         tests: avoid some compiler warnings
35524         * tests/test-memchr.c (main): Pass NULL indirectly.
35525         * tests/test-getdate.c (main): Remove unused variable 'ret'.
35526
35527 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
35528
35529         getdate.y: disallow countable dayshifts like "4 yesterday ago"
35530         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
35531         exactly specified dayshifts.
35532         (dayshift): New rule.
35533         (rel): Add dayshift.
35534         (relative_time_table) [tomorrow, yesterday, today, now]:
35535         Use tDAY_SHIFT in place of tDAY_UNIT.
35536         * tests/test-getdate.c: Add tests for now-disallowed countable
35537         dayshifts, e.g., "4 yesterday ago".
35538
35539 2008-09-29  Bruno Haible  <bruno@clisp.org>
35540
35541         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
35542         * tests/test-posix_spawn1.in.sh: Renamed from
35543         tests/test-posix_spawn.in.sh.
35544         * tests/test-posix_spawn2.c: New file.
35545         * tests/test-posix_spawn2.in.sh: New file.
35546         * modules/posix_spawnp-tests (Files): Update.
35547         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
35548
35549 2008-09-29  Bruno Haible  <bruno@clisp.org>
35550
35551         Propagate effects of putenv/setenv/unsetenv to child processes.
35552         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
35553         * lib/pipe.c (create_pipe): Likewise.
35554
35555 2008-09-29  Bruno Haible  <bruno@clisp.org>
35556
35557         Enable use of shell scripts as executables in mingw.
35558         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
35559         run the program as a shell script.
35560         * lib/pipe.c (create_pipe): Likewise.
35561         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
35562         resulting array.
35563
35564 2008-09-29  Eric Blake  <ebb9@byu.net>
35565
35566         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
35567
35568 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
35569
35570         * doc/posix-functions/accept.texi: Update mingw problems.
35571         * doc/posix-functions/bind.texi: Update mingw problems.
35572         * doc/posix-functions/close.texi: Update mingw problems.
35573         * doc/posix-functions/connect.texi: Update mingw problems.
35574         * doc/posix-functions/getpeername.texi: Update mingw problems.
35575         * doc/posix-functions/getsockname.texi: Update mingw problems.
35576         * doc/posix-functions/getsockopt.texi: Update mingw problems.
35577         * doc/posix-functions/ioctl.texi: Update mingw problems.
35578         * doc/posix-functions/listen.texi: Update mingw problems.
35579         * doc/posix-functions/recv.texi: Update mingw problems.
35580         * doc/posix-functions/recvfrom.texi: Update mingw problems.
35581         * doc/posix-functions/select.texi: Update mingw problems.
35582         * doc/posix-functions/send.texi: Update mingw problems.
35583         * doc/posix-functions/sendto.texi: Update mingw problems.
35584         * doc/posix-functions/setsockopt.texi: Update mingw problems.
35585         * doc/posix-functions/socket.texi: Update mingw problems.
35586
35587 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
35588             Bruno Haible  <bruno@clisp.org>
35589
35590         * lib/sys_select.in.h: Include sys/time.h.
35591         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
35592         * modules/sys_select: Depend on sys_time.
35593         * tests/test-sys_select.c: Test that sys/select.h defines struct
35594         timeval fully.
35595
35596 2008-09-29  Bruno Haible  <bruno@clisp.org>
35597
35598         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
35599         * lib/sys_select.in.h: Likewise.
35600
35601 2008-09-29  Bruno Haible  <bruno@clisp.org>
35602
35603         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
35604
35605 2008-09-29  Bruno Haible  <bruno@clisp.org>
35606
35607         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
35608         Set LIBSOCKET instead of augmenting LIBS.
35609         * modules/sockets (Link): New section.
35610         * modules/sockets-tests (test_sockets_LDADD): New variable.
35611         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
35612         * modules/poll-tests (test_poll_LDADD): New variable.
35613         * NEWS: Document the change.
35614
35615 2008-09-29  Bruno Haible  <bruno@clisp.org>
35616
35617         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
35618         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
35619         ARPA_INET_H directly.
35620         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
35621
35622 2008-09-28  Bruno Haible  <bruno@clisp.org>
35623
35624         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
35625         from gl_HEADER_SYS_SOCKET.
35626         (gl_HEADER_SYS_SOCKET): Invoke it.
35627         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
35628
35629 2008-09-28  Bruno Haible  <bruno@clisp.org>
35630
35631         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
35632         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
35633         Needed on OSF/1 4.0.
35634
35635 2008-09-28  Bruno Haible  <bruno@clisp.org>
35636
35637         Override open more carefully.
35638         * lib/open.c (orig_open): New function.
35639         (rpl_open): Use orig_open instead of open.
35640         * lib/fcntl.in.h: Add special invocation convention.
35641         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
35642         (gl_FUNC_OPEN): Invoke it.
35643
35644         Override freopen more carefully.
35645         * lib/freopen.c (orig_freopen): New function.
35646         (rpl_freopen): Use orig_freopen instead of freopen.
35647         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
35648         (gl_FUNC_FREOPEN): Invoke it.
35649
35650         Override fopen more carefully.
35651         * lib/fopen.c (orig_fopen): New function.
35652         (rpl_fopen): Use orig_fopen instead of fopen.
35653         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
35654         (gl_FUNC_FOPEN): Invoke it.
35655         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
35656
35657 2008-09-28  Bruno Haible  <bruno@clisp.org>
35658
35659         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
35660         SIGPIPE.
35661
35662 2008-09-28  Bruno Haible  <bruno@clisp.org>
35663
35664         * tests/test-sigaction.c (handler, main): Disable the check whether
35665         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
35666         glibc systems with LinuxThreads.
35667
35668 2008-09-28  Bruno Haible  <bruno@clisp.org>
35669
35670         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
35671
35672         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
35673         with AIX xlc.
35674         * lib/fcntl.in.h (open): Likewise.
35675         Reported by Rainer Tammer <tammer@tammer.net>.
35676
35677 2008-09-28  Bruno Haible  <bruno@clisp.org>
35678
35679         * modules/posix_spawnp-tests: New file.
35680         * tests/test-posix_spawn.c: New file.
35681         * tests/test-posix_spawn.in.sh: New file.
35682
35683         New module 'posix_spawnp'.
35684         * modules/posix_spawnp: New file.
35685         * lib/spawnp.c: New file, from GNU libc with modifications.
35686         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
35687
35688         New module 'posix_spawn'.
35689         * modules/posix_spawn: New file.
35690         * lib/spawn.c: New file, from GNU libc with modifications.
35691         * doc/posix-functions/posix_spawn.texi: Mention the new module.
35692
35693         New module 'posix_spawnattr_destroy'.
35694         * modules/posix_spawnattr_destroy: New file.
35695         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
35696         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
35697         module.
35698
35699         New module 'posix_spawnattr_setsigmask'.
35700         * modules/posix_spawnattr_setsigmask: New file.
35701         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
35702         modifications.
35703         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
35704         new module.
35705
35706         New module 'posix_spawnattr_getsigmask'.
35707         * modules/posix_spawnattr_getsigmask: New file.
35708         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
35709         modifications.
35710         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
35711         new module.
35712
35713         New module 'posix_spawnattr_setsigdefault'.
35714         * modules/posix_spawnattr_setsigdefault: New file.
35715         * lib/spawnattr_setdefault.c: New file, from GNU libc with
35716         modifications.
35717         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
35718         new module.
35719
35720         New module 'posix_spawnattr_getsigdefault'.
35721         * modules/posix_spawnattr_getsigdefault: New file.
35722         * lib/spawnattr_getdefault.c: New file, from GNU libc with
35723         modifications.
35724         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
35725         new module.
35726
35727         New module 'posix_spawnattr_setschedpolicy'.
35728         * modules/posix_spawnattr_setschedpolicy: New file.
35729         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
35730         modifications.
35731         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
35732         new module.
35733
35734         New module 'posix_spawnattr_getschedpolicy'.
35735         * modules/posix_spawnattr_getschedpolicy: New file.
35736         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
35737         modifications.
35738         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
35739         new module.
35740
35741         New module 'posix_spawnattr_setschedparam'.
35742         * modules/posix_spawnattr_setschedparam: New file.
35743         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
35744         modifications.
35745         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
35746         new module.
35747
35748         New module 'posix_spawnattr_getschedparam'.
35749         * modules/posix_spawnattr_getschedparam: New file.
35750         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
35751         modifications.
35752         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
35753         new module.
35754
35755         New module 'posix_spawnattr_setpgroup'.
35756         * modules/posix_spawnattr_setpgroup: New file.
35757         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
35758         modifications.
35759         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
35760         module.
35761
35762         New module 'posix_spawnattr_getpgroup'.
35763         * modules/posix_spawnattr_getpgroup: New file.
35764         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
35765         modifications.
35766         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
35767         module.
35768
35769         New module 'posix_spawnattr_setflags'.
35770         * modules/posix_spawnattr_setflags: New file.
35771         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
35772         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
35773         module.
35774
35775         New module 'posix_spawnattr_getflags'.
35776         * modules/posix_spawnattr_getflags: New file.
35777         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
35778         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
35779         module.
35780
35781         New module 'posix_spawnattr_init'.
35782         * modules/posix_spawnattr_init: New file.
35783         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
35784         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
35785         module.
35786
35787         New module 'posix_spawn_file_actions_destroy'.
35788         * modules/posix_spawn_file_actions_destroy: New file.
35789         * lib/spawn_faction_destroy.c: New file, from GNU libc with
35790         modifications.
35791         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
35792         the new module.
35793
35794         New module 'posix_spawn_file_actions_addopen'.
35795         * modules/posix_spawn_file_actions_addopen: New file.
35796         * lib/spawn_faction_addopen.c: New file, from GNU libc with
35797         modifications.
35798         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
35799         the new module.
35800
35801         New module 'posix_spawn_file_actions_adddup2'.
35802         * modules/posix_spawn_file_actions_adddup2: New file.
35803         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
35804         modifications.
35805         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
35806         the new module.
35807
35808         New module 'posix_spawn_file_actions_addclose'.
35809         * modules/posix_spawn_file_actions_addclose: New file.
35810         * lib/spawn_faction_addclose.c: New file, from GNU libc with
35811         modifications.
35812         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
35813         the new module.
35814
35815         New module 'posix_spawn_file_actions_init'.
35816         * modules/posix_spawn_file_actions_init: New file.
35817         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
35818         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
35819         new module.
35820
35821         New module 'posix_spawn-internal'.
35822         * modules/posix_spawn-internal: New file.
35823         * lib/spawn_int.h: New file, from GNU libc with modifications.
35824         * lib/spawni.c: New file, from GNU libc with modifications.
35825         * m4/posix_spawn.m4: New file.
35826
35827         New module 'spawn'.
35828         * modules/spawn: New file.
35829         * lib/spawn.in.h: New file, from GNU libc with modifications.
35830         * m4/spawn_h.m4: New file.
35831         * doc/posix-headers/spawn.texi: Mention the new module.
35832
35833 2008-09-28  Bruno Haible  <bruno@clisp.org>
35834
35835         * modules/sched-tests: New file.
35836         * tests/test-sched.c: New file.
35837
35838         New module 'sched'.
35839         * modules/sched: New file.
35840         * lib/sched.in.h: New file.
35841         * m4/sched_h.m4: New file.
35842         * doc/posix-headers/sched.texi: Mention the new module.
35843
35844 2008-09-27  Eric Blake  <ebb9@byu.net>
35845
35846         Fix previous patch, and tweak references to $0.
35847         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
35848         (func_version, func_gnulib_dir): Don't call this program
35849         gnulib-tool.
35850         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
35851         with using $0 in function.
35852         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
35853         (func_fatal_error): Reuse the name the user invoked us with.
35854
35855 2008-09-27  Bruno Haible  <bruno@clisp.org>
35856
35857         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
35858         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
35859         (gl_ICONV_H): Not here.
35860         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
35861         instead of assigning ICONV_H directly.
35862
35863         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
35864         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
35865         WCHAR_H directly.
35866
35867 2008-09-27  Bruno Haible  <bruno@clisp.org>
35868
35869         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
35870         * modules/arpa_inet (Depends-on): Add link-warning.
35871         (Makefile.am): Insert the definition of GL_LINK-WARNING.
35872         * modules/unistd (Makefile.am): Likewise.
35873
35874 2008-09-26  Bruno Haible  <bruno@clisp.org>
35875
35876         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
35877         variables.
35878         (func_version): Essentially copied from gnulib-tool.
35879         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
35880         func_readlink): Copied from gnulib-tool.
35881
35882 2008-09-26  Bruno Haible  <bruno@clisp.org>
35883
35884         * gnulib-tool (func_version): Change directory to $gnulib_dir before
35885         invoking git-version-gen.
35886
35887 2008-09-26  Bruno Haible  <bruno@clisp.org>
35888
35889         * posix-modules: Update to directory names changed on 2008-01-19.
35890         Remove commas in output before splitting into words. No more need to
35891         avoid 'ftruncate' since 2007-02-19.
35892
35893 2008-09-26  Bruno Haible  <bruno@clisp.org>
35894
35895         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
35896
35897 2008-09-26  Bruno Haible  <bruno@clisp.org>
35898
35899         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
35900         * modules/fwriteerror (Depends-on): Add errno.
35901
35902 2008-09-26  Bruno Haible  <bruno@clisp.org>
35903
35904         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
35905         * tests/test-vc-list-files-cvs.sh: Likewise.
35906
35907 2008-09-26  Bruno Haible  <bruno@clisp.org>
35908
35909         * doc/posix-headers/sys_resource.texi: Reorder items.
35910
35911 2008-09-26  Jim Meyering  <meyering@redhat.com>
35912
35913         fts: tweak inode comparison function
35914         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
35915         inode numbers, as documented.
35916
35917         fts: sort dirent entries on inode number before traversing
35918         This avoids a quadratic, seek-related performance penalty when
35919         operating on a directory containing many entries (measurable at 10k;
35920         3.5 hours at 2 million entries with a cold cache) on certain types
35921         of file systems, including ext3 and ext4, but not tmpfs.
35922         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
35923         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
35924         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
35925         (fs_handles_readdir_ordered_dirents_efficiently): New function.
35926         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
35927         (fts_build): Set the stat.st_ino member from D_INO.
35928         If it is likely to be useful, sort dirent entries on inode number.
35929
35930         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
35931         and the struct statfs.f_type member.
35932         * modules/fts (Depends-on): Add d-ino.
35933
35934 2008-09-26  Bruno Haible  <bruno@clisp.org>
35935
35936         * modules/sigpipe-die (Depends-on): Add sigpipe.
35937
35938         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
35939         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
35940         and GNULIB_STDIO_H_SIGPIPE are set.
35941         * lib/stdio-write.c: New file.
35942         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
35943         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
35944         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
35945         REPLACE_STDIO_WRITE_FUNCS.
35946         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
35947         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
35948         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
35949         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
35950         * modules/stdio (Files): Add lib/stdio-write.c.
35951         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
35952         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
35953         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
35954         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
35955         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
35956         REPLACE_FPRINTF_POSIX.
35957         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
35958         REPLACE_PRINTF_POSIX.
35959         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
35960         REPLACE_VFPRINTF_POSIX.
35961         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
35962         REPLACE_VPRINTF_POSIX.
35963         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
35964         SIGPIPE issue.
35965         * doc/posix-functions/fputc.texi: Likewise.
35966         * doc/posix-functions/fputs.texi: Likewise.
35967         * doc/posix-functions/fwrite.texi: Likewise.
35968         * doc/posix-functions/printf.texi: Likewise.
35969         * doc/posix-functions/putc.texi: Likewise.
35970         * doc/posix-functions/putchar.texi: Likewise.
35971         * doc/posix-functions/puts.texi: Likewise.
35972         * doc/posix-functions/vfprintf.texi: Likewise.
35973         * doc/posix-functions/vprintf.texi: Likewise.
35974
35975         * modules/safe-write (Depends-on): Add write.
35976
35977         * modules/sigpipe-tests: New file.
35978         * tests/test-sigpipe.c: New file.
35979         * tests/test-sigpipe.sh: New file.
35980
35981         * modules/write: New file.
35982         * lib/unistd.in.h: Include <sys/types.h>.
35983         (write): New declaration.
35984         * lib/write.c: New file.
35985         * m4/write.m4: New file.
35986         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
35987         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
35988         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
35989         GNULIB_WRITE, REPLACE_WRITE.
35990         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
35991         and the SIGPIPE issue.
35992
35993         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
35994         (raise): New declaration.
35995         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
35996         (ext_signal): New function.
35997         (rpl_raise): New function.
35998         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
35999         GNULIB_SIGNAL_H_SIGPIPE.
36000         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
36001         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
36002
36003         * modules/sigpipe: New file.
36004         * m4/sigpipe.m4: New file.
36005
36006 2008-09-25  Derek Price  <derek@ximbiot.com>
36007             Bruno Haible  <bruno@clisp.org>
36008
36009         * gnulib-tool (func_import): Report all license incompatibilities, not
36010         just the first one.
36011
36012 2008-09-25  Bruno Haible  <bruno@clisp.org>
36013
36014         * gnulib-tool (func_import): When computing the edits, consider not
36015         only the Makefile.ams that exist but also those that will be generated.
36016
36017 2008-09-25  Simon Josefsson  <simon@josefsson.org>
36018
36019         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
36020         fixes gnulib-tool --test warning about duplicate dependency.
36021
36022 2008-09-25  Bruno Haible  <bruno@clisp.org>
36023
36024         * gnulib-tool: Don't ask the user to perform edits in the generated
36025         Makefile.ams.
36026         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
36027         apply to the Makefile.am being generated.
36028         (func_emit_tests_Makefile_am): Execute edits that apply to the
36029         Makefile.am being generated.
36030         (func_import): Setup list of Makefile.am edits before emitting the
36031         Makefile.ams, not at the end.
36032         (func_create_testdir): Update.
36033         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
36034
36035 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36036
36037         * gnulib-tool (func_import): Store the --tests-base option in the
36038         comment in gnulib-cache.m4.
36039
36040 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
36041
36042         * NEWS: Document increased portability that sys_select now provides.
36043
36044         * lib/sys_select.in.h: Install select wrapper.
36045         * lib/sys_socket.in.h: Use more descriptive name when there is no
36046         select wrapper.
36047         * lib/winsock-select.c: New.
36048         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
36049         Require gl_HEADER_SYS_SOCKET.
36050         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
36051         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
36052         * tests/test-sys_select.c: Add functional tests.
36053
36054 2008-09-24  Eric Blake  <ebb9@byu.net>
36055
36056         open, fopen: close fd leak in last patch
36057         * lib/open.c (rpl_open): Close fd before returning error.
36058         * lib/fopen.c (rpl_fopen): Close fd before returning error.
36059         * doc/posix-functions/open.texi (open): Document that Irix also
36060         has the bug.
36061         * doc/posix-functions/fopen.texi (fopen): Likewise.
36062         Reported by Paolo Bonzini.
36063
36064 2008-09-24  Bruno Haible  <bruno@clisp.org>
36065
36066         Ensure that a filename ending in a slash cannot be used to access a
36067         non-directory.
36068         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
36069         to check whether it's really a directory.
36070         * lib/fopen.c: Include fcntl.h, unistd.h.
36071         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
36072         and fdopen().
36073         * modules/fopen (Depends-on): Add unistd.
36074         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
36075         * tests/test-fopen.c (main): Likewise.
36076         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
36077         * doc/posix-functions/fopen.texi: Likewise.
36078         Reported by Eric Blake.
36079
36080 2008-09-23  Eric Blake  <ebb9@byu.net>
36081
36082         c-stack: avoid compiler optimizations when provoking overflow
36083         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
36084         recursion harder to optimize, to ensure a stack overflow occurs.
36085         * tests/test-c-stack.c (recurse): Likewise.
36086         Borrowed from libsigsegv.
36087
36088         c-stack: work around Irix sigaltstack bug
36089         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
36090         whether sigaltstack uses wrong end of stack_t (copied in part from
36091         libsigsegv).
36092         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
36093         Irix bug, without requiring an over-allocation.
36094         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
36095         bug.
36096
36097         fopen: document mingw bug on directories
36098         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
36099         not allowing a stream visiting a directory, even though reading
36100         from such a stream is not portable.
36101
36102 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
36103
36104         * lib/poll.c: Rewrite.
36105         * modules/poll: Depend on alloca.
36106
36107 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
36108
36109         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
36110         instead define prototypes for a full set of wrappers.  Ensure
36111         that Cygwin does not use the compatibility code, which is only
36112         for MinGW.
36113         * lib/winsock.c: New.
36114         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
36115         * modules/sys_socket: Add lib/winsock.c.
36116
36117         * modules/poll-tests: Add errno and perror.
36118         * tests/test-poll.c: Use ioctl, not ioctlsocket.
36119
36120 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
36121
36122         * tests/test-poll.c: Downgrade minimum needed Winsock version.
36123
36124 2008-09-23  Bruno Haible  <bruno@clisp.org>
36125
36126         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
36127         * doc/glibc-functions/*: Likewise.
36128
36129 2008-09-23  Simon Josefsson  <simon@josefsson.org>
36130
36131         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
36132         success.
36133
36134 2008-09-22  Eric Blake  <ebb9@byu.net>
36135             Bruno Haible  <bruno@clisp.org>
36136
36137         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
36138         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
36139         supply %A but mishandle pseudo-NaN.
36140         Reported by Simon Josefsson.
36141
36142 2008-09-21  Bruno Haible  <bruno@clisp.org>
36143
36144         * tests/test-lock.c (main): Tweak skip message.
36145         * tests/test-tls.c (main): Likewise.
36146
36147 2008-09-21  Bruno Haible  <bruno@clisp.org>
36148
36149         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
36150         whether 'struct sigaction' has sa_sigaction here...
36151         (gl_PREREQ_SIG_HANDLER_H): ... not here.
36152         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
36153
36154 2008-09-21  Bruno Haible  <bruno@clisp.org>
36155
36156         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
36157         section.
36158         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
36159         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
36160         the new section.
36161         (Support for obsolete systems lacking POSIX:2001): New section.
36162         (String handling <string.h>): Move strdup to the new section.
36163         Suggested by Simon Josefsson and Paolo Bonzini.
36164
36165 2008-09-21  Bruno Haible  <bruno@clisp.org>
36166
36167         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
36168         exponents in %e and %g results on 'long double'. Needed for mingw's
36169         improved *printf functions.
36170         * tests/test-vasprintf-posix.c (test_function): Likewise.
36171         * tests/test-snprintf-posix.h (test_function): Likewise.
36172         * tests/test-sprintf-posix.h (test_function): Likewise.
36173         Reported by Eric Blake.
36174
36175 2008-09-21  Bruno Haible  <bruno@clisp.org>
36176
36177         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
36178         * tests/test-sprintf-posix.h (test_function): Likewise.
36179
36180 2008-09-21  Bruno Haible  <bruno@clisp.org>
36181
36182         * modules/getpass (Depends-on): Add strdup-posix.
36183
36184         New module 'strdup-posix'.
36185         * modules/strdup-posix: New file.
36186         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
36187         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
36188         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
36189         REPLACE_STRDUP.
36190         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
36191         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
36192         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
36193         strdup-posix.
36194
36195         * modules/strdup (Depends-on): Remove malloc-posix.
36196
36197 2008-09-20  Bruno Haible  <bruno@clisp.org>
36198
36199         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
36200         Wildenhues.
36201
36202 2008-09-20  Bruno Haible  <bruno@clisp.org>
36203
36204         Ensure that wint_t gets defined on IRIX 5.3.
36205         * lib/wchar.in.h (wint_t): Define if not defined by the system.
36206         * lib/wctype.in.h (wint_t): Likewise.
36207         (__wctype_wint_t): Remove type.
36208         (isw*): Use wint_t instead of __wctype_wint_t.
36209         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
36210         * modules/wchar (Files): Add m4/wint_t.m4.
36211         (Makefile.am): Substitute HAVE_WINT_T.
36212         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
36213         * tests/test-wctype.c: Check that wint_t is defined.
36214         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
36215         * doc/posix-headers/wctype.texi: Likewise.
36216         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
36217
36218 2008-09-18  Bruno Haible  <bruno@clisp.org>
36219
36220         * gnulib-tool (func_exit): Update comment.
36221
36222 2008-09-18  Simon Josefsson  <simon@josefsson.org>
36223
36224         * modules/getaddrinfo (Depends-on): Remove strdup, this module
36225         assumes strdup exists and does not depend on strdup to return
36226         ENOMEM on out of memory conditions.
36227
36228 2008-09-18  Bruno Haible  <bruno@clisp.org>
36229
36230         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
36231         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
36232         digits for the exponent.
36233
36234 2008-09-18  Jim Meyering  <meyering@redhat.com>
36235             Bruno Haible  <bruno@clisp.org>
36236
36237         * lib/vasnprintf.c (decimal_point_char): Define also if
36238         NEED_PRINTF_INFINITE_LONG_DOUBLE.
36239
36240 2008-09-16  Bruno Haible  <bruno@clisp.org>
36241         and Eric Blake  <ebb9@byu.net>
36242
36243         vasnprintf: support Irix 5.3
36244         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
36245         that mishandle long double infinity.
36246         Reported by Tom G. Christensen.
36247
36248 2008-09-16  Bruno Haible  <bruno@clisp.org>
36249
36250         * doc/glibc-functions/scandir.texi: Mention the function is missing on
36251         Solaris 9.
36252         * doc/glibc-functions/alphasort.texi: Likewise.
36253         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
36254
36255 2008-09-16  Jim Meyering  <meyering@redhat.com>
36256
36257         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
36258         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
36259         a umask modification leak out of a subshell.  Otherwise, the
36260         opensolaris /bin/sh would be accepted and thus cause unwarranted
36261         failures in the coreutils test suite.
36262
36263 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
36264
36265         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
36266         to succeed.
36267
36268 2008-09-16  Jim Meyering  <meyering@redhat.com>
36269
36270         avoid spurious test failure when library is built without ACL support
36271         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
36272         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
36273         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
36274         * tests/test-copy-acl.sh: Likewise.
36275
36276 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36277
36278         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
36279         based on character occurrence counts.
36280
36281 2008-09-15  Eric Blake  <ebb9@byu.net>
36282
36283         tests: avoid some compiler warnings
36284         * tests/test-memchr.c (main): Pass NULL indirectly.
36285         * tests/test-closein.c (main): Avoid unused variable.
36286
36287 2008-09-15  Bruno Haible  <bruno@clisp.org>
36288
36289         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
36290         are missing on OpenBSD 4.0 individually.
36291         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
36292
36293 2008-09-15  Bruno Haible  <bruno@clisp.org>
36294
36295         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
36296         * doc/posix-functions/strerror.texi: Mention also Cygwin.
36297         * doc/posix-functions/perror.texi: Likewise.
36298         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
36299         is missing.
36300         Reported by Eric Blake.
36301
36302         * lib/errno.in.h: Use replacement values >= 2000.
36303         Reported by Eric Blake.
36304
36305 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36306
36307         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
36308         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
36309         limit.
36310         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
36311         compareseq was aborted.
36312
36313 2008-09-14  Bruno Haible  <bruno@clisp.org>
36314
36315         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
36316         yvec_edit_count.
36317         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
36318         (fstrcmp_bounded): Simplify result computation accordingly.
36319
36320 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36321
36322         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
36323         (fstrcmp): Define in terms of fstrcmp_bounded.
36324         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
36325         lower_bound argument.
36326         Return quickly if the result is certainly < lower_bound.
36327         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
36328
36329 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36330
36331         * lib/diffseq.h (EARLY_ABORT): New macro.
36332         (compareseq): Change return type to bool. Return true when EARLY_ABORT
36333         evaluates to true.
36334
36335 2008-09-14  Bruno Haible  <bruno@clisp.org>
36336
36337         * modules/perror-tests: New file.
36338         * tests/test-perror.sh: New file.
36339         * tests/test-perror.c: New file.
36340
36341         New module 'perror'.
36342         * lib/stdio.in.h (perror): New declaration.
36343         * lib/perror.c: New file.
36344         * m4/perror.m4: New file.
36345         * modules/perror: New file.
36346         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
36347         * doc/posix-functions/perror.texi: Mention the perror module.
36348         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
36349         REPLACE_PERROR.
36350         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
36351         REPLACE_PERROR.
36352
36353 2008-09-14  Bruno Haible  <bruno@clisp.org>
36354
36355         * modules/stdio (Makefile.am): Reorder to match the order in
36356         lib/stdio.in.h.
36357         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
36358
36359 2008-09-13  Bruno Haible  <bruno@clisp.org>
36360
36361         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
36362
36363 2008-09-13  Bruno Haible  <bruno@clisp.org>
36364
36365         Extend strerror to cover the added errno values.
36366         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
36367         (rpl_strerror): Provide error messages for the added errno values and
36368         for the WSA* values.
36369         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
36370         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
36371         strerror.
36372         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
36373         * modules/strerror (Depends-on): Add errno.
36374         * doc/posix-functions/strerror.texi: Document the change.
36375         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
36376         and EOVERFLOW.
36377
36378 2008-09-13  Bruno Haible  <bruno@clisp.org>
36379
36380         * modules/EOVERFLOW: Remove file.
36381         * m4/eoverflow.m4: Remove file.
36382         * modules/EOVERFLOW-tests: Remove file.
36383         * tests/test-EOVERFLOW.c: Remove file.
36384         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
36385         * modules/ftell (Depends-on): Likewise.
36386         * modules/getdelim (Depends-on): Likewise.
36387         * modules/getugroups (Depends-on): Likewise.
36388         * modules/poll (Depends-on): Likewise.
36389         * modules/snprintf (Depends-on): Likewise.
36390         * modules/sprintf-posix (Depends-on): Likewise.
36391         * modules/vasnprintf (Depends-on): Likewise.
36392         * modules/vasprintf (Depends-on): Likewise.
36393         * modules/vfprintf-posix (Depends-on): Likewise.
36394         * modules/vsnprintf (Depends-on): Likewise.
36395         * modules/vsprintf-posix (Depends-on): Likewise.
36396         * modules/xvasprintf (Depends-on): Likewise.
36397         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
36398         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
36399         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
36400         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
36401         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
36402         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
36403         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
36404         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
36405         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
36406         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
36407         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
36408         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
36409         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
36410         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
36411         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
36412         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
36413         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
36414         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
36415         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
36416         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
36417         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
36418         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
36419         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
36420         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
36421         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
36422         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
36423         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
36424         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
36425         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
36426         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
36427         * MODULES.html.sh: Remove EOVERFLOW.
36428         * NEWS: Mention the change.
36429
36430 2008-09-13  Bruno Haible  <bruno@clisp.org>
36431
36432         * modules/errno-tests: New file.
36433         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
36434
36435         * lib/errno.in.h: New file.
36436         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
36437         * modules/errno: New file.
36438         * doc/posix-headers/errno.texi: Update documentation.
36439         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
36440
36441 2008-09-13  Bruno Haible  <bruno@clisp.org>
36442
36443         * tests/test-poll.c: Use #if for native Windows, rather than testing
36444         __MSVCRT__.
36445
36446 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36447             Bruno Haible  <bruno@clisp.org>
36448
36449         * lib/glob.c: Don't include <pwd.h> on native Windows.
36450         (WINDOWS32): New macro.
36451         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
36452
36453 2008-09-13  Bruno Haible  <bruno@clisp.org>
36454
36455         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
36456         (ETIMEDOUT): Remove macro.
36457         (glthread_cond_timedwait_multithreaded): New declaration.
36458         (glthread_cond_timedwait): Use it.
36459         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
36460         (glthread_cond_timedwait_multithreaded): New function.
36461
36462 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
36463
36464         * modules/poll-tests: Do not check for io.h.
36465         * tests/test-poll.c: Check for __MSVCRT__ instead.
36466
36467 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
36468
36469         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
36470         * modules/poll-tests: Add inet_pton, stdbool, sockets.
36471         * tests/test-poll.c: Use them.  Use _pipe on Windows.
36472
36473 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
36474
36475         * modules/poll-tests: New.
36476         * tests/test-poll.c: New.
36477
36478 2008-09-12  Eric Blake  <ebb9@byu.net>
36479
36480         frexp: test for NetBSD failure on -0.0
36481         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
36482         not all, bugs from NetBSD 3.0 have been fixed.
36483         * doc/posix-functions/frexp.texi (frexp): Document bug.
36484         Reported by Thomas Klausner.
36485
36486         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
36487         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
36488         literal -0.0.
36489         Reported by Jonathan C. Patschke <jp@centtech.com>.
36490
36491 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36492
36493         * lib/glthread/cond.h: Use dummy implementation also if
36494         USE_WIN32_THREADS.
36495
36496 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36497
36498         * modules/fnmatch-posix (License): Change to LGPLv2+.
36499         * modules/fnmatch-gnu (License): Likewise.
36500
36501 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36502
36503         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
36504
36505 2008-09-11  Jim Meyering  <meyering@redhat.com>
36506
36507         * users.txt: Add gtk-vnc.
36508
36509 2008-09-08  Simon Josefsson  <simon@josefsson.org>
36510
36511         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
36512         rotate amounts.
36513
36514         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
36515         required for 16-bit and 8-bit rotates.
36516         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
36517         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
36518         UINT8_MAX instead of hard-coded constants.
36519         Suggested by Paul Eggert.
36520
36521 2008-09-07  Bruno Haible  <bruno@clisp.org>
36522
36523         * tests/test-striconveh.c (main): Check behaviour when converting from
36524         UTF-7.
36525
36526         Make striconveh work better with stateful encodings.
36527         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
36528         that iconv does not increment the inptr when returning -1/EINVAL.
36529
36530 2008-09-07  Bruno Haible  <bruno@clisp.org>
36531
36532         * build-aux/config.rpath: Update according to libtool-2.2.6.
36533         * build-aux/config.libpath: Likewise.
36534
36535 2008-09-06  Bruno Haible  <bruno@clisp.org>
36536
36537         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
36538         * lib/freadptr.c (freadptr): Likewise.
36539         * lib/freadseek.c (freadptrinc): Likewise.
36540         Reported by Simon Josefsson.
36541
36542 2008-09-06  Bruno Haible  <bruno@clisp.org>
36543
36544         * modules/freadptr (License): Change to LGPLv2+.
36545         * modules/freadseek (License): Likewise.
36546         Suggested by Eric Blake.
36547
36548         * modules/memchr2 (License): Change to LGPLv2+.
36549         Approved by Eric Blake.
36550
36551 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36552             Bruno Haible  <bruno@clisp.org>
36553
36554         Make gnulib-tool work with native 'sed' on AIX.
36555         * gnulib-tool (sed_noop): New variable.
36556         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
36557         func_add_or_update, func_create_testdir): Use it to initialize sed
36558         script variables.
36559         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
36560
36561 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
36562             Bruno Haible  <bruno@clisp.org>
36563
36564         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
36565         also works after #include directives.
36566
36567 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
36568
36569         getdate.y: reject an out-of-range timezone value
36570         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
36571         the range [-24...+24].  When specified with only one or two digits,
36572         * tests/test-getdate.c: Tests for the fix.
36573         * doc/getdate.texi: Document this change.
36574
36575 2008-09-03  Bruno Haible  <bruno@clisp.org>
36576
36577         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
36578
36579 2008-09-02  Simon Josefsson  <simon@josefsson.org>
36580
36581         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
36582         <bruce.korb@gmail.com> with ideas from Ben Pfaff
36583         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
36584         Blake <ebb9@byu.net>.
36585
36586         * tests/test-bitrotate.c: Add more test vectors.
36587
36588 2008-09-02  Eric Blake  <ebb9@byu.net>
36589
36590         vasnprintf-posix: handle large precision via %.*d
36591         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
36592         when handling it ourselves.
36593         * tests/test-vasnprintf-posix.c (test_function): Add test.
36594         * tests/test-snprintf-posix.h (test_function): Likewise.
36595         * tests/test-sprintf-posix.h (test_function): Likewise.
36596         * tests/test-vasprintf-posix.c (test_function): Likewise.
36597         Reported by Alain Guibert.
36598
36599 2008-09-01  Eric Blake  <ebb9@byu.net>
36600
36601         c-stack: make configure-time check more robust
36602         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
36603         successful sigaction call.
36604         Reported by Tom G. Christensen.
36605
36606 2008-09-01  Bruno Haible  <bruno@clisp.org>
36607
36608         New module 'findprog-lgpl'.
36609         * modules/findprog-lgpl: New file.
36610         * lib/findprog-lgpl.c: New file.
36611         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
36612         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
36613         to decide whether to use strdup or xstrdup, concatenated_filename or
36614         xconcatenated_filename.
36615
36616 2008-09-01  Bruno Haible  <bruno@clisp.org>
36617
36618         Split module 'concat-filename' into 'concat-filename' (LGPL) and
36619         'xconcat-filename' (GPL).
36620         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
36621         (License): Change to LGPLv2+.
36622         * modules/xconcat-filename: New file.
36623         * lib/concat-filename.h (concatenated_filename): Change specification.
36624         (xconcatenated_filename): New declaration.
36625         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
36626         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
36627         memory situations.
36628         * lib/xconcat-filename.c: New file.
36629         * NEWS: Mention the change.
36630         * lib/findprog.c: Include concat-filename.h, not filename.h.
36631         (find_in_path): Use xconcatenated_filename instead of
36632         concatenated_filename.
36633         * lib/javacomp.c: Include concat-filename.h, not filename.h.
36634         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
36635         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
36636         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
36637         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
36638         instead of concatenated_filename.
36639         * lib/javaexec.c: Include concat-filename.h, not filename.h.
36640         (execute_java_class): Use xconcatenated_filename instead of
36641         concatenated_filename.
36642         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
36643         * modules/javacomp (Depends-on): Likewise.
36644         * modules/javaexec (Depends-on): Likewise.
36645
36646 2008-09-01  Bruno Haible  <bruno@clisp.org>
36647
36648         Split module 'filename' into 'filename' and 'concat-filename'.
36649         * modules/filename: Keep only lib/filename.h.
36650         (License): Change to LGPLv2+.
36651         * modules/concat-filename: New file, extracted from modules/filename.
36652         * lib/filename.h (concatenated_filename): Remove declaration.
36653         * lib/concat-filename.h: New file, extracted from lib/filename.h.
36654         * lib/concat-filename.c: Include concat-filename.h.
36655         * NEWS: Mention the change.
36656
36657 2008-09-01  Simon Josefsson  <simon@josefsson.org>
36658
36659         * lib/bitrotate.h (rotl8, rotr8): Add.
36660
36661         * modules/bitrotate (configure.ac): Need
36662         AC_REQUIRE([AC_C_INLINE]).
36663         (Description): Mention stdint.h.  Reported by Bruno Haible
36664         <bruno@clisp.org>.
36665
36666         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
36667         Paolo Bonzini <bonzini@gnu.org>.
36668
36669 2008-08-31  Bruno Haible  <bruno@clisp.org>
36670
36671         Assume Solaris specific bi-arch conventions on Solaris systems.
36672         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
36673         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
36674         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
36675         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
36676         like acl_libdirstem.
36677         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
36678         acl_libdirstem.
36679         * NEWS: Mention the change.
36680         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
36681
36682 2008-08-31  Jim Meyering  <meyering@redhat.com>
36683
36684         * lib/strftime.h: Add comments describing the two added arguments.
36685
36686         remove duplicate #include directives
36687         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
36688         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
36689
36690 2008-08-31  Bruno Haible  <bruno@clisp.org>
36691
36692         New module 'sigpipe-die'.
36693         * modules/sigpipe-die: New file.
36694         * lib/sigpipe-die.h: New file.
36695         * lib/sigpipe-die.c: New file.
36696         * MODULES.html.sh (Signal handling): Add sigpipe-die.
36697
36698 2008-08-31  Bruno Haible  <bruno@clisp.org>
36699
36700         Don't override previously installed signal handlers.
36701         * lib/fatal-signal.c (saved_sigactions): New variable.
36702         (uninstall_handlers): Reset the signal to the saved handler, not
36703         to SIG_DFL (except when ignored).
36704         (install_handlers): Save the previous handlers.
36705
36706 2008-08-30  Bruno Haible  <bruno@clisp.org>
36707
36708         * gnulib-tool (func_reset_sigpipe): New function.
36709         (func_get_automake_snippet, func_modules_transitive_closure,
36710         func_import): Invoke it before a join command that reads from stdin,
36711         to avoid "echo: write error: Broken pipe" error messages on stderr.
36712         Reported by Sam Steingold <sds@gnu.org>.
36713
36714 2008-08-30  Bruno Haible  <bruno@clisp.org>
36715
36716         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
36717         Code copied from m4/open.m4.
36718         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
36719         access and the filename ends in a slash. Code copied from lib/open.c.
36720         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
36721         * tests/test-fopen.c (main): Check against bug with trailing slash.
36722
36723 2008-08-29  Bruno Haible  <bruno@clisp.org>
36724
36725         Avoid some "gcc -pedantic" warnings.
36726         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
36727         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
36728         * lib/dirent.in.h: Likewise.
36729         * lib/fcntl.in.h: Likewise.
36730         * lib/float.in.h: Likewise.
36731         * lib/iconv.in.h: Likewise.
36732         * lib/inttypes.in.h: Likewise.
36733         * lib/locale.in.h: Likewise.
36734         * lib/math.in.h: Likewise.
36735         * lib/netinet_in.in.h: Likewise.
36736         * lib/search.in.h: Likewise.
36737         * lib/signal.in.h: Likewise.
36738         * lib/stdarg.in.h: Likewise.
36739         * lib/stdint.in.h: Likewise.
36740         * lib/stdio.in.h: Likewise.
36741         * lib/stdlib.in.h: Likewise.
36742         * lib/string.in.h: Likewise.
36743         * lib/strings.in.h: Likewise.
36744         * lib/sys_select.in.h: Likewise.
36745         * lib/sys_socket.in.h: Likewise.
36746         * lib/sys_stat.in.h: Likewise.
36747         * lib/sys_time.in.h: Likewise.
36748         * lib/sysexits.in.h: Likewise.
36749         * lib/time.in.h: Likewise.
36750         * lib/unistd.in.h: Likewise.
36751         * lib/wchar.in.h: Likewise.
36752         * lib/wctype.in.h: Likewise.
36753         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
36754         * modules/fchdir (Makefile.am): Likewise.
36755         * modules/fcntl (Makefile.am): Likewise.
36756         * modules/float (Makefile.am): Likewise.
36757         * modules/iconv_open (Makefile.am): Likewise.
36758         * modules/inttypes (Makefile.am): Likewise.
36759         * modules/locale (Makefile.am): Likewise.
36760         * modules/math (Makefile.am): Likewise.
36761         * modules/netinet_in (Makefile.am): Likewise.
36762         * modules/search (Makefile.am): Likewise.
36763         * modules/signal (Makefile.am): Likewise.
36764         * modules/stdarg (Makefile.am): Likewise.
36765         * modules/stdint (Makefile.am): Likewise.
36766         * modules/stdio (Makefile.am): Likewise.
36767         * modules/stdlib (Makefile.am): Likewise.
36768         * modules/string (Makefile.am): Likewise.
36769         * modules/strings (Makefile.am): Likewise.
36770         * modules/sys_select (Makefile.am): Likewise.
36771         * modules/sys_socket (Makefile.am): Likewise.
36772         * modules/sys_stat (Makefile.am): Likewise.
36773         * modules/sys_time (Makefile.am): Likewise.
36774         * modules/sysexits (Makefile.am): Likewise.
36775         * modules/time (Makefile.am): Likewise.
36776         * modules/unistd (Makefile.am): Likewise.
36777         * modules/wchar (Makefile.am): Likewise.
36778         * modules/wctype (Makefile.am): Likewise.
36779         Reported by Reuben Thomas <rrt@sc3d.org>.
36780
36781 2008-08-29  Bruno Haible  <bruno@clisp.org>
36782
36783         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
36784         any more.
36785
36786 2008-08-29  Simon Josefsson  <simon@josefsson.org>
36787
36788         * MODULES.html.sh (Misc): Add bitrotate.
36789
36790         * modules/bitrotate: New file.
36791
36792         * lib/bitrotate.h: New file.
36793
36794         * modules/bitrotate-tests: New file.
36795
36796         * tests/test-bitrotate.c: New file.
36797
36798         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
36799         on the bitrotate module.
36800
36801         * lib/arctwo.c: Use new bitrotate module.
36802
36803 2008-08-29  Jim Meyering  <meyering@redhat.com>
36804
36805         bootstrap: merge changes from coreutils
36806         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
36807         of copied files.  Remove a kludge, now that this is fixed.
36808         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
36809         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
36810         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
36811
36812 2008-08-29  Bruno Haible  <bruno@clisp.org>
36813
36814         * MODULES.html.sh: Remove --cvs-urls option.
36815
36816 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
36817
36818         maint.mk: adjust to file name change
36819         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
36820
36821 2008-08-28  Jim Meyering  <meyering@redhat.com>
36822
36823         * modules/getndelim2 (License): Relicense to LGPLv2+.
36824         Approved by Richard Stallman for the version of 1995, and by
36825         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
36826
36827 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
36828
36829         * lib/getdelim.c (flockfile, funlockfile): Make all of them
36830         dummy if one is not available.  Do not touch them if
36831         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
36832         (getc_maybe_unlocked): New.
36833         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
36834
36835 2008-08-26  Eric Blake  <ebb9@byu.net>
36836
36837         doc/INSTALL: resync from autoconf
36838         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
36839         (INSTALL_PRELUDE): Delete; this is done more efficiently by
36840         moving...
36841         * install.texi [!autoconf]: ...here.  Resync from autoconf.
36842         * INSTALL: Regenerate.
36843         * INSTALL.ISO: New file.
36844         * INSTALL.UTF-8: Likewise.
36845
36846 2008-08-26  Jim Meyering  <meyering@redhat.com>
36847
36848         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
36849         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
36850         these definitions conditional, so that they may be overridden, too.
36851
36852 2008-08-26  Bruno Haible  <bruno@clisp.org>
36853
36854         Generate INSTALL file variants with prettier quotes.
36855         * doc/Makefile (INSTALL_PRELUDE): New macro.
36856         (INSTALL): Use it.
36857         (INSTALL.ISO, INSTALL.UTF-8): New rules.
36858
36859 2008-08-26  Bruno Haible  <bruno@clisp.org>
36860
36861         Run makeinfo in an English locale.
36862         * doc/Makefile (MAKEINFO): New variable.
36863
36864 2008-08-26  Bruno Haible  <bruno@clisp.org>
36865
36866         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
36867         Suggested by Eric Blake.
36868
36869 2008-08-25  Bruno Haible  <bruno@clisp.org>
36870
36871         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
36872
36873 2008-08-25  Eric Blake  <ebb9@byu.net>
36874
36875         c-stack: test that stack overflow can be caught
36876         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
36877         that platform allows handling stack overflow; at least OS/2 EMX
36878         has sigaltstack, but crashes before transferring control to
36879         handler on stack overflow.
36880         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
36881         check for HAVE_STACK_OVERFLOW_HANDLING.
36882         Reported by Elbert Pol.
36883
36884 2008-08-25  Bruno Haible  <bruno@clisp.org>
36885
36886         * doc/posix-functions/strftime.texi: Fix description of strftime
36887         module.
36888
36889 2008-08-24  Bruno Haible  <bruno@clisp.org>
36890
36891         * tests/uniwidth/test-uc_width2.c: New file.
36892         * tests/uniwidth/test-uc_width2.sh: New file.
36893         * modules/uniwidth/width-tests (Files): Add the new files.
36894         (TESTS): Add uniwidth/test-uc_width2.sh.
36895         (TESTS_ENVIRONMENT): New variable.
36896         (check_PROGRAMS): Add test-uc_width2.
36897         (test_uc_width2_SOURCES): New variable.
36898
36899         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
36900         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
36901         not 0x00AB.
36902         Reported by Alexander V. Lukyanov <lav@netis.ru>.
36903
36904 2008-08-22  Eric Blake  <ebb9@byu.net>
36905
36906         test-lock, test-tls: mention why a test is skipped
36907         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
36908         skipped.
36909         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
36910
36911         count-one-bits: relax license
36912         * modules/count-one-bits (License): Relicense to LGPLv2+.
36913         Suggested by Ludovic Courtès, approved by Ben Pfaff.
36914
36915 2008-08-22  Andreas Schwab  <schwab@suse.de>
36916
36917         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
36918         Remove spurious space in assignment.
36919
36920 2008-08-21  Simon Josefsson  <simon@josefsson.org>
36921
36922         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
36923         Paul Eggert <eggert@CS.UCLA.EDU>.
36924
36925 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
36926
36927         * modules/gettext: Add m4/threadlib.m4.
36928
36929 2008-08-19  Eric Blake  <ebb9@byu.net>
36930
36931         test-c-stack: fix compilation failure on FreeBSD 5.0
36932         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
36933         headers before <sys/resource.h>.
36934         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
36935         the bug.
36936         Reported by Nelson H. F. Beebe.
36937
36938         strverscmp: migrate from "strverscmp.h" to <string.h>
36939         * modules/string (Makefile.am): Add new hooks.
36940         * modules/strverscmp (Files): Remove strverscmp.h.
36941         (Depends-on): Add string.
36942         (configure.ac): Add indicator.
36943         (Include): Mention new header.
36944         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
36945         defaults.
36946         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
36947         results.
36948         * lib/strverscmp.h: Delete.
36949         * lib/string.in.h (strverscmp): Provide declaration, when needed.
36950         * tests/test-strverscmp.c (includes): Adjust client.
36951         * lib/check-version.c (includes): Likewise.
36952         * NEWS: Document the change.
36953
36954         strverscmp: add unit test
36955         * modules/strverscmp-tests: New file.
36956         * tests/test-strverscmp.c: Likewise.
36957
36958 2008-08-19  Simon Josefsson  <simon@josefsson.org>
36959
36960         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
36961         regarding Windows crypto stuff, from Mono.
36962
36963 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
36964
36965         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
36966         if present, for intel RND.  Return error on failures.
36967
36968 2008-08-18  Ben Pfaff  <blp@gnu.org>
36969
36970         gitlog-to-changelog: give better diagnostic for failed pipe-open
36971         * build-aux/gitlog-to-changelog: Improve error message: suggest
36972         that the version of Git may be too old.
36973
36974 2008-08-18  Simon Josefsson  <simon@josefsson.org>
36975
36976         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
36977         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
36978
36979 2008-08-18  Bruno Haible  <bruno@clisp.org>
36980
36981         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
36982         pthread_in_use().
36983
36984 2008-08-18  Bruno Haible  <bruno@clisp.org>
36985
36986         * lib/glthread/threadlib.c: Include <pthread.h>.
36987
36988 2008-08-18  Bruno Haible  <bruno@clisp.org>
36989
36990         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
36991         glthread_recursive_lock_* macros.
36992         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
36993         Fix syntax error.
36994
36995 2008-08-18  Bruno Haible  <bruno@clisp.org>
36996
36997         * lib/glthread/thread.c: Avoid forcing a context switch right after
36998         thread creation.
36999
37000 2008-08-17  Bruno Haible  <bruno@clisp.org>
37001
37002         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
37003         * lib/glthread/thread.h: Provide Win32 specific implementation.
37004         * modules/thread (Files): Add lib/glthread/thread.c.
37005         (Depends-on): Add lock.
37006         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
37007
37008 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37009
37010         New module 'yield'.
37011         * modules/yield: New file.
37012         * lib/glthread/yield.h: New file.
37013         * m4/yield.m4: New file.
37014         * MODULES.html.sh (Multithreading): Add yield.
37015
37016 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37017
37018         New module 'thread'.
37019         * modules/thread: New file.
37020         * lib/glthread/thread.h: New file.
37021         * m4/thread.m4: New file.
37022         * MODULES.html.sh (Multithreading): Add thread.
37023
37024 2008-08-17  Bruno Haible  <bruno@clisp.org>
37025
37026         * lib/glthread/lock.h: Include <stdlib.h> always.
37027         * lib/glthread/tls.h: Likewise.
37028         * lib/glthread/cond.h: Likewise.
37029
37030 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37031
37032         New module 'cond'.
37033         * modules/cond: New file.
37034         * lib/glthread/cond.h: New file.
37035         * lib/glthread/cond.c: New file.
37036         * m4/cond.m4: New file.
37037         * MODULES.html.sh (Multithreading): Add cond.
37038
37039 2008-08-16  Eric Blake  <ebb9@byu.net>
37040
37041         c-stack: fix regression on Irix 5.3 from 2008-06-21
37042         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
37043         sa_sigaction...
37044         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
37045         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
37046         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
37047         * modules/signal (Makefile.am): Use the value.
37048         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
37049         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
37050         * doc/posix-headers/signal.texi (signal.h): Document this
37051         portability issue.
37052         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
37053         Reported by Tom G. Christensen.
37054
37055 2008-08-17  Bruno Haible  <bruno@clisp.org>
37056
37057         New module 'threadlib'.
37058         * modules/threadlib: New file.
37059         * lib/glthread/threadlib.c: New file, extracted from
37060         lib/glthread/lock.c.
37061         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
37062         functions.
37063         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
37064         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
37065         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
37066         macros.
37067         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
37068         (gl_DISABLE_THREADS): Remove macro.
37069         * modules/lock (Files): Remove build-aux/config.rpath.
37070         (Depends-on): Remove havelib. Add threadlib.
37071         (configure.ac-early): Remove section.
37072         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
37073         * modules/tls (Depends-on): Remove lock. Add threadlib.
37074         (Link): New section, copied from threadlib.
37075         * MODULES.html.sh (Multithreading): Add threadlib.
37076
37077 2008-08-14  Bruno Haible  <bruno@clisp.org>
37078
37079         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
37080         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
37081         glthread_rwlock_unlock, glthread_rwlock_destroy,
37082         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
37083         glthread_recursive_lock_destroy): Define as macros always.
37084         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
37085         glthread_lock_lock.
37086         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
37087         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
37088         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
37089         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
37090         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
37091         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
37092         (glthread_recursive_lock_lock_func): Renamed from
37093         glthread_recursive_lock_lock.
37094         (glthread_recursive_lock_unlock_func): Renamed from
37095         glthread_recursive_lock_unlock.
37096         (glthread_recursive_lock_destroy_func): Renamed from
37097         glthread_recursive_lock_destroy.
37098
37099 2008-08-14  Bruno Haible  <bruno@clisp.org>
37100
37101         * lib/glthread/lock.h: Renamed from lib/lock.h.
37102         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
37103         * lib/glthread/tls.h: Renamed from lib/tls.h.
37104         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
37105         * lib/fstrcmp.c: Update includes.
37106         * lib/strsignal.c: Update includes.
37107         * modules/lock (Files, Makefile.am): Update.
37108         (Include): Change to "glthread/lock.h".
37109         * modules/tls (Files, Makefile.am): Update.
37110         (Include): Change to "glthread/tls.h".
37111         * tests/test-lock.c: Update includes.
37112         * tests/test-tls.c: Update includes.
37113         * NEWS: Mention the renamed header files.
37114
37115 2008-08-11  Jim Meyering  <meyering@redhat.com>
37116
37117         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
37118
37119 2008-08-11  Eric Blake  <ebb9@byu.net>
37120
37121         test-c-stack: avoid C99-ism
37122         * tests/test-c-stack.c (main): Fix whitespace, move declaration
37123         before statement.
37124         Reported by Alain Guibert.
37125
37126 2008-08-10  Jim Meyering  <meyering@redhat.com>
37127
37128         ensure that return value of uinttostr et al are not ignored
37129         * lib/inttostr.h (__GNUC_PREREQ): Define.
37130         (__attribute_warn_unused_result__): Define.
37131         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
37132
37133 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
37134
37135         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
37136         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
37137
37138 2008-08-07  Jim Meyering  <meyering@redhat.com>
37139
37140         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
37141
37142         * modules/mkstemp (License): Relicense under LGPLv2+.
37143         * modules/tempname (License): Likewise.
37144
37145 2008-08-06  Bruno Haible  <bruno@clisp.org>
37146
37147         * lib/poll.c (poll): Further micro-optimization.
37148
37149 2008-08-06  Jim Meyering  <meyering@redhat.com>
37150
37151         inet_pton.c: use locale-independent tolower
37152         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
37153         (inet_pton6): Use c_tolower rather than tolower.
37154         * modules/inet_pton (Depends-on): Add c-ctype.
37155
37156 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
37157
37158         * lib/poll.c (poll): Avoid division when timeout is 0, cache
37159         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
37160
37161 2008-08-06  Jim Meyering  <meyering@redhat.com>
37162
37163         * modules/inet_pton (License): Relicense under LGPLv2+.
37164
37165 2008-08-03  Bruno Haible  <bruno@clisp.org>
37166
37167         Additional non-aborting API for lock and tls.
37168         * lib/lock.h: Include <errno.h>.
37169         (glthread_lock_init): New macro/function.
37170         (gl_lock_init): Define as wrapper around glthread_lock_init.
37171         (glthread_lock_lock): New macro/function.
37172         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
37173         (glthread_lock_unlock): New macro/function.
37174         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
37175         (glthread_lock_destroy): New macro/function.
37176         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
37177         (glthread_rwlock_init): New macro/function.
37178         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
37179         (glthread_rwlock_rdlock): New macro/function.
37180         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
37181         (glthread_rwlock_wrlock): New macro/function.
37182         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
37183         (glthread_rwlock_unlock): New macro/function.
37184         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
37185         (glthread_rwlock_destroy): New macro/function.
37186         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
37187         (glthread_recursive_lock_init): New macro/function.
37188         (gl_recursive_lock_init): Define as wrapper around
37189         glthread_recursive_lock_init.
37190         (glthread_recursive_lock_lock): New macro/function.
37191         (gl_recursive_lock_lock): Define as wrapper around
37192         glthread_recursive_lock_lock.
37193         (glthread_recursive_lock_unlock): New macro/function.
37194         (gl_recursive_lock_unlock): Define as wrapper around
37195         glthread_recursive_lock_unlock.
37196         (glthread_recursive_lock_destroy): New macro/function.
37197         (gl_recursive_lock_destroy): Define as wrapper around
37198         glthread_recursive_lock_destroy.
37199         (glthread_once): New macro/function.
37200         (gl_once): Define as wrapper around glthread_once.
37201         Update function declarations.
37202         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
37203         glthread_rwlock_init. Return error code.
37204         (glthread_rwlock_rdlock_multithreaded): Renamed from
37205         glthread_rwlock_rdlock. Return error code.
37206         (glthread_rwlock_wrlock_multithreaded): Renamed from
37207         glthread_rwlock_wrlock. Return error code.
37208         (glthread_rwlock_unlock_multithreaded): Renamed from
37209         glthread_rwlock_unlock. Return error code.
37210         (glthread_rwlock_destroy_multithreaded): Renamed from
37211         glthread_rwlock_destroy. Return error code.
37212         (glthread_recursive_lock_init_multithreaded): Renamed from
37213         glthread_recursive_lock_init. Return error code.
37214         (glthread_recursive_lock_lock_multithreaded): Renamed from
37215         glthread_recursive_lock_lock. Return error code.
37216         (glthread_recursive_lock_unlock_multithreaded): Renamed from
37217         glthread_recursive_lock_unlock. Return error code.
37218         (glthread_recursive_lock_destroy_multithreaded): Renamed from
37219         glthread_recursive_lock_destroy. Return error code.
37220         (glthread_once_call): Make static.
37221         (glthread_once_multithreaded): Renamed from glthread_once.
37222         * lib/tls.h: Include <errno.h>.
37223         (glthread_tls_key_init): New macro/function.
37224         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
37225         (glthread_tls_set): New macro/function.
37226         (gl_tls_set): Define as wrapper around glthread_tls_set.
37227         (glthread_tls_key_destroy): New macro/function.
37228         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
37229         Update function declarations.
37230         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
37231         glthread_tls_get.
37232         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
37233
37234 2008-08-04  Eric Blake  <ebb9@byu.net>
37235
37236         gnumakefile: use space, not TAB, outside of targets
37237         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
37238
37239 2008-08-02  Jim Meyering  <meyering@redhat.com>
37240
37241         getdate.y: avoid locale-dependent date parsing failure
37242         In Turkish locales, getdate would fail to recognize keywords
37243         containing a lowercase "i".  The solution is not to rely on
37244         locale-sensitive case-conversion.
37245         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
37246         (lookup_word): Use c_toupper in place of toupper.
37247         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
37248         Reported by Vefa Bicakci <bicave@superonline.com> in
37249         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
37250         * modules/getdate (Depends-on): Add c-ctype.
37251
37252 2008-08-02  Bruno Haible  <bruno@clisp.org>
37253
37254         * gnulib-tool (func_import): When updating or creating a .gitignore
37255         file, prepend each added line with a slash, and ignore leading slashes
37256         from the existing lines.
37257         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
37258
37259 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37260
37261         Portability fix for GNU make 3.79.1.
37262         * top/GNUmakefile: Avoid 'else COND', which older GNU make
37263         versions do not understand.
37264
37265 2008-08-01  Bruno Haible  <bruno@clisp.org>
37266
37267         Work around bug of HP-UX 10.20 cc with -0.0 literal.
37268         * tests/test-isnanf.h (zero): New variable.
37269         (main): Avoid literal -0.0f.
37270         * tests/test-isnand.h (zero): New variable.
37271         (main): Avoid literal -0.0.
37272         * tests/test-isnanl.h (zero): New variable.
37273         (main): Avoid literal -0.0L.
37274         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
37275         (test_float, test_double, test_long_double): Avoid literals -0.0f,
37276         -0.0, -0.0L.
37277         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
37278         (test_signbitd): Avoid literal -0.0.
37279         (test_signbitl): Avoid literal -0.0L.
37280         * tests/test-ceilf1.c (zero): New variable.
37281         (main): Avoid literal -0.0f.
37282         * tests/test-ceill.c (zero): New variable.
37283         (main): Avoid literal -0.0L.
37284         * tests/test-floorf1.c (zero): New variable.
37285         (main): Avoid literal -0.0f.
37286         * tests/test-floorl.c (zero): New variable.
37287         (main): Avoid literal -0.0L.
37288         * tests/test-roundf1.c (zero): New variable.
37289         (main): Avoid literal -0.0f.
37290         * tests/test-round1.c (zero): New variable.
37291         (main): Avoid literal -0.0.
37292         * tests/test-roundl.c (zero): New variable.
37293         (main): Avoid literal -0.0L.
37294         * tests/test-truncf1.c (zero): New variable.
37295         (main): Avoid literal -0.0f.
37296         * tests/test-trunc1.c (zero): New variable.
37297         (main): Avoid literal -0.0.
37298         * tests/test-truncl.c (zero): New variable.
37299         (main): Avoid literal -0.0L.
37300         * tests/test-frexp.c (zero): New variable.
37301         (main): Avoid literal -0.0.
37302         * tests/test-frexpl.c (zero): New variable.
37303         (main): Avoid literal -0.0L.
37304         * tests/test-ldexpl.c (zero): New variable.
37305         (main): Avoid literal -0.0L.
37306         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
37307         (zerod, zerol): New variables.
37308         (test_function): Avoid literals -0.0, -0.0L.
37309         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
37310         (zerod, zerol): New variables.
37311         (test_function): Avoid literals -0.0, -0.0L.
37312         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
37313         (zerod, zerol): New variables.
37314         (test_function): Avoid literals -0.0, -0.0L.
37315         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
37316         (zerod, zerol): New variables.
37317         (test_function): Avoid literals -0.0, -0.0L.
37318         * tests/test-strtod.c (zero): New variable.
37319         (main): Avoid literal -0.0.
37320         Reported by Jonathan C. Patschke <jp@centtech.com>.
37321
37322 2008-07-31  Jim Meyering  <meyering@redhat.com>
37323
37324         sha256.h: correct definition of SHA224_DIGEST_SIZE
37325         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
37326         Reported by Paulie Pena IV <paulie4@gmail.com>.
37327         Define as 224 / 8, rather than as a literal.
37328         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
37329         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
37330         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
37331
37332 2008-07-31  Bruno Haible  <bruno@clisp.org>
37333
37334         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
37335         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
37336         Reported by Jonathan Patschke <jp@centtech.com>.
37337
37338 2008-07-31  Bruno Haible  <bruno@clisp.org>
37339
37340         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
37341         Reported by Paolo Bonzini <bonzini@gnu.org>.
37342
37343 2008-07-30  Eric Blake  <ebb9@byu.net>
37344
37345         test-strtod: allow compilation without -lm
37346         * tests/test-strtod.c (main): Avoid link dependence on fabs.
37347         Reported by Dennis Clarke <blastwave@gmail.com>.
37348
37349 2008-07-28  Jim Meyering  <meyering@redhat.com>
37350
37351         bootstrap: work also when there are no .po files in po/
37352         * build-aux/bootstrap (update_po_files): Complete the change
37353         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
37354
37355 2008-07-27  Jim Meyering  <meyering@redhat.com>
37356
37357         * users.txt: Add zile.
37358
37359 2008-07-26  Ben Pfaff  <blp@gnu.org>
37360
37361         Add missing dependencies on new m4/exponent[fdl].m4 files.
37362         * modules/isnanf-nolibm: Add m4/exponentf.m4.
37363         * modules/isnand-nolibm: Add m4/exponentd.m4.
37364         * modules/isnanl-nolibm: Add m4/exponentl.m4.
37365         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
37366         m4/isnan[fdl].m4, because the macros actually used moved.
37367         Reported by Jim Meyering.
37368
37369 2008-07-14  Ben Pfaff  <blp@gnu.org>
37370
37371         Add isinf module.
37372         * lib/isinf.c: New file.
37373         * lib/math.in.h: Define isinf macro if we have decided to replace
37374         it.
37375         * m4/isinf.m4: New file.
37376         * m4/math_h.m4: Initialize and substitute variables for isinf
37377         module.
37378         * modules/isinf: New file.
37379         * modules/isinf-tests: New file.
37380         * modules/math: Add substitutions for new module.
37381         * tests/test-isinf.c: New file.
37382         * doc/posix-functions/isinf.texi: Mention new module.
37383         * MODULES.html.sh: Mention new module.
37384
37385 2008-07-14  Ben Pfaff  <blp@gnu.org>
37386
37387         Factor out some macros for use by additional modules.
37388         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
37389         exponentf.m4.
37390         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
37391         exponentd.m4.
37392         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
37393         file exponentl.m4.
37394         * m4/exponentf.m4: New file.
37395         * m4/exponentd.m4: New file.
37396         * m4/exponentl.m4: New file.
37397         * modules/isnanf: Use new file m4/exponentf.m4.
37398         * modules/isnand: Use new file m4/exponentd.m4.
37399         * modules/isnanl: Use new file m4/exponentl.m4.
37400
37401 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
37402
37403         mktime.c: normalize tp->tm_isdst value to -1/0/1.
37404         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
37405         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
37406         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
37407
37408         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
37409         readlink on platforms without PATH_MAX.
37410
37411 2008-07-21  Eric Blake  <ebb9@byu.net>
37412
37413         Warn, not fail, on stale version.
37414         * top/GNUmakefile (_curr-ver): Tone down previous patch.
37415
37416         Don't allow installation with stale devel version number.
37417         * top/GNUmakefile (_is-install-target): New macro.
37418         (_curr-ver): Forbid installation with stale version number.
37419
37420 2008-07-20  Bruno Haible  <bruno@clisp.org>
37421
37422         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
37423         TESTS_ENVIRONMENT.
37424         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
37425
37426 2008-07-20  Bruno Haible  <bruno@clisp.org>
37427
37428         * lib/c-stack.h (c_stack_action): Add documentation.
37429         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
37430
37431 2008-07-20  Bruno Haible  <bruno@clisp.org>
37432
37433         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
37434         * modules/readlink (License): Likewise.
37435
37436 2008-07-17  Eric Blake  <ebb9@byu.net>
37437
37438         * modules/c-stack (Link): Fix typo.
37439
37440         Make c-stack use libsigsegv, when available.
37441         * modules/c-stack (Depends-on): Add libsigsegv.
37442         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
37443         needed.
37444         * lib/c-stack.c (SIGSTKSZ): Define fallback.
37445         (segv_handler, overflow_handler, c_stack_action)
37446         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
37447         implementation when libsigsegv is available, but only when using
37448         the library is necessary.
37449         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
37450         comment, explaining why XSI check fails on Linux.
37451         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
37452         * tests/test-c-stack2.sh: Tweak skip message.
37453         * NEWS: Document new link-time requirements.
37454
37455 2008-07-16  Eric Blake  <ebb9@byu.net>
37456
37457         c-stack: Expose false positives when not using libsigsegv.
37458         * modules/c-stack-tests (Files): Expand test.
37459         * tests/test-c-stack.c (main): Add means to conditionally trigger
37460         non-overflow SIGSEGV.
37461         * tests/test-c-stack2.sh: New file.
37462
37463 2008-07-14  Bruno Haible  <bruno@clisp.org>
37464
37465         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
37466         Reported by Eric Blake.
37467
37468 2008-07-14  Sam Steingold  <sds@gnu.org>
37469             Bruno Haible  <bruno@clisp.org>
37470
37471         New module libsigsegv.
37472         * modules/libsigsegv: New file.
37473         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
37474         modifications.
37475         * MODULES.html.sh (Signal handling): New section.
37476
37477 2008-07-14  Bruno Haible  <bruno@clisp.org>
37478
37479         * modules/unictype/ctype-* (Description): Add the word "function".
37480         Improves the resulting doc in MODULES.html.
37481
37482 2008-07-12  Ben Pfaff  <blp@gnu.org>
37483
37484         Add longlong module.
37485         * modules/longlong: New file.
37486
37487 2008-07-12  Bruno Haible  <bruno@clisp.org>
37488
37489         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
37490         to empty.
37491
37492 2008-07-10  Ben Pfaff  <blp@gnu.org>
37493
37494         Add isnan module.
37495         * doc/posix-functions/isnan.texi: Mention new module.
37496         * lib/math.in.h: Define isnan macro if we have decided to replace
37497         it.
37498         * m4/isnan.m4: New file.
37499         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
37500         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
37501         also.
37502         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
37503         redundancy.
37504         * m4/math_h.m4: Initialize and substitute variables for isnan
37505         module.
37506         * modules/isnan: New file.
37507         * modules/isnan-tests: New file.
37508         * modules/math: Add substitutions for new module.
37509         * tests/test-isnan.c: New file.
37510         * MODULES.html.sh: Mention new module.
37511
37512 2008-07-10  Ben Pfaff  <blp@gnu.org>
37513
37514         Add isnanf module.
37515         * lib/isnanf.m4: New file.
37516         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
37517         (gl_HAVE_ISNANF_IN_LIBM): New macro.
37518         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
37519         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
37520         * modules/isnanf: New file.
37521         * modules/isnanf-tests: New file.
37522         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
37523         files.
37524         * tests/test-isnanf-nolibm.c: factored most of its contents into
37525         new file tests/test-isnanf.h.
37526         * tests/test-isnanf.h: New file.
37527         * tests/test-isnanf.c: New file.
37528         * MODULES.html.sh: Mention new module.
37529         * doc/glibc-functions/isnanf.texi: Mention new module.
37530
37531 2008-07-10  Ben Pfaff  <blp@gnu.org>
37532
37533         Add isnand module.
37534         * lib/isnand.h: New file.
37535         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
37536         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
37537         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
37538         functionality also.
37539         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
37540         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
37541         (gl_HAVE_ISNAND_IN_LIBM): New macro.
37542         * modules/isnand: New file.
37543         * modules/isnand-tests: New file.
37544         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
37545         files.
37546         * tests/test-isnand-nolibm.c: factored most of its contents into
37547         new file tests/test-isnand.h.
37548         * tests/test-isnand.h: New file.
37549         * tests/test-isnand.c: New file.
37550         * MODULES.html.sh: Mention new module.
37551
37552 2008-07-10  Ben Pfaff  <blp@gnu.org>
37553
37554         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
37555         * lib/isnand.h: Rename lib/isnand-nolibm.h.
37556         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
37557         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
37558         * modules/isnanf-nolibm: Update references to renamed files.
37559         * modules/isnand-nolibm: Likewise.
37560         * modules/isnanf-nolibm-tests: Likewise.
37561         * modules/isnand-nolibm-tests: Likewise.
37562         * lib/frexp.c: Likewise.
37563         * lib/isfinite.c: Likewise.
37564         * lib/signbitd.c: Likewise.
37565         * lib/signbitf.c: Likewise.
37566         * lib/vasnprintf.c: Likewise.
37567         * tests/test-ceilf1.c: Likewise.
37568         * tests/test-ceilf2.c: Likewise.
37569         * tests/test-floorf1.c: Likewise.
37570         * tests/test-floorf2.c: Likewise.
37571         * tests/test-frexp.c: Likewise.
37572         * tests/test-round1.c: Likewise.
37573         * tests/test-round2.c: Likewise.
37574         * tests/test-roundf1.c: Likewise.
37575         * tests/test-strtod.c: Likewise.
37576         * tests/test-trunc1.c: Likewise.
37577         * tests/test-trunc2.c: Likewise.
37578         * tests/test-truncf1.c: Likewise.
37579         * tests/test-truncf2.c: Likewise.
37580         * NEWS: Mention the renamed header files.
37581
37582 2008-07-11  Jim Meyering  <meyering@redhat.com>
37583
37584         vc-list-files: make the last-resort awk code more portable
37585         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
37586         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
37587         does not support it.
37588
37589 2008-07-10  Eric Blake  <ebb9@byu.net>
37590
37591         Work with tar's bootstrap.
37592         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
37593         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
37594         an m4 comment.
37595
37596 2008-07-09  Jim Meyering  <meyering@redhat.com>
37597
37598         posix-shell.m4: fix typo that made this test malfunction
37599         * m4/posix-shell.m4: Remove capitalization in variable name.
37600
37601 2008-07-08  Bruno Haible  <bruno@clisp.org>
37602
37603         * m4/onceonly.m4: Update comments.
37604         Reported by Ben Pfaff <blp@cs.stanford.edu>.
37605
37606 2008-07-04  Jim Meyering  <meyering@redhat.com>
37607
37608         * users.txt: Add vc-dwim.
37609         (bison, coreutils): Use the gitweb URL.
37610
37611 2008-07-03  Jim Meyering  <meyering@redhat.com>
37612
37613         * users.txt: Add libffcall.  From Sam Steingold.
37614
37615 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
37616
37617         getdate.y: do not ignore TZ with relative day, month or year offset
37618         * lib/getdate.y (get_date): Move the tz-handling block to follow the
37619         relative-date-handling, since otherwise, the latter would clobber the
37620         sole output (an updated Start value) of the tz-handling block.
37621         * tests/test-getdate.c: Tests for the fix
37622
37623 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37624
37625         Recognize 'foo_LIBRARIES += libgnu.a'.
37626         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
37627         makefile snippet has already specified an installation location,
37628         also using '+='.
37629
37630 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
37631
37632         getdate.y: factor out common actions
37633         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
37634         Use them in place of open-coded actions.
37635
37636 2008-07-01  Simon Josefsson  <simon@josefsson.org>
37637
37638         Add self-test for getdate module.
37639         * modules/getdate-tests: New file.
37640         * tests/test-getdate.c: New file.
37641
37642 2008-06-29  Bruno Haible  <bruno@clisp.org>
37643
37644         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
37645         .gitignore.
37646         Reported by Sylvain Beucler <beuc@beuc.net>.
37647
37648 2008-06-29  Bruno Haible  <bruno@clisp.org>
37649
37650         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
37651         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
37652
37653 2008-06-29  Bruno Haible  <bruno@clisp.org>
37654
37655         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
37656         EXTRA_DIST.
37657         Reported by Sylvain Beucler <beuc@beuc.net>.
37658
37659 2008-06-26  Jim Meyering  <meyering@redhat.com>
37660
37661         make several modules depend on the "open" module
37662         This provides slightly increased consistency when opening-for-write
37663         the name of a non-directory spelled with a trailing slash.
37664         * modules/chdir-safer: Likewise.
37665         * modules/chown: Likewise.
37666         * modules/clean-temp: Likewise.
37667         * modules/copy-file: Likewise.
37668         * modules/fchdir: Likewise.
37669         * modules/fcntl-safer: Likewise.
37670         * modules/pipe: Likewise.
37671         * modules/utime: Likewise.
37672         Prompted by Eric Blake and Bruno Haible.
37673
37674 2008-06-24  Andreas Schwab  <schwab@suse.de>
37675
37676         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
37677         literals can be used as initializers for global variables.
37678
37679 2008-06-23  Eric Blake  <ebb9@byu.net>
37680
37681         Make gnulib-cache.m4 easier to diff.
37682         * gnulib-tool (func_import): Allow newlines when reading cached
37683         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
37684
37685 2008-06-23  Bruno Haible  <bruno@clisp.org>
37686
37687         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
37688         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
37689         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
37690         m4/signalblocking.m4.
37691         (gl_PREREQ_SIGACTION): Don't invoke it.
37692         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
37693         gl_PREREQ_SIG_HANDLER_H.
37694         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
37695         Don't check for sigaction here.
37696
37697 2008-06-23  Bruno Haible  <bruno@clisp.org>
37698
37699         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
37700         (install_handlers): Don't set the SA_RESETHAND flag.
37701
37702 2008-06-23  Bruno Haible  <bruno@clisp.org>
37703
37704         * m4/sigaction.m4: Comment fixes.
37705         * lib/signal.in.h: Likewise.
37706
37707 2008-06-23  Eric Blake  <ebb9@byu.net>
37708
37709         Fix typo.
37710         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
37711
37712         Avoid SA_ namespace.
37713         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
37714         Reported by Ralf Wildenhues.
37715
37716         Avoid test failure due to SA_RESTORER.
37717         * tests/test-sigaction.c (SA_MASK): New macro.
37718         (main): Avoid failing due to extension flags being set.
37719         Reported by Jim Meyering.
37720
37721         Revert use of sig-handler.h in sigprocmask.c.
37722         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
37723         it requires the existence of struct sigaction.
37724         * lib/sigprocmask.c (handler_t): Restore typedef.
37725         (rpl_signal, old_handlers): Use local type.
37726
37727 2008-06-22  Bruno Haible  <bruno@clisp.org>
37728
37729         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
37730         conditionally.
37731         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
37732
37733 2008-06-22  Bruno Haible  <bruno@clisp.org>
37734
37735         * doc/posix-functions/siginterrupt.texi: Move note.
37736
37737         * lib/signal.in.h (SA_RESTART): New macro.
37738         * lib/sigaction.c: Update comment.
37739
37740         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
37741
37742         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
37743         (gl_PREREQ_SIGPROCMASK): Invoke it.
37744         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
37745
37746         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
37747
37748         * lib/sigprocmask.c: Update a comment.
37749
37750 2008-06-21  Eric Blake  <ebb9@byu.net>
37751
37752         Use sigaction module rather than signal().
37753         * modules/c-stack (Depends-on): Add sigaction.
37754         * modules/fatal-signal (Depends-on): Likewise.
37755         * modules/nanosleep (Depends-on): Likewise.
37756         * modules/sigprocmask (Files): Add sig-handler.h.
37757         * modules/sigaction (Files): Likewise.
37758         * lib/sig-handler.h (get_handler): New file, suggested by Paul
37759         Eggert.
37760         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
37761         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
37762         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
37763         (init_fatal_signals): Likewise.
37764         * lib/nanosleep.c (rpl_nanosleep): Likewise.
37765         (siginterrupt): Delete fallback.
37766         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
37767         instead.
37768         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
37769         siginterrupt.
37770
37771         New module sigaction, for mingw.
37772         * modules/sigaction: New module...
37773         * modules/sigaction-tests: ...and its test.
37774         * m4/sigaction.m4: New file.
37775         * lib/sigaction.c: Likewise.
37776         * tests/test-sigaction.c: Likewise.
37777         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
37778         * modules/signal (Makefile.am): Likewise.
37779         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
37780         needed.
37781         * doc/posix-headers/signal.texi (signal.h): Mention provided
37782         types.
37783         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
37784         that sigaction is preferable.
37785         * doc/posix-functions/sigaction.texi (sigaction): Mention new
37786         module.
37787         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
37788         sigaction.
37789
37790         Improve robustness of sigprocmask by overriding signal.
37791         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
37792         is in use.
37793         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
37794         (SIGKILL, SIGSTOP): Provide fallbacks.
37795         (rpl_signal): Implement.
37796         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
37797         signal can be called inside handlers.
37798
37799         Fix nanosleep module on mingw.
37800         * modules/nanosleep (Depends-on): Add sys_select.
37801         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
37802
37803         Fix licensing of sigprocmask.
37804         * modules/raise (License): Relicense as LGPL.
37805
37806 2008-06-21  Bruno Haible  <bruno@clisp.org>
37807
37808         * lib/propername.c (proper_name_utf8): Don't use the transliterated
37809         result if it contains question marks.
37810         Reported by Michael Geng <linux@michaelgeng.de>.
37811
37812 2008-06-19  Bruno Haible  <bruno@clisp.org>
37813
37814         Fix CVS-ism.
37815         * doc/gnulib.texi: Include updated-stamp.texi.
37816         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
37817         (updated-stamp.texi): New rule.
37818         (gnulib.info): Depend on it.
37819         * doc/.gitignore: Add updated-stamp.texi.
37820         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
37821
37822 2008-06-19  Bruno Haible  <bruno@clisp.org>
37823
37824         * doc/Makefile (gnulib.info): Update and simplify dependencies.
37825         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
37826
37827 2008-06-19  Eric Blake  <ebb9@byu.net>
37828
37829         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
37830         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
37831         Reported by Stepan Kasal.
37832
37833 2008-06-18  Bruno Haible  <bruno@clisp.org>
37834
37835         * lib/fatal-signal.c (init_fatal_signals): Add comment.
37836         Reported by Eric Blake.
37837
37838 2008-06-18  Eric Blake  <ebb9@byu.net>
37839
37840         Work around cygwin 1.5.25 strsignal bug.
37841         * tests/test-strsignal.c: Allow for const char *.
37842         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
37843
37844 2008-06-18  Simon Josefsson  <simon@josefsson.org>
37845
37846         * users.txt: Update URL to article and add author/date
37847         information.
37848
37849 2008-06-17  Bruno Haible  <bruno@clisp.org>
37850
37851         New macro gl_DISABLE_THREADS.
37852         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
37853         if the user did not pass --enable-threads or --disable-threads option.
37854         (gl_DISABLE_THREADS): New macro.
37855         Reported by Eric Blake <ebb9@byu.net>.
37856
37857 2008-06-17  Bruno Haible  <bruno@clisp.org>
37858
37859         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
37860         when the macro ignores it.
37861         Based on a patch by Eric Blake <ebb9@byu.net>.
37862
37863 2008-06-17  Bruno Haible  <bruno@clisp.org>
37864
37865         * modules/tls (License): Change to LGPLv2+.
37866         Reported by Eric Blake.
37867
37868 2008-06-17  Eric Blake  <ebb9@byu.net>
37869
37870         Simplify c-stack prerequisites.
37871         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
37872         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
37873         no longer requires <ucontext.h> to exist.  Optimize setrlimit
37874         check.
37875         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
37876         <sys/resource.h>.
37877
37878         Move c-stack test into testsuite.
37879         * modules/c-stack-tests: New file.
37880         * lib/c-stack.c [DEBUG]: Move test program...
37881         * tests/test-c-stack.c: ...into this new file.  Skip rather than
37882         fail test if sigaltstack is lacking.
37883         * tests/test-c-stack.sh: New driver file.
37884
37885 2008-06-16  Eric Blake  <ebb9@byu.net>
37886
37887         Use raise module consistently.
37888         * modules/fatal-signal (Depends-on): Add raise.
37889         * modules/sigprocmask (Depends-on): Likewise.
37890         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
37891         * lib/sigprocmask.c (sigprocmask): Likewise.
37892         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
37893         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
37894
37895         Fix compliance bug in sigpending.
37896         * lib/sigprocmask.c (sigpending): Return pending array via
37897         parameter, not return value.
37898
37899 2008-06-14  Eric Blake  <ebb9@byu.net>
37900
37901         Improve obstack-printf test code.
37902         * tests/test-obstack-printf.c (test_function): Fix comment, and
37903         simplify usage of obstack_* in macros.  Add a test for coverage.
37904         Reported by Bruno Haible.
37905
37906 2008-06-14  Bruno Haible  <bruno@clisp.org>
37907
37908         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
37909         array size as a constant, not as a const variable.
37910         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
37911         AC_USE_SYSTEM_EXTENSIONS.
37912         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
37913         Test whether the obstack_printf function actually exists.
37914         * modules/obstack-printf (Depends-on): Add extensions.
37915         (Include): Remove obstack.h.
37916         * modules/obstack-printf-posix (Depends-on): Add extensions.
37917         (Include): Remove obstack.h.
37918
37919 2008-06-13  Eric Blake  <ebb9@byu.net>
37920
37921         Add obstack-printf and obstack-printf-posix modules.
37922         * modules/obstack-printf: New file.
37923         * modules/obstack-printf-posix: Likewise.
37924         * MODULES.html.sh (Misc): Mention them.
37925         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
37926         Likewise.
37927         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
37928         Likewise.
37929         * modules/stdio (Makefile.am): Accomodate new modules.
37930         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
37931         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
37932         Declare.
37933         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
37934         functions.
37935         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
37936         (gl_REPLACE_OBSTACK_PRINTF): New macros
37937         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
37938         * tests/test-obstack-printf.c: New file.
37939         * modules/obstack-printf-tests: Likewise.
37940         * modules/obstack-printf-posix-tests: Likewise.
37941
37942 2008-06-11  Bruno Haible  <bruno@clisp.org>
37943
37944         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
37945         * lib/open.c: Include errno.h.
37946         (open): Fail when attempting to write to a file that has a trailing
37947         slash.
37948         * tests/test-open.c (main): Test against trailing slash bug.
37949         * doc/posix-functions/open.texi: Mention the trailing slash bug.
37950
37951 2008-06-10  Bruno Haible  <bruno@clisp.org>
37952
37953         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
37954         for $? to work inside the trap command, with various /bin/sh-s.
37955         * tests/test-vc-list-files-cvs.sh: Likewise.
37956
37957 2008-06-10  Bruno Haible  <bruno@clisp.org>
37958
37959         * lib/acl-internal.h: Don't include gettext.h here.
37960         * lib/set-mode-acl.c: Include gettext.h here.
37961         * lib/copy-acl.c: Likewise.
37962
37963 2008-06-10  Bruno Haible  <bruno@clisp.org>
37964
37965         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
37966         * lib/wait-process.c (wait_subprocess): Likewise.
37967         * lib/execute.h (execute): Add termsigp argument.
37968         * lib/execute.c (execute): Likewise.
37969         * lib/csharpcomp.c (compile_csharp_using_pnet,
37970         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
37971         * lib/csharpexec.c (execute_csharp_using_pnet,
37972         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
37973         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
37974         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
37975         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
37976         is_jikes_present): Update.
37977         * lib/javaexec.c (execute_java_class): Update.
37978         * lib/javaversion.c (execute_and_read_line): Update.
37979         * NEWS: Document the changes.
37980         Reported by Eric Blake.
37981
37982 2008-06-10  Eric Blake  <ebb9@byu.net>
37983
37984         Add missing include.
37985         * tests/test-strstr.c (includes): Add <signal.h>.
37986         * tests/test-strcasestr.c (includes): Likewise.
37987         * tests/test-memmem.c (includes): Likewise.
37988
37989 2008-06-10  Bruno Haible  <bruno@clisp.org>
37990
37991         * lib/wait-process.c (wait_subprocess): Add an assertion.
37992
37993 2008-06-10  Bruno Haible  <bruno@clisp.org>
37994
37995         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
37996
37997 2008-06-10  Bruno Haible  <bruno@clisp.org>
37998
37999         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
38000         using alarm().
38001         * tests/test-strcasestr.c (main): Likewise.
38002         * tests/test-strstr.c (main): Likewise.
38003
38004 2008-06-09  Bruno Haible  <bruno@clisp.org>
38005
38006         Work around the Solaris 10 ACE ACLs ABI change.
38007         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
38008         declare if ACL_NO_TRIVIAL is present.
38009         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
38010         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
38011         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
38012         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
38013         define if ACL_NO_TRIVIAL is present.
38014         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
38015         and use the current ABI.
38016         (file_has_acl): Use same #if condition as elsewhere.
38017         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
38018         in use, and use the current ABI.
38019         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
38020         Reported by Jim Meyering.
38021
38022 2008-06-09  Eric Blake  <ebb9@byu.net>
38023
38024         Work around environments that (stupidly) ignore SIGALRM.
38025         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
38026         before using alarm().
38027         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
38028         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
38029         Reported by Ian Beckwith <ianb@erislabs.net>.
38030
38031         Produce autobuild blurb earlier in log.
38032         * modules/autobuild (configure.ac-early): Move AB_INIT here.
38033
38034 2008-06-09  Jim Meyering  <meyering@redhat.com>
38035         and Ondřej Vašík  <ovasik@redhat.com>
38036
38037         utimens.c: correct kernel bug work-around
38038         Ondřej Vašík found that the invalid return value of 280 indicates
38039         failure, not success, and the kernel bug we're trying to work
38040         around affects not just the utimensat call, but also the fallback
38041         futimens call.
38042         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
38043         not success.
38044         [HAVE_FUTIMENS]: Use the same work-around, here.
38045
38046 2008-06-09  Jim Meyering  <meyering@redhat.com>
38047
38048         add more guards around definition of ACE_-related code
38049         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
38050         ALLOW and ACE_OWNER are also defined.
38051
38052 2008-06-08  Bruno Haible  <bruno@clisp.org>
38053
38054         * lib/acl-internal.h: Add me as co-author.
38055         * lib/file-has-acl.c: Likewise.
38056         * lib/set-mode-acl.c: Likewise.
38057         * lib/copy-acl.c: Likewise.
38058
38059 2008-06-08  Bruno Haible  <bruno@clisp.org>
38060
38061         Add support for AIX ACLs.
38062         * lib/acl-internal.h (acl_nontrivial): New declaration.
38063         * lib/file-has-acl.c (acl_nontrivial): New function.
38064         (file_has_acl): Add implementation using AIX 4 ACL API.
38065         * lib/set-mode-acl.c (qset_acl): Likewise.
38066         * lib/copy-acl.c (qcopy_acl): Likewise.
38067
38068 2008-06-08  Bruno Haible  <bruno@clisp.org>
38069
38070         Add support for HP-UX ACLs.
38071         * lib/acl-internal.h (acl_nontrivial): New declaration.
38072         * lib/file-has-acl.c (acl_nontrivial): New function.
38073         (file_has_acl): Add implementation using HP-UX 11 ACL API.
38074         * lib/set-mode-acl.c (qset_acl): Likewise.
38075         * lib/copy-acl.c (qcopy_acl): Likewise.
38076
38077 2008-06-08  Bruno Haible  <bruno@clisp.org>
38078
38079         Add support for Cygwin ACLs.
38080         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
38081         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
38082         the chmod_or_fchmod call.
38083         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
38084
38085 2008-06-08  Bruno Haible  <bruno@clisp.org>
38086
38087         Fix bug with setuid modes in Solaris 10+ code.
38088         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
38089         succeeded, when the mode contains some special bits.
38090
38091 2008-06-08  Bruno Haible  <bruno@clisp.org>
38092
38093         Add support for Solaris 7..10 ACLs.
38094         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
38095         declarations.
38096         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
38097         functions.
38098         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
38099         * lib/set-mode-acl.c (qset_acl): Likewise.
38100         * lib/copy-acl.c (qcopy_acl): Likewise.
38101
38102 2008-06-08  Bruno Haible  <bruno@clisp.org>
38103
38104         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
38105         declaration.
38106         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
38107         (acl_access_nontrivial): Remove MacOS X case.
38108         (file_has_acl): Use acl_extended_nontrivial.
38109         * lib/copy-acl.c (qcopy_acl): Likewise.
38110
38111 2008-06-08  Bruno Haible  <bruno@clisp.org>
38112
38113         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
38114
38115 2008-06-08  Jim Meyering  <meyering@redhat.com>
38116
38117         * modules/acl (Maintainer): Add Bruno Haible.
38118
38119 2008-06-07  Bruno Haible  <bruno@clisp.org>
38120
38121         Improve support for Tru64 ACLs.
38122         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
38123         ACL on OSF/1.
38124
38125 2008-06-07  Bruno Haible  <bruno@clisp.org>
38126
38127         Add support for MacOS X ACLs.
38128         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
38129         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
38130         * lib/set-mode-acl.c (qset_acl): Likewise.
38131         * lib/copy-acl.c (qcopy_acl): Likewise.
38132
38133 2008-06-07  Bruno Haible  <bruno@clisp.org>
38134
38135         Fix memory leak introduced on 2008-05-22.
38136         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
38137         use.
38138
38139 2008-06-07  Bruno Haible  <bruno@clisp.org>
38140
38141         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
38142         to construct an empty ACL.
38143
38144 2008-06-07  Bruno Haible  <bruno@clisp.org>
38145
38146         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
38147         precisely.
38148         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
38149
38150 2008-06-07  Bruno Haible  <bruno@clisp.org>
38151
38152         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
38153         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
38154
38155 2008-06-07  Bruno Haible  <bruno@clisp.org>
38156
38157         * doc/posix-functions/_setjmp.texi: Explain the use of this function
38158         regardless of POSIX.
38159         * doc/posix-functions/_longjmp.texi: Likewise.
38160         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
38161         SystemV platform in this case.
38162
38163 2008-06-06  Eric Blake  <ebb9@byu.net>
38164
38165         Document abort() bugs.
38166         * doc/posix-functions/abort.texi (abort): Mention anomalies.
38167
38168         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
38169         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
38170         sigsetjmp.
38171         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
38172         siglongjmp, but only as a macro.
38173         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
38174         is obsolete.
38175         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
38176
38177         Tweak documentation to cover cygwin argz bugs.
38178         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
38179         argz bug fix; no code change needed since no cygwin releases
38180         occurred between the last fix and the bug being tested.
38181         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
38182         module and recently fixed cygwin bugs.
38183         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
38184         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
38185         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
38186         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
38187         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
38188         Likewise.
38189         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
38190         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
38191         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
38192         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
38193         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
38194         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
38195         Likewise.
38196
38197         Avoid gcc warning on cygwin.
38198         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
38199         !ACL_NO_TRIVIAL]: Avoid unused variable.
38200
38201 2008-06-05  Eric Blake  <ebb9@byu.net>
38202
38203         Be tolerant of UNKNOWN version in gnulib-tool test dir.
38204         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
38205         git-version-gen fails to come up with a version.
38206         Reported by Simon Josefsson.
38207
38208 2008-06-05  Jim Meyering  <meyering@redhat.com>
38209             Paul Eggert  <eggert@cs.ucla.edu>
38210
38211         utimens.c: work around a probable Linux kernel bug
38212         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
38213         appears to be a kernel bug that causes utimensat to return 280
38214         instead of 0, indicating success.
38215
38216 2008-06-04  Bruno Haible  <bruno@clisp.org>
38217
38218         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
38219         2008-06-01 commit.
38220
38221 2008-06-04  Bruno Haible  <bruno@clisp.org>
38222
38223         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
38224         * lib/file-has-acl.c (acl_access_nontrivial): New function.
38225         (file_has_acl): Use it. Save errno afterwards.
38226         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
38227
38228 2008-06-03  Bruno Haible  <bruno@clisp.org>
38229
38230         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
38231         draft code. Simplify #ifs.
38232         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
38233         Put Solaris code after POSIX-draft code. Fix comments regarding
38234         Solaris 10, HP-UX. Mention Cygwin.
38235         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
38236
38237 2008-06-03  Eric Blake  <ebb9@byu.net>
38238
38239         Provide fallback for older kernels.
38240         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
38241         Provide runtime fallback if kernel lacks support.
38242         Reported by Mike Frysinger.
38243
38244 2008-06-02  Bruno Haible  <bruno@clisp.org>
38245
38246         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
38247         it exists.
38248
38249 2008-06-02  Bruno Haible  <bruno@clisp.org>
38250
38251         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
38252         * lib/copy-acl.c (qcopy_acl): Update comment.
38253
38254 2008-06-02  Bruno Haible  <bruno@clisp.org>
38255
38256         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
38257         like ACL APIs.
38258
38259 2008-06-02  Bruno Haible  <bruno@clisp.org>
38260
38261         * tests/test-file-has-acl.sh: Use different code for Cygwin.
38262         * tests/test-set-mode-acl.sh: Likewise.
38263         * tests/test-copy-acl.sh: Likewise.
38264         * tests/test-copy-file.sh: Likewise.
38265
38266 2008-06-02  Bruno Haible  <bruno@clisp.org>
38267
38268         * tests/test-file-has-acl.sh: Remove unused code.
38269
38270 2008-06-01  Bruno Haible  <bruno@clisp.org>
38271
38272         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
38273         (copy_acl): Just a wrapper around qcopy_acl that emits the error
38274         messages.
38275         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
38276
38277 2008-06-01  Bruno Haible  <bruno@clisp.org>
38278
38279         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
38280         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
38281         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
38282         APIs.
38283         * modules/acl-tests (configure.ac): Remove tests now contained in
38284         m4/acl.m4.
38285
38286 2008-06-02  Jim Meyering  <meyering@redhat.com>
38287
38288         announce-gen: use a better key-server host name
38289         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
38290         it may be more consistently reliable.  Suggested by Werner Koch
38291         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
38292
38293 2008-06-01  Bruno Haible  <bruno@clisp.org>
38294
38295         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
38296         Reported by Voroskoi Andras <voroskoi@gmail.com>.
38297
38298 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
38299
38300         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
38301
38302 2008-06-01  Bruno Haible  <bruno@clisp.org>
38303
38304         New ACL tests.
38305         * tests/test-file-has-acl.sh: New file.
38306         * tests/test-file-has-acl.c: New file.
38307         * tests/test-set-mode-acl.sh: New file.
38308         * tests/test-set-mode-acl.c: New file.
38309         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
38310         * tests/test-copy-acl.c: New file.
38311         * modules/acl-tests: New file, based on modules/copy-file-tests.
38312         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
38313         (Depends-on): Add acl-tests.
38314         (configure.ac): Remove checks.
38315         (Makefile.am): Don't create test-sameacls program here any more.
38316
38317 2008-06-01  Bruno Haible  <bruno@clisp.org>
38318
38319         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
38320         * tests/test-sameacls.c: Include progname.h.
38321         (main): Invoke set_program_name. Portability fixes for MacOS X,
38322         Solaris, HP-UX.
38323
38324 2008-06-01  Bruno Haible  <bruno@clisp.org>
38325
38326         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
38327         function.
38328         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
38329
38330 2008-06-01  Bruno Haible  <bruno@clisp.org>
38331
38332         * modules/rpmatch (Depends-on): Add strdup.
38333
38334 2008-06-01  Bruno Haible  <bruno@clisp.org>
38335
38336         * lib/pipe.c: Include unistd-safer.h.
38337         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
38338         * modules/pipe (Depends-on): Add unistd-safer.
38339
38340 2008-05-30  Simon Josefsson  <simon@josefsson.org>
38341
38342         * modules/autobuild (configure.ac): Call AB_INIT.
38343
38344 2008-05-30  Simon Josefsson  <simon@josefsson.org>
38345
38346         * tests/test-getaddrinfo.c: Don't print debug messages by default.
38347         Suggested by Bruno Haible <bruno@clisp.org>.
38348
38349 2008-05-30  Simon Josefsson  <simon@josefsson.org>
38350
38351         * tests/test-base64.c: Cast size_t to unsigned long when invoking
38352         printf.  Use %lu instead of %d.  Reported by Bruno Haible
38353         <bruno@clisp.org>.
38354
38355 2008-05-29  Eric Blake  <ebb9@byu.net>
38356
38357         Prefer new POSIX 200x interfaces over futimesat.
38358         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
38359         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
38360         when available.
38361         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
38362
38363 2008-05-28  Bruno Haible  <bruno@clisp.org>
38364
38365         * modules/stpcpy (License): Change to LGPLv2+.
38366         Requested by David Lutterkort <dlutter@redhat.com>.
38367
38368 2008-05-27  Bruno Haible  <bruno@clisp.org>
38369
38370         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
38371         current mingw.
38372         Reported by Jose E. Marchesi <jemarch@gnu.org>.
38373
38374 2008-05-27  Bruno Haible  <bruno@clisp.org>
38375
38376         * modules/iconv_open (Link): New section, from module 'iconv'.
38377         * modules/striconv (Link): Likewise.
38378         * modules/striconveh (Link): Likewise.
38379         * modules/xstriconv (Link): Likewise.
38380         * modules/unicodeio (Link): Likewise.
38381         * modules/propername (Link): Likewise.
38382         Reported by Jim Meyering.
38383
38384 2008-05-26  Jim Meyering  <meyering@redhat.com>
38385
38386         sha256: do not artificially restrict buffer length to be < 2^32
38387         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
38388         uint32_t to size_t.
38389         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
38390         to match.
38391
38392         avoid unaligned access errors, e.g., on sparc
38393         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
38394         direct access through a possibly-unaligned uint64* pointer.
38395         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
38396         direct access through a possibly-unaligned uint32* pointer.
38397         Prompted by this patch from Tom "spot" Callaway:
38398         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
38399
38400         sha512.c: fix typo in comment
38401         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
38402
38403 2008-05-25  Bruno Haible  <bruno@clisp.org>
38404
38405         * lib/set-mode-acl.c: Renamed from lib/acl.c.
38406         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
38407         (Makefile.am): Update lib_SOURCES.
38408
38409 2008-05-25  Bruno Haible  <bruno@clisp.org>
38410
38411         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
38412
38413 2008-05-25  Jim Meyering  <meyering@redhat.com>
38414
38415         useless-if-before-free: freed expr may have white-space differences
38416         * build-aux/useless-if-before-free: Recognize cases in which the
38417         freed expression differs from the tested one in embedded white
38418         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
38419         $1 was used, so we can't make any regexp shy.  Improved tests now
38420         detect this.
38421
38422         useless-if-before-free: accept white space in the expression.
38423         * build-aux/useless-if-before-free: For now, any white space
38424         in the expression must be identical in the free argument.
38425
38426         useless-if-before-free: efficiency tweak
38427         * build-aux/useless-if-before-free: Make the expression-matching
38428         regexp "shy".
38429         Make the *outer* regexp shy, not the expr-matching one.
38430
38431         update code-in-comment to accept cast of free arg
38432         * build-aux/useless-if-before-free: Update regexp.
38433
38434 2008-05-25  Bruno Haible  <bruno@clisp.org>
38435
38436         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
38437         * modules/copy-file-tests (Files, Makefile.am): Update.
38438         * tests/test-copy-file.c (func_test_copy): Update.
38439
38440 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
38441
38442         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
38443
38444 2008-05-23  Bruno Haible  <bruno@clisp.org>
38445
38446         Improve support for ACLs on OSF/1.
38447         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
38448         Remove fallback for unknown flavors of ACLs.
38449
38450 2008-05-22  Bruno Haible  <bruno@clisp.org>
38451
38452         Add support for ACLs on OSF/1.
38453         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
38454         replacements.
38455         (acl_free_text): New macro fallback.
38456         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
38457         acl_free.
38458         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
38459         acl_free_text function. Require AC_C_INLINE.
38460
38461 2008-05-22  Bruno Haible  <bruno@clisp.org>
38462
38463         Make copy_acl work on MacOS X 10.5.
38464         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
38465         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
38466         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
38467         If MODE_INSIDE_ACL, don't assume that every system has the same text
38468         representation for ACLs as FreeBSD.
38469         * lib/copy-acl.c (copy_acl): Add support for platforms with
38470         !MODE_INSIDE_ACL.
38471         * lib/file-has-acl.c (file_has_acl): Likewise.
38472         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
38473         FreeBSD, MacOS X, or IRIX, respectively.
38474
38475 2008-05-22  Bruno Haible  <bruno@clisp.org>
38476
38477         * lib/acl.h: Don't include <sys/acl.h>.
38478         (GETACLCNT): Move fallback to lib/acl-internal.h.
38479         * lib/acl-internal.h: Include <sys/acl.h> here.
38480         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
38481
38482 2008-05-22  Bruno Haible  <bruno@clisp.org>
38483
38484         Split off copy_acl function to separate file.
38485         * lib/copy-acl.c: New file, extracted from lib/acl.c.
38486         * lib/acl.c (copy_acl): Moved function to separate file.
38487         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
38488         * modules/acl (Files): Add lib/copy-acl.c.
38489         (Makefiles.am): Augment lib_SOURCES.
38490
38491 2008-05-22  Bruno Haible  <bruno@clisp.org>
38492
38493         * modules/copy-file-tests: New file.
38494         * tests/test-copy-file.sh: New file.
38495         * tests/test-copy-file.c: New file.
38496         * tests/test-copy-file-sameacls.c: New file.
38497
38498 2008-05-22  Eric Blake  <ebb9@byu.net>
38499
38500         Avoid gcc warning.
38501         * tests/test-memcmp.c (main): Pass NULL indirectly.
38502
38503 2008-05-21  Bruno Haible  <bruno@clisp.org>
38504
38505         Add reference doc about ACLs.
38506         * doc/acl-resources.txt: New file.
38507         * doc/acl-cygwin.txt: New file.
38508
38509 2008-05-21  Bruno Haible  <bruno@clisp.org>
38510
38511         Avoid one more warning from gcc.
38512         * lib/vasnprintf.c (IF_LINT): Update comments.
38513         (VASNPRINTF): Use it also for the 'prefix' array initializer.
38514
38515 2008-05-21  Jim Meyering  <meyering@redhat.com>
38516
38517         avoid a warning from gcc
38518         * lib/vasnprintf.c (IF_LINT): Define.
38519         (scale10_round_decimal_long_double):
38520         Use it to avoid a "may be used uninitialized" warning.
38521         (scale10_round_decimal_double): Likewise.
38522
38523 2008-05-21  Simon Josefsson  <simon@josefsson.org>
38524
38525         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
38526         declared.
38527
38528 2008-05-20  Bruno Haible  <bruno@clisp.org>
38529
38530         * tests/test-memcmp.c (main): Test also the sign of the result. Test
38531         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
38532
38533 2008-05-20  Simon Josefsson  <simon@josefsson.org>
38534
38535         * modules/memcmp-tests: New file.
38536         * tests/test-memcmp.c: New file.
38537
38538 2008-05-19  Bruno Haible  <bruno@clisp.org>
38539
38540         * modules/propername (Notice, configure.ac): Put quoted "..." into
38541         --keyword option.
38542         * lib/propername.h: Update comments accordingly.
38543         Reported by Eric Blake.
38544
38545 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
38546
38547         * modules/getpass-gnu (Depends-on): Add fseeko.
38548
38549 2008-05-19  Simon Josefsson  <simon@josefsson.org>
38550
38551         * modules/base64-tests: New file.
38552
38553 2008-05-19  Bo Borgerson <gigabo@gmail.com>
38554
38555         * lib/base64.c (base64_decode_ctx): If a decode context structure
38556         was passed in use it to ignore newlines.  If a context structure
38557         was _not_ passed in, continue to treat newlines as garbage (this
38558         is the historical behavior).  Formerly base64_decode.
38559         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
38560         takes a decode context structure.
38561         * lib/base64.h (base64_decode): Macro for four-argument calls.
38562         (base64_decode_alloc): Likewise.
38563         * lib/base64.c (base64_decode_ctx): If a decode context structure
38564         was passed in use it to ignore newlines.  If a context structure
38565         was _not_ passed in, continue to treat newlines as garbage (this
38566         is the historical behavior).  Formerly base64_decode.
38567         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
38568         takes a decode context structure.
38569         * lib/base64.h (base64_decode): Macro for four-argument calls.
38570         (base64_decode_alloc): Likewise.
38571
38572 2008-05-19  Jim Meyering  <meyering@redhat.com>
38573
38574         avoid a warning from gcc
38575         * lib/trim.c (IF_LINT): Define.
38576         (trim2): Use it to avoid a "may be used uninitialized" warning.
38577
38578         Fix doc typo.
38579         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
38580
38581 2008-05-19  Bruno Haible  <bruno@clisp.org>
38582
38583         * doc/glibc-functions/getpass.texi: Document limits of other
38584         implementations.
38585
38586 2008-05-19  Simon Josefsson  <simon@josefsson.org>
38587             Bruno Haible <bruno@clisp.org>
38588
38589         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
38590
38591 2008-05-18  Bruno Haible  <bruno@clisp.org>
38592
38593         * modules/propername: New file, from GNU gettext.
38594         * lib/propername.h: New file, from GNU gettext.
38595         * lib/propername.c: New file, from GNU gettext.
38596         * MODULES.html.sh (Internationalization functions): Add propername.
38597
38598 2008-05-16  Jim Meyering  <meyering@redhat.com>
38599             Bruno Haible  <bruno@clisp.org>
38600
38601         Avoid some warnings from "gcc -Wshadow".
38602         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
38603
38604 2008-05-15  Eric Blake  <ebb9@byu.net>
38605
38606         Extend previous patch to cygwin 1.7.0.
38607         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
38608         fast implementation in cygwin >= 1.7.0.
38609         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
38610         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
38611
38612 2008-05-15  Bruno Haible  <bruno@clisp.org>
38613
38614         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
38615         implementation in glibc >= 2.9.
38616         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
38617         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
38618
38619 2008-05-15  Bruno Haible  <bruno@clisp.org>
38620
38621         * MODULES.html.sh (Internationalization functions): Remove linebreak.
38622         (Unicode string functions): Add unilbrk/*.
38623         Reported by Karl Berry.
38624
38625 2008-05-15  Eric Blake  <ebb9@byu.net>
38626
38627         Fix violation of <stdbool.h> replacement in regex.
38628         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
38629         * lib/regexec.c (re_search_internal): Likewise.
38630         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
38631
38632 2008-05-15  Jim Meyering  <meyering@redhat.com>
38633
38634         avoid distracting test output when git or cvs is not found
38635         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
38636         * tests/test-vc-list-files-git.sh: Likewise.
38637
38638 2008-05-15  Eric Blake  <ebb9@byu.net>
38639
38640         Glibc finally accepted the memmem speedup code, bugzilla #5514.
38641         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
38642         glibc version.
38643         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
38644         * doc/posix-functions/strstr.texi (strstr): Likewise.
38645         * lib/str-two-way.h (MAX): Sychronize with glibc.
38646
38647 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
38648
38649         * lib/regcomp.c (optimize_utf8): Add a note on why we test
38650         opr.ctx_type.
38651         (calc_first): Initialize constraint field.
38652         (duplicate_node_closure): Use it instead of special casing ANCHORS.
38653         Fix grammar.
38654         (duplicate_node): Merge constraint field for all node types.
38655         (calc_eclosure_iter): Look at constraint field for all node types.
38656         * lib/regex_internal.c (create_cd_newstate): Don't look at
38657         opr.ctx_type.
38658
38659 2008-05-14  Bruno Haible  <bruno@clisp.org>
38660
38661         Help GCC to do better code generation.
38662         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
38663         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
38664         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
38665         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
38666         Declare with attribute 'malloc' if supported.
38667
38668 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
38669
38670         use "echo STR|wc -c" rather than unportable "expr length STR"
38671         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
38672         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
38673
38674 2008-05-14  Jim Meyering  <meyering@redhat.com>
38675
38676         use dd ibs=$n count=1 ... rather than less-portable head -c$n
38677         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
38678         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
38679         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
38680         via Collin Lasse.
38681
38682 2008-05-14  Eric Blake  <ebb9@byu.net>
38683
38684         Avoid quadratic growth in gl_LIBSOURCES.
38685         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
38686         Suggested by Bruno Haible.
38687
38688         Test xmemdup0.
38689         * modules/xmemdup0-tests: New file.
38690         * tests/test-xmemdup0.c: Likewise.
38691
38692 2008-05-13  Eric Blake  <ebb9@byu.net>
38693
38694         Split xmemdup0 into its own module.
38695         * modules/xmemdup0: New file.
38696         * lib/xmemdup0.h: Likewise.
38697         * lib/xmemdup0.c: Likewise.
38698         * MODULES.html.sh (Memory management functions): Add xmemdup0.
38699         * lib/xalloc.h (xmemdup0): Remove.
38700         * lib/xmalloc.c (xmemdup0): Likewise.
38701
38702 2008-05-13  Eric Blake  <ebb9@byu.net>
38703             Bruno Haible  <bruno@clisp.org>
38704
38705         Reduce number of forks required during autoconf.
38706         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
38707         and gl_LIBSOURCES_DIR.
38708         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
38709         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
38710         m4_syscmd per file.
38711         <m4_foreach_w>: Move...
38712         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
38713
38714 2008-05-13  Eric Blake  <ebb9@byu.net>
38715
38716         * gnulib-tool: Fix various comment typos.
38717
38718 2008-05-12  Bruno Haible  <bruno@clisp.org>
38719
38720         Tailor the linebreaking algorithm.
38721         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
38722
38723 2008-05-12  Bruno Haible  <bruno@clisp.org>
38724
38725         Update to Unicode 5.0.0.
38726         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
38727         LBP_JV, LBP_JT. Redistribute values.
38728         (unilbrk_table): Change size.
38729         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
38730         Unicode TR#14 rev. 22.
38731         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
38732         LBP_JV, LBP_JT. Redistribute values.
38733         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
38734         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
38735         Update.
38736         * lib/unilbrk/lbrkprop1.h: Regenerated.
38737         * lib/unilbrk/lbrkprop2.h: Regenerated.
38738         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
38739         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
38740         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
38741         Likewise.
38742         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
38743         Likewise.
38744         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
38745         result.
38746         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
38747         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
38748         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
38749         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
38750         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
38751         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
38752
38753 2008-05-11  Bruno Haible  <bruno@clisp.org>
38754
38755         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
38756
38757 2008-05-11  Bruno Haible  <bruno@clisp.org>
38758
38759         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
38760         * modules/unilbrk/gen-lbrk: New file.
38761
38762 2008-05-11  Bruno Haible  <bruno@clisp.org>
38763
38764         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
38765         * m4/sha512.m4 (gl_SHA512): Likewise.
38766
38767 2008-05-11  Jim Meyering  <meyering@redhat.com>
38768
38769         New modules: crypto/sha256, crypto/sha512 (from coreutils)
38770         * modules/crypto/sha256: New file.
38771         * modules/crypto/sha512: Likewise.
38772         * lib/sha256.c: Likewise.
38773         * lib/sha256.h: Likewise.
38774         * lib/sha512.c: Likewise.
38775         * lib/sha512.h: Likewise.
38776         * lib/u64.h: Likewise.
38777         * m4/sha256.m4: Likewise.
38778         * m4/sha512.m4: Likewise.
38779         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
38780
38781 2008-05-10  Bruno Haible  <bruno@clisp.org>
38782
38783         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
38784         (Input/Output <stdio.h>): Add xprintf.
38785         (Signal handling <signal.h>): Add strsignal.
38786         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
38787         (Core language properties): Add func.
38788         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
38789         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
38790         strings.
38791         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
38792         (Input/output): New section.
38793         (File system functions): Add openat-die, stat-macros.
38794         (Networking functions): Add sockets.
38795         (Unicode string functions): Add unictype/*.
38796         (Support for building libraries and executables): Add gperf.
38797         (Support for building documentation): Add agpl-3.0.
38798         (Misc): Add nocrash.
38799
38800 2008-05-10  Bruno Haible  <bruno@clisp.org>
38801
38802         * modules/unictype/gen-ctype: New file.
38803
38804 2008-05-10  Jim Meyering  <meyering@redhat.com>
38805
38806         Make chdir-safer.c more efficient on a system with no symlinks.
38807         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
38808         also if ELOOP is zero.  Suggested by Bruno Haible.
38809
38810         Make chdir-safer.c slightly safer.
38811         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
38812         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
38813
38814         Avoid compile failure on systems without ELOOP (like mingw).
38815         * lib/chdir-safer.c (ELOOP): Define if not already defined.
38816         Reported by Bruno Haible.
38817
38818 2008-05-10  Bruno Haible  <bruno@clisp.org>
38819
38820         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
38821         (is_utf8_encoding): Use a case-insensitive comparison.
38822         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
38823         streq.
38824
38825 2008-05-10  Bruno Haible  <bruno@clisp.org>
38826
38827         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
38828         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
38829         * lib/unilbrk/ulc-common.h (iconv_string_length,
38830         iconv_string_keeping_offsets): Remove declarations.
38831         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
38832         Don't include <iconv.h>, streq.h, xsize.h.
38833         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
38834         conversion.
38835         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
38836         <iconv.h>, streq.h, xsize.h.
38837         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
38838         conversion.
38839         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
38840         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
38841         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
38842         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
38843
38844 2008-05-10  Bruno Haible  <bruno@clisp.org>
38845
38846         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
38847         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
38848
38849         * modules/unilbrk/u32-width-linebreaks-tests: New file.
38850         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
38851
38852         * modules/unilbrk/u16-width-linebreaks-tests: New file.
38853         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
38854
38855         * modules/unilbrk/u8-width-linebreaks-tests: New file.
38856         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
38857
38858         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
38859         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
38860
38861         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
38862         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
38863
38864         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
38865         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
38866
38867         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
38868         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
38869
38870 2008-05-10  Bruno Haible  <bruno@clisp.org>
38871
38872         Split up 'linebreak' module.
38873         * lib/unilbrk.h: New file, based on lib/linebreak.h.
38874         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
38875         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
38876         modifications.
38877         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
38878         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
38879         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
38880         lib/linebreak.c.
38881         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
38882         lib/linebreak.c.
38883         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
38884         lib/linebreak.c.
38885         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
38886         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
38887         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
38888         lib/linebreak.c.
38889         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
38890         lib/linebreak.c.
38891         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
38892         lib/linebreak.c.
38893         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
38894         lib/linebreak.c.
38895         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
38896         lib/linebreak.c.
38897         * modules/unilbrk/base: New file.
38898         * modules/unilbrk/tables: New file.
38899         * modules/unilbrk/u8-possible-linebreaks: New file.
38900         * modules/unilbrk/u16-possible-linebreaks: New file.
38901         * modules/unilbrk/u32-possible-linebreaks: New file.
38902         * modules/unilbrk/ulc-common: New file.
38903         * modules/unilbrk/ulc-possible-linebreaks: New file.
38904         * modules/unilbrk/u8-width-linebreaks: New file.
38905         * modules/unilbrk/u16-width-linebreaks: New file.
38906         * modules/unilbrk/u32-width-linebreaks: New file.
38907         * modules/unilbrk/ulc-width-linebreaks: New file.
38908         * lib/linebreak.h: Remove file.
38909         * lib/linebreak.c: Remove file.
38910         * m4/linebreak.m4: Remove file.
38911         * modules/linebreak: Remove file.
38912         * NEWS: Mention the changes.
38913
38914 2008-05-09  Eric Blake  <ebb9@byu.net>
38915
38916         Add xmemdup0.
38917         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
38918         implementation.
38919         * lib/xmalloc.c (xmemdup0): New C implementation.
38920
38921 2008-05-08  Bruno Haible  <bruno@clisp.org>
38922
38923         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
38924
38925 2008-05-07  Eric Blake  <ebb9@byu.net>
38926
38927         Support cross-compilation of <wctype.h>.
38928         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
38929         AC_CACHE_CHECK.
38930
38931 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
38932
38933         * build-aux/vc-list-files: Add support for bzr.
38934
38935 2008-05-03  Jim Meyering  <meyering@redhat.com>
38936
38937         avoid failed assertion with tight malloc
38938         * tests/test-getndelim2.c: Correct an off-by-one assertion.
38939
38940 2008-05-03  Simon Josefsson  <simon@josefsson.org>
38941
38942         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
38943         are needed from arpa/inet.h.
38944         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
38945         Reported by Bruno Haible.
38946
38947 2008-05-02  Jim Meyering  <meyering@redhat.com>
38948
38949         avoid compilation error on FreeBSD 6
38950         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
38951
38952 2008-05-01  Jim Meyering  <meyering@redhat.com>
38953
38954         useless-if-before-free: correct --help's exit status description
38955         * build-aux/useless-if-before-free (usage): Like grep, exit 0
38956         for one or more matches, etc.  Reported by Bruno Haible.
38957
38958         vc-list-files: make the stand-alone gnulib test work
38959         * modules/vc-list-files-tests (configure.ac):
38960         Define and AC_SUBST abs_aux_dir.
38961         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
38962         $(abs_top_srcdir) to each script and having each of them
38963         duplicate the work of setting PATH, set PATH here, using
38964         the new variable, abs_aux_dir instead.
38965         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
38966         * tests/test-vc-list-files-git.sh: Likewise.
38967         Reported by Bruno Haible.
38968
38969 2008-05-01  Bruno Haible  <bruno@clisp.org>
38970
38971         * lib/getndelim2.c (getndelim2): Fix newsize computation during
38972         reallocation. Rename 'done' to 'found_delimiter'.
38973
38974 2008-05-01  Jim Meyering  <meyering@redhat.com>
38975
38976         vc-list-files: accommodate /bin/sh like the one from Solaris 10
38977         * build-aux/vc-list-files: Use `...`, not $(...).
38978
38979 2008-04-30  Jim Meyering  <meyering@redhat.com>
38980
38981         add tests for vc-list-files
38982         * modules/vc-list-files-tests: New module.
38983         * tests/test-vc-list-files-cvs.sh: New file.
38984         * tests/test-vc-list-files-git.sh: New file.
38985
38986         avoid a warning from gcc
38987         * lib/getndelim2.c (IF_LINT): Define.
38988         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
38989
38990         vc-list-files: work properly with build-aux/cvsu, too
38991         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
38992         to all cvs-based clauses.
38993
38994         vc-list-files: work properly in the CVS+awk case, too
38995         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
38996
38997         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
38998         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
38999         take more than one file argument, so .  Add quotes, just in case $dir
39000         ever contains a shell meta-character.  Prompted by Soren Hansen in
39001         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
39002
39003 2008-04-29  Eric Blake  <ebb9@byu.net>
39004
39005         Optimize getndelim2 to use block operations when possible.
39006         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
39007         freadseek, and memchr2.
39008         * lib/getndelim2.c (getndelim2): Use them for block reads.
39009
39010 2008-04-29  Bruno Haible  <bruno@clisp.org>
39011
39012         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
39013         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
39014         * modules/inet_ntop (Depends-on): Add extensions.
39015         * modules/inet_pton (Depends-on): Likewise.
39016         Reported by Simon Josefsson.
39017
39018 2008-04-29  Jim Meyering  <meyering@redhat.com>
39019
39020         When the is more than one match in a block, match all of them.
39021         * build-aux/useless-if-before-free: Iterate through each block
39022         until there are no more matches.
39023
39024         Fix broken useless-if-before-free script.
39025         * build-aux/useless-if-before-free: Fix typo: missing "?" after
39026         the expression to match cast of argument to free-like function.
39027
39028 2008-04-29  Eric Blake  <ebb9@byu.net>
39029
39030         Use new header.
39031         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
39032
39033 2008-04-29  Jim Meyering  <meyering@redhat.com>
39034
39035         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
39036         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
39037         by gnulib to exist and to declare e.g., inet_ntop.
39038         Don't include "inet_ntop.h", now removed.
39039
39040         * m4/arpa_inet_h.m4: Remove trailing blanks.
39041
39042 2008-04-29  Eric Blake  <ebb9@byu.net>
39043
39044         Silence valgrind on safe reads beyond potential array bounds.
39045         * lib/rawmemchr.valgrind: New file.
39046         * lib/strchrnul.valgrind: Likewise.
39047         * modules/rawmemchr (Files): Distribute new file.
39048         * modules/strchrnul (Files): Likewise.
39049         Suggested by Bruno Haible.
39050
39051 2008-04-29  Bruno Haible  <bruno@clisp.org>
39052
39053         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
39054         (inet_ntop, inet_pton): Change portability warning's wording.
39055         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
39056         Invoke gl_CHECK_NEXT_HEADERS.
39057         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
39058         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
39059         set ARPA_INET_H.
39060         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
39061         * modules/arpa_inet (Description): No longer only for systems that
39062         lack it.
39063         (Depends-on): Add include_next.
39064         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
39065         HAVE_ARPA_INET_H.
39066
39067 2008-04-29  Jim Meyering  <meyering@redhat.com>
39068
39069         * modules/mkdir (License): Re-license as LGPLv2+.
39070
39071 2008-04-29  Bruno Haible  <bruno@clisp.org>
39072
39073         * modules/rawmemchr (Maintainer): Set to Eric.
39074         * modules/strchrnul (Maintainer): Likewise.
39075
39076 2008-04-29  Simon Josefsson  <simon@josefsson.org>
39077
39078         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
39079         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
39080
39081         * modules/arpa_inet (arpa/inet.h): Use them.
39082
39083 2008-04-28  Eric Blake  <ebb9@byu.net>
39084
39085         Test getndelim2.
39086         * modules/getndelim2-tests: New file.
39087         * tests/test-getndelim2.c: Likewise.
39088         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
39089         stream.
39090         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
39091
39092         * MODULES.html.sh: Document new module.
39093
39094 2008-04-20  Bruno Haible  <bruno@clisp.org>
39095
39096         * lib/c-stack.c (die): Use raise.
39097         * modules/c-stack (Depends-on): Add raise.
39098
39099 2008-04-28  Bruno Haible  <bruno@clisp.org>
39100
39101         Expect rpmatch to be declared.
39102         * lib/yesno.c (rpmatch): Remove declaration.
39103
39104         Declare rpmatch.
39105         * lib/stdlib.in.h (rpmatch): New declaration.
39106         * lib/rpmatch.c: Include <stdlib.h> first.
39107         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
39108         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
39109         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
39110         HAVE_RPMATCH.
39111         * modules/rpmatch (Depends-on): Add stdlib, extensions.
39112         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
39113         (Include): Set to <stdlib.h>.
39114         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
39115         HAVE_RPMATCH.
39116         * NEWS: Document the change.
39117
39118 2008-04-28  Bruno Haible  <bruno@clisp.org>
39119
39120         Change rpmatch to use nl_langinfo when appropriate.
39121         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
39122         (N_): New macro.
39123         (localized_pattern): New function/macro.
39124         (try): Remove match, nomatch arguments. Copy the pattern into safe
39125         memory before caching it.
39126         (rpmatch): Use localized_pattern. Add translator comments.
39127         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
39128         Suggested by Eric Blake.
39129         * modules/rpmatch (Depends-on): Add stdbool.
39130
39131 2008-04-28  Eric Blake  <ebb9@byu.net>
39132
39133         Add rawmemchr module, matching glibc.
39134         * modules/string (Makefile.am): New indicator.
39135         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
39136         * lib/string.in.h (rawmemchr): Declare when appropriate.
39137         * modules/rawmemchr: New file.
39138         * m4/rawmemchr.m4: Likewise.
39139         * lib/rawmemchr.c: Likewise.
39140         * modules/rawmemchr-tests: Likewise.
39141         * tests/test-rawmemchr.c: Likewise.
39142         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
39143         module.
39144         * modules/strchrnul (Depends-on): Add rawmemchr.
39145         * lib/strchrnul.c (strchrnul): Optimize a corner case.
39146
39147         Whitespace cleanup.
39148         * tests/test-strchrnul.c: Reindent.
39149         * lib/strchrnul.c: Likewise.
39150
39151         Optimize and test strchrnul.
39152         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
39153         * modules/strchrnul-tests: New file.
39154         * tests/test-strchrnul.c: Likewise.
39155
39156         Remove intprops dependency.
39157         * modules/memchr (Depends-on): Remove intprops.
39158         * modules/memrchr (Depends-on): Likewise.
39159         * modules/memchr2 (Depends-on): Likewise.
39160         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
39161         * lib/memrchr.c (__memrchr): Likewise.
39162         * lib/memrchr2.c (memchr2): Likewise.
39163         Reported by Simon Josefsson.
39164
39165 2008-04-28  Simon Josefsson  <simon@josefsson.org>
39166
39167         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
39168         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
39169
39170 2008-04-28  Simon Josefsson  <simon@josefsson.org>
39171
39172         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
39173
39174         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
39175
39176         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
39177
39178         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
39179         declarations.
39180         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
39181
39182         * m4/inet_pton.m4: Don't check for header files.
39183
39184         * m4/inet_ntop.m4: Don't check for header files.
39185
39186 2008-04-28  Simon Josefsson  <simon@josefsson.org>
39187
39188         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
39189         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
39190         trigger for cygwin).
39191         Reported by Bruno Haible  <bruno@clisp.org>.
39192
39193 2008-04-28  Bruno Haible  <bruno@clisp.org>
39194
39195         * doc/posix-functions/strdup.texi: Mention mingw problem.
39196
39197 2008-04-27  Bruno Haible  <bruno@clisp.org>
39198
39199         * modules/stat-time-tests (Depends-on): Add sleep.
39200         * tests/test-stat-time.c (force_unlink): New function.
39201         (cleanup): Use it.
39202         (test_mtime): Remove the ctime related tests.
39203         (test_ctime): New function, containing the ctime related tests.
39204         (main): Call test_ctime, except on native Windows platforms.
39205
39206 2008-04-27  Bruno Haible  <bruno@clisp.org>
39207
39208         * lib/rpmatch.c (rpmatch): Add some comments.
39209         Reported by James Youngman <jay@gnu.org>.
39210
39211 2008-04-27  Bruno Haible  <bruno@clisp.org>
39212
39213         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
39214         quiet NaNs.
39215
39216 2008-04-27  Bruno Haible  <bruno@clisp.org>
39217
39218         Make test-yesno.sh work on mingw.
39219         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
39220         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
39221         (main): Set stdin to binary mode.
39222         * modules/yesno-tests (Depends-on): Add binary-io.
39223
39224 2008-04-27  Bruno Haible  <bruno@clisp.org>
39225
39226         Fix 'isfinite' on x86, x86_64, ia64 platforms.
39227         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
39228         argument that lie outside the IEEE 854 domain.
39229         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
39230         (gl_ISFINITE): Use it.
39231         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
39232
39233 2008-04-27  Bruno Haible  <bruno@clisp.org>
39234
39235         Allow local renaming in config.h.
39236         * lib/memrchr.c (memrchr): Don't undefine outside libc.
39237
39238 2008-04-27  Bruno Haible  <bruno@clisp.org>
39239
39240         * lib/memchr.c (__memchr): Change type of 'i'.
39241         * lib/memchr2.c (memchr2): Likewise.
39242
39243 2008-04-26  Eric Blake  <ebb9@byu.net>
39244         and Bruno Haible  <bruno@clisp.org>
39245
39246         Optimize and test memrchr.
39247         * modules/memrchr (Depends-on): Add intprops.
39248         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
39249         * modules/memrchr-tests: New file.
39250         * tests/test-memrchr.c: New file.
39251
39252 2008-04-26  Bruno Haible  <bruno@clisp.org>
39253
39254         Add tentative support for DragonFly BSD.
39255         * lib/stdio-impl.h: Add macros for DragonFly BSD.
39256         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
39257         fp.
39258         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
39259         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
39260         * lib/fpurge.c (fpurge): Likewise.
39261         * lib/freadable.c (freaadable): Likewise.
39262         * lib/freadahead.c (freadahead): Likewise.
39263         * lib/freading.c (freading): Likewise.
39264         * lib/freadptr.c (freadptr): Likewise.
39265         * lib/freadseek.c (freadptrinc): Likewise.
39266         * lib/fseeko.c (fseeko): Likewise.
39267         * lib/fseterr.c (fseterr): Likewise.
39268         * lib/fwritable.c (fwritable): Likewise.
39269         * lib/fwriting.c (fwriting): Likewise.
39270
39271 2008-04-26  Bruno Haible  <bruno@clisp.org>
39272
39273         * lib/stdio-impl.h: New file.
39274         * lib/fbufmode.c: Include stdio-impl.h.
39275         (fbufmode): Use fp_, remove redundant #defines.
39276         * lib/fflush.c: Include stdio-impl.h.
39277         (clear_ungetc_buffer): Remove redundant #defines.
39278         * lib/fpurge.c: Include stdio-impl.h.
39279         (fpurge): Remove redundant #defines.
39280         * lib/freadable.c: Include stdio-impl.h.
39281         (freadable): Remove redundant #defines.
39282         * lib/freadahead.c: Include stdio-impl.h.
39283         (freadahead): Remove redundant #defines.
39284         * lib/freading.c: Include stdio-impl.h.
39285         (freading): Remove redundant #defines.
39286         * lib/freadptr.c: Include stdio-impl.h.
39287         (freadptr): Remove redundant #defines.
39288         * lib/freadseek.c: Include stdio-impl.h.
39289         (freadptrinc): Remove redundant #defines.
39290         * lib/fseeko.c: Include stdio-impl.h.
39291         (rpl_fseeko): Remove redundant #defines.
39292         * lib/fseterr.c: Include stdio-impl.h.
39293         (fseterr): Remove redundant #defines.
39294         * lib/fwritable.c: Include stdio-impl.h.
39295         (fwritable: Remove redundant #defines.
39296         * lib/fwriting.c: Include stdio-impl.h.
39297         (fwriting): Remove redundant #defines.
39298         * modules/fbufmode (Files): Add lib/stdio-impl.h.
39299         * modules/fflush (Files): Likewise.
39300         * modules/fpurge (Files): Likewise.
39301         * modules/freadable (Files): Likewise.
39302         * modules/freadahead (Files): Likewise.
39303         * modules/freading (Files): Likewise.
39304         * modules/freadptr (Files): Likewise.
39305         * modules/freadseek (Files): Likewise.
39306         * modules/fseeko (Files): Likewise.
39307         * modules/fseterr (Files): Likewise.
39308         * modules/fwritable (Files): Likewise.
39309         * modules/fwriting (Files): Likewise.
39310
39311 2008-04-26  Bruno Haible  <bruno@clisp.org>
39312
39313         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
39314         restore_seek_optimization, update_fpos_cache): New functions, extracted
39315         from rpl_fflush.
39316         (rpl_fflush): Use them.
39317         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
39318         (gl_REPLACE_FFLUSH): Use it.
39319
39320 2008-04-26  Bruno Haible  <bruno@clisp.org>
39321
39322         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
39323         on Solaris.
39324         * tests/test-xstrtoimax.sh: Likewise.
39325         * tests/test-xstrtoumax.sh: Likewise.
39326         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
39327
39328 2008-04-26  Bruno Haible  <bruno@clisp.org>
39329
39330         * modules/memchr-tests: New file.
39331         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
39332
39333 2008-04-26  Eric Blake  <ebb9@byu.net>
39334             Bruno Haible  <bruno@clisp.org>
39335
39336         * lib/memchr.c: Include intprops.h.
39337         (__memchr): Optimize parallel detection of matching bytes. Rename local
39338         variables. Add explanatory comments.
39339
39340 2008-04-26  Bruno Haible  <bruno@clisp.org>
39341
39342         Fix module 'memchr', broken since 2000-10-28.
39343         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
39344
39345 2008-04-26  Bruno Haible  <bruno@clisp.org>
39346
39347         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
39348         comments.
39349
39350 2008-04-25  Eric Blake  <ebb9@byu.net>
39351
39352         Use native fstatat on cygwin 1.7.0.
39353         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
39354         first.
39355
39356 2008-04-23  Eric Blake  <ebb9@byu.net>
39357
39358         Improve memchr2 performance.
39359         * lib/memchr2.c (memchr2): Further optimize parallel detection of
39360         NUL bytes.
39361         * modules/memchr2 (Depends-on): Use intprops.h.
39362
39363 2008-04-23  Simon Josefsson  <simon@josefsson.org>
39364
39365         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
39366         an inline function instead of a CPP macro.  Patch by Ben Pfaff
39367         <blp@cs.stanford.edu>.
39368
39369 2008-04-23  Simon Josefsson  <simon@josefsson.org>
39370
39371         * lib/arpa_inet.in.h: New file.
39372
39373         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
39374         (Makefile.am): Sed in substitute header file.
39375
39376         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
39377         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
39378
39379         * modules/inet_ntop (configure.ac): Use
39380         gl_ARPA_INET_MODULE_INDICATOR.
39381
39382         * modules/inet_pton (configure.ac): Use
39383         gl_ARPA_INET_MODULE_INDICATOR.
39384
39385 2008-04-22  Jim Meyering  <meyering@redhat.com>
39386
39387         * modules/verify (License): Re-license as LGPLv2+.
39388
39389 2008-04-22  Simon Josefsson  <simon@josefsson.org>
39390
39391         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
39392         parameter to void* as per POSIX standard (MinGW uses char*).
39393
39394 2008-04-21  Bruno Haible  <bruno@clisp.org>
39395
39396         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
39397         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
39398         Define to replacements if REPLACE_ISWCNTRL is 1.
39399         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
39400         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
39401         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
39402         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
39403         what it fixes.
39404         * doc/posix-functions/iswalpha.texi: Likewise.
39405         * doc/posix-functions/iswblank.texi: Likewise.
39406         * doc/posix-functions/iswcntrl.texi: Likewise.
39407         * doc/posix-functions/iswdigit.texi: Likewise.
39408         * doc/posix-functions/iswgraph.texi: Likewise.
39409         * doc/posix-functions/iswlower.texi: Likewise.
39410         * doc/posix-functions/iswprint.texi: Likewise.
39411         * doc/posix-functions/iswpunct.texi: Likewise.
39412         * doc/posix-functions/iswspace.texi: Likewise.
39413         * doc/posix-functions/iswupper.texi: Likewise.
39414         * doc/posix-functions/iswxdigit.texi: Likewise.
39415         Reported by Alain Guibert.
39416
39417 2008-04-21  Bruno Haible  <bruno@clisp.org>
39418
39419         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
39420         Patch by Alain Guibert.
39421
39422 2008-04-21  Bruno Haible  <bruno@clisp.org>
39423
39424         Fix test failures on mingw.
39425         * tests/test-xstrtol.c (print_no_progname): New function.
39426         (main): Install it in error_print_progname hook.
39427         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
39428         * tests/test-xstrtoimax.sh: Likewise.
39429         * tests/test-xstrtoumax.sh: Likewise.
39430
39431 2008-04-21  Bruno Haible  <bruno@clisp.org>
39432
39433         Fix test failure on mingw.
39434         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
39435
39436 2008-04-21  Bruno Haible  <bruno@clisp.org>
39437
39438         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
39439         Actually assign a value.
39440
39441 2008-04-20  Bruno Haible  <bruno@clisp.org>
39442
39443         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
39444         take 2.
39445         * lib/canonicalize.c (canonicalize_file_name): Elide if the
39446         'canonicalize-lgpl' module is also used.
39447         * lib/canonicalize-lgpl.c: Undo last change.
39448         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
39449
39450 2008-04-20  Bruno Haible  <bruno@clisp.org>
39451
39452         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
39453         config.h. Provide _mkdir based fallback for mingw.
39454         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
39455         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
39456         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
39457         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
39458         rather than defining mkdir in config.h.
39459         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
39460         (gl_SYS_STAT_H_DEFAULTS): New macro.
39461         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
39462         HAVE_IO_H any more.
39463         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
39464         HAVE_DECL_MKDIR and HAVE_IO_H.
39465
39466 2008-04-20  Bruno Haible  <bruno@clisp.org>
39467
39468         * lib/isapipe.c: Port to native Windows platforms.
39469
39470 2008-04-20  Bruno Haible  <bruno@clisp.org>
39471
39472         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
39473
39474 2008-04-21  Eric Blake  <ebb9@byu.net>
39475
39476         Work around preprocessors that don't handle UINTMAX_MAX.
39477         * lib/memchr2.c (memchr2): Avoid embedded #if.
39478         Reported by Alain Guibert, fix suggested by Bruno Haible.
39479
39480 2008-04-21  Simon Josefsson  <simon@josefsson.org>
39481
39482         * doc/posix-functions/strftime.texi (strftime): Explain better
39483         Windows incompatibility.  Suggested by Micah Cowan
39484         <micah@cowan.name>.
39485
39486 2008-04-20  Bruno Haible  <bruno@clisp.org>
39487
39488         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
39489         unistr/u8-mblen.
39490
39491 2008-04-20  Bruno Haible  <bruno@clisp.org>
39492
39493         Fix test failure on platforms with non-GNU iconv.
39494         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
39495         (U_TO_U8): Use it, rather than u16_to_u8.
39496         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
39497         units at the end of the input string.
39498         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
39499
39500 2008-04-20  Bruno Haible  <bruno@clisp.org>
39501
39502         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
39503         when the resulting length is 0.
39504         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
39505
39506 2008-04-20  Bruno Haible  <bruno@clisp.org>
39507
39508         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
39509         works.
39510         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
39511
39512 2008-04-20  Bruno Haible  <bruno@clisp.org>
39513
39514         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
39515         * modules/tsearch-tests (configure.ac): Test for initstate function.
39516
39517 2008-04-20  Bruno Haible  <bruno@clisp.org>
39518
39519         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
39520         for nlink_t if missing.
39521         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
39522
39523 2008-04-19  Bruno Haible  <bruno@clisp.org>
39524
39525         Work around snprintf bug on Linux libc5.
39526         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
39527         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
39528         gl_SNPRINTF_SIZE1.
39529         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
39530         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
39531         that test failed.
39532         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
39533         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
39534         * modules/snprintf (Files): Add m4/printf.m4.
39535         * modules/vsnprintf (Files): Likewise.
39536         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
39537         * doc/posix-functions/vsnprintf.texi: Likewise.
39538
39539 2008-04-19  Bruno Haible  <bruno@clisp.org>
39540
39541         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
39542         from 0.0058 to less than 10^-7.
39543
39544 2008-04-19  Bruno Haible  <bruno@clisp.org>
39545
39546         Fix rounding when a precision is given.
39547         * lib/vasnprintf.c (is_borderline): New function.
39548         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
39549         9...9x.
39550         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
39551         %e, %g.
39552         * tests/test-vasprintf-posix.c (test_function): Likewise.
39553         * tests/test-snprintf-posix.h (test_function): Likewise.
39554         * tests/test-sprintf-posix.h (test_function): Likewise.
39555         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
39556         * tests/test-printf-posix.h (test_function): Likewise.
39557         * tests/test-printf-posix.output: Update.
39558         Reported by John Darrington <john@darrington.wattle.id.au> via
39559         Ben Pfaff <blp@cs.stanford.edu>.
39560
39561 2008-04-18  Simon Josefsson  <simon@josefsson.org>
39562
39563         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
39564         Suggested by Bruno Haible <bruno@clisp.org>.
39565
39566 2008-04-17  Bruno Haible  <bruno@clisp.org>
39567
39568         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
39569         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
39570         implementation.
39571         Patch by Bruce Merry <bmerry@gmail.com>.
39572
39573 2008-04-17  Simon Josefsson  <simon@josefsson.org>
39574
39575         * doc/posix-functions/strftime.texi (strftime): Mention that %e
39576         doesn't work under Windows.
39577
39578 2008-04-16  Bruno Haible  <bruno@clisp.org>
39579
39580         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
39581         New macros.
39582         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
39583         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
39584         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
39585         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
39586         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
39587         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
39588         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
39589         macros.
39590         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
39591         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
39592         Northern Sotho, Uighur.
39593
39594 2008-04-16  Bruno Haible  <bruno@clisp.org>
39595
39596         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
39597         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
39598         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
39599         Reported by Daniel Bergström <daniel@octocode.com>.
39600
39601 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
39602             Bruno Haible  <bruno@clisp.org>
39603
39604         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
39605         function.
39606         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
39607         New functions, mostly extracted from gl_locale_name_default.
39608         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
39609
39610 2008-04-16  Eric Blake  <ebb9@byu.net>
39611
39612         Adjust strtod detection to catch glibc 2.7 bug.
39613         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
39614         Reported by John Gatewood Ham.
39615
39616 2008-04-16  Bruno Haible  <bruno@clisp.org>
39617
39618         Add tentative support for Linux libc5.
39619         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
39620         * lib/fpurge.c (fpurge): Likewise.
39621         * lib/freadable.c (freadable): Likewise.
39622         * lib/freadahead.c (freadahead): Likewise.
39623         * lib/freading.c (freading): Likewise.
39624         * lib/freadptr.c (freadptr): Likewise.
39625         * lib/freadseek.c (freadptrinc): Likewise.
39626         * lib/fseeko.c (rpl_fseeko): Likewise.
39627         * lib/fseterr.c (fseterr): Likewise.
39628         * lib/fwritable.c (fwritable): Likewise.
39629         * lib/fwriting.c (fwriting): Likewise.
39630         Reported by Alain Guibert <alguibert+bts@free.fr>.
39631
39632 2008-04-15  Bruno Haible  <bruno@clisp.org>
39633
39634         * modules/mathl (configure.ac): Define module indicator.
39635
39636 2008-04-15  Bruno Haible  <bruno@clisp.org>
39637
39638         * lib/logl.c (logl): Remove unused variables.
39639
39640 2008-04-15  Bruno Haible  <bruno@clisp.org>
39641
39642         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
39643         fails.
39644
39645 2008-04-15  Bruno Haible  <bruno@clisp.org>
39646
39647         * lib/trim.c (trim2): Fix argument of isspace() macro.
39648
39649 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
39650
39651         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
39652         to 0.
39653         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
39654
39655 2008-04-14  Bruno Haible  <bruno@clisp.org>
39656
39657         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
39658         AC_LANG_PROGRAM argument.
39659         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
39660         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
39661         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
39662         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
39663         * m4/math_h.m4 (gl_MATH_H): Likewise.
39664         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
39665         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
39666         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
39667         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
39668         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
39669         * m4/regex.m4 (gl_REGEX): Likewise.
39670         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
39671         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
39672         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
39673         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
39674         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
39675         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
39676         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
39677         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
39678
39679 2008-04-14  Jim Meyering  <meyering@redhat.com>
39680
39681         test-strtod: fix typos: s/abs/fabs/
39682         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
39683
39684 2008-04-13  Bruno Haible  <bruno@clisp.org>
39685
39686         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
39687         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
39688         module is also used and while not building the reloc-wrapper.
39689
39690 2008-04-13  Bruno Haible  <bruno@clisp.org>
39691
39692         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
39693
39694 2008-04-13  Bruno Haible  <bruno@clisp.org>
39695
39696         Fix AIX compilation failure introduced on 2008-04-02.
39697         * tests/test-frexp.c (exp): Undefine before redefining.
39698         * tests/test-frexpl.c (exp): Likewise.
39699
39700 2008-04-13  Bruno Haible  <bruno@clisp.org>
39701
39702         Work around a HP-UX stdio bug.
39703         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
39704         * tests/test-ftello.c (main): Likewise.
39705         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
39706         * doc/posix-functions/ftello.texi: Likewise.
39707
39708 2008-04-13  Bruno Haible  <bruno@clisp.org>
39709
39710         Make test-signbit pass on HP-UX/hppa.
39711         * tests/test-signbit.c (minus_zerol): New variable.
39712         (test_signbitl): Use it.
39713
39714 2008-04-13  Bruno Haible  <bruno@clisp.org>
39715
39716         Make truncl work on OSF/1 4.0.
39717         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
39718         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
39719         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
39720         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
39721         HAVE_DECL_TRUNCL.
39722         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
39723         HAVE_DECL_TRUNCL.
39724         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
39725
39726 2008-04-13  Bruno Haible  <bruno@clisp.org>
39727
39728         * lib/unictype.h: Remove trailing comma from enumeration definitions.
39729
39730 2008-04-13  Bruno Haible  <bruno@clisp.org>
39731
39732         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
39733         expression, so as to avoid HP-UX 11 cc compiler bug.
39734
39735 2008-04-13  Bruno Haible  <bruno@clisp.org>
39736
39737         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
39738
39739 2008-04-13  Bruno Haible  <bruno@clisp.org>
39740
39741         * lib/git-merge-changelog.c: Remove empty declaration outside of
39742         functions.
39743
39744 2008-04-13  Bruno Haible  <bruno@clisp.org>
39745
39746         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
39747
39748 2008-04-13  Bruno Haible  <bruno@clisp.org>
39749
39750         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
39751         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
39752         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
39753         also if it exists but lacks definitions of the SHUT_* macros.
39754         * modules/sys_socket (Description): Update.
39755         Reported by Elbert Pol <e.pol@chello.nl>.
39756
39757 2008-04-13  Bruno Haible  <bruno@clisp.org>
39758
39759         * lib/localcharset.c (OS2): Don't redefine if already defined.
39760         Reported by Elbert Pol <e.pol@chello.nl>.
39761
39762 2008-04-13  Bruno Haible  <bruno@clisp.org>
39763
39764         * lib/binary-io.h [__EMX__]: Include <io.h>.
39765         Reported by Elbert Pol <e.pol@chello.nl>.
39766
39767 2008-04-12  Bruno Haible  <bruno@clisp.org>
39768
39769         * lib/fpucw.h: Enable the definitions also for x86_64.
39770         Needed for NetBSD/x86_64.
39771         Reported by Thomas Klausner <tk@giga.or.at>.
39772
39773 2008-04-12  Bruno Haible  <bruno@clisp.org>
39774
39775         * tests/test-strtod.c: Include isnand.h.
39776         (main): Use isnand instead of isnan.
39777         Reported by Jim Meyering.
39778
39779 2008-04-12  Bruno Haible  <bruno@clisp.org>
39780
39781         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
39782         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
39783
39784 2008-04-12  Jim Meyering  <meyering@redhat.com>
39785
39786         * m4/math_h.m4 (gl_MATH_H): Fix typos.
39787
39788 2008-04-12  Bruno Haible  <bruno@clisp.org>
39789
39790         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
39791         Reported by Elbert Pol <e.pol@chello.nl>.
39792
39793 2008-04-12  Eric Blake  <ebb9@byu.net>
39794
39795         Work around Solaris 10 math.h bug.
39796         * m4/math_h.m4 (gl_MATH_H): Check for bug.
39797         (gl_MATH_H_DEFAULTS): Set up default.
39798         * modules/math (Makefile.am): Replace new indicators.
39799         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
39800         * tests/test-math.c (main): Test this.
39801         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
39802         * doc/posix-headers/math.texi (math.h): Mention bug.
39803         Reported by Nelson H. F. Beebe and Jim Meyering.
39804
39805 2008-04-11  Bruno Haible  <bruno@clisp.org>
39806
39807         Adapt to future versions of Apple GCC.
39808         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
39809         Reported by Peter O'Gorman <peter@pogma.com>.
39810
39811 2008-04-11  Bruno Haible  <bruno@clisp.org>
39812
39813         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
39814
39815 2008-04-11  Bruno Haible  <bruno@clisp.org>
39816
39817         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
39818
39819         * modules/getaddrinfo-tests (Makefile.am): Define
39820         test_getaddrinfo_LDADD.
39821
39822 2008-04-11  Bruno Haible  <bruno@clisp.org>
39823
39824         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
39825         (init): Fix syntax error.
39826         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
39827         is declared.
39828
39829 2008-04-11  Bruno Haible  <bruno@clisp.org>
39830
39831         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
39832         * modules/glob (Depends-on): Add stdbool.
39833
39834 2008-04-11  Bruno Haible  <bruno@clisp.org>
39835
39836         * lib/trim.c: Include <string.h>.
39837
39838 2008-04-11  Eric Blake  <ebb9@byu.net>
39839
39840         Avoid compile failure on OS/2.
39841         * lib/regex_internal.h (internal_function): Disable optimization
39842         on OS/2 (__EMX__), where it caused compiler error.
39843         Reported by Elbert Pol.
39844
39845 2008-04-11  Bruno Haible  <bruno@clisp.org>
39846
39847         Flush the standard error stream before aborting. Needed on mingw.
39848         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
39849         * tests/test-array_list.c (ASSERT): Likewise.
39850         * tests/test-array_oset.c (ASSERT): Likewise.
39851         * tests/test-avltree_list.c (ASSERT): Likewise.
39852         * tests/test-avltree_oset.c (ASSERT): Likewise.
39853         * tests/test-avltreehash_list.c (ASSERT): Likewise.
39854         * tests/test-binary-io.c (ASSERT): Likewise.
39855         * tests/test-byteswap.c (ASSERT): Likewise.
39856         * tests/test-c-ctype.c (ASSERT): Likewise.
39857         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
39858         * tests/test-c-strcasestr.c (ASSERT): Likewise.
39859         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
39860         * tests/test-c-strstr.c (ASSERT): Likewise.
39861         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
39862         * tests/test-canonicalize.c (ASSERT): Likewise.
39863         * tests/test-carray_list.c (ASSERT): Likewise.
39864         * tests/test-ceilf1.c (ASSERT): Likewise.
39865         * tests/test-ceilf2.c (ASSERT): Likewise.
39866         * tests/test-ceill.c (ASSERT): Likewise.
39867         * tests/test-count-one-bits.c (ASSERT): Likewise.
39868         * tests/test-fbufmode.c (ASSERT): Likewise.
39869         * tests/test-fflush2.c (ASSERT): Likewise.
39870         * tests/test-floorf1.c (ASSERT): Likewise.
39871         * tests/test-floorf2.c (ASSERT): Likewise.
39872         * tests/test-floorl.c (ASSERT): Likewise.
39873         * tests/test-fopen.c (ASSERT): Likewise.
39874         * tests/test-fpending.c (ASSERT): Likewise.
39875         * tests/test-fprintf-posix.c (ASSERT): Likewise.
39876         * tests/test-fpurge.c (ASSERT): Likewise.
39877         * tests/test-freadable.c (ASSERT): Likewise.
39878         * tests/test-freadahead.c (ASSERT): Likewise.
39879         * tests/test-freading.c (ASSERT): Likewise.
39880         * tests/test-freadptr.c (ASSERT): Likewise.
39881         * tests/test-freadptr2.c (ASSERT): Likewise.
39882         * tests/test-freadseek.c (ASSERT): Likewise.
39883         * tests/test-freopen.c (ASSERT): Likewise.
39884         * tests/test-frexp.c (ASSERT): Likewise.
39885         * tests/test-frexpl.c (ASSERT): Likewise.
39886         * tests/test-fseek.c (ASSERT): Likewise.
39887         * tests/test-fseeko.c (ASSERT): Likewise.
39888         * tests/test-fstrcmp.c (ASSERT): Likewise.
39889         * tests/test-ftell.c (ASSERT): Likewise.
39890         * tests/test-ftello.c (ASSERT): Likewise.
39891         * tests/test-func.c (ASSERT): Likewise.
39892         * tests/test-fwritable.c (ASSERT): Likewise.
39893         * tests/test-fwriting.c (ASSERT): Likewise.
39894         * tests/test-getdelim.c (ASSERT): Likewise.
39895         * tests/test-getline.c (ASSERT): Likewise.
39896         * tests/test-i-ring.c (ASSERT): Likewise.
39897         * tests/test-iconv-utf.c (ASSERT): Likewise.
39898         * tests/test-iconv.c (ASSERT): Likewise.
39899         * tests/test-isfinite.c (ASSERT): Likewise.
39900         * tests/test-isnand.c (ASSERT): Likewise.
39901         * tests/test-isnanf.c (ASSERT): Likewise.
39902         * tests/test-isnanl.h (ASSERT): Likewise.
39903         * tests/test-ldexpl.c (ASSERT): Likewise.
39904         * tests/test-linked_list.c (ASSERT): Likewise.
39905         * tests/test-linkedhash_list.c (ASSERT): Likewise.
39906         * tests/test-localename.c (ASSERT): Likewise.
39907         * tests/test-lseek.c (ASSERT): Likewise.
39908         * tests/test-mbscasecmp.c (ASSERT): Likewise.
39909         * tests/test-mbscasestr1.c (ASSERT): Likewise.
39910         * tests/test-mbscasestr2.c (ASSERT): Likewise.
39911         * tests/test-mbscasestr3.c (ASSERT): Likewise.
39912         * tests/test-mbscasestr4.c (ASSERT): Likewise.
39913         * tests/test-mbschr.c (ASSERT): Likewise.
39914         * tests/test-mbscspn.c (ASSERT): Likewise.
39915         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
39916         * tests/test-mbspbrk.c (ASSERT): Likewise.
39917         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
39918         * tests/test-mbsrchr.c (ASSERT): Likewise.
39919         * tests/test-mbsspn.c (ASSERT): Likewise.
39920         * tests/test-mbsstr1.c (ASSERT): Likewise.
39921         * tests/test-mbsstr2.c (ASSERT): Likewise.
39922         * tests/test-mbsstr3.c (ASSERT): Likewise.
39923         * tests/test-memchr2.c (ASSERT): Likewise.
39924         * tests/test-memmem.c (ASSERT): Likewise.
39925         * tests/test-open.c (ASSERT): Likewise.
39926         * tests/test-printf-frexp.c (ASSERT): Likewise.
39927         * tests/test-printf-frexpl.c (ASSERT): Likewise.
39928         * tests/test-printf-posix.c (ASSERT): Likewise.
39929         * tests/test-quotearg.c (ASSERT): Likewise.
39930         * tests/test-rbtree_list.c (ASSERT): Likewise.
39931         * tests/test-rbtree_oset.c (ASSERT): Likewise.
39932         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
39933         * tests/test-round1.c (ASSERT): Likewise.
39934         * tests/test-roundf1.c (ASSERT): Likewise.
39935         * tests/test-roundl.c (ASSERT): Likewise.
39936         * tests/test-signbit.c (ASSERT): Likewise.
39937         * tests/test-sleep.c (ASSERT): Likewise.
39938         * tests/test-snprintf-posix.c (ASSERT): Likewise.
39939         * tests/test-snprintf.c (ASSERT): Likewise.
39940         * tests/test-sprintf-posix.c (ASSERT): Likewise.
39941         * tests/test-stat-time.c (ASSERT): Likewise.
39942         * tests/test-strcasestr.c (ASSERT): Likewise.
39943         * tests/test-strerror.c (ASSERT): Likewise.
39944         * tests/test-striconv.c (ASSERT): Likewise.
39945         * tests/test-striconveh.c (ASSERT): Likewise.
39946         * tests/test-striconveha.c (ASSERT): Likewise.
39947         * tests/test-strsignal.c (ASSERT): Likewise.
39948         * tests/test-strstr.c (ASSERT): Likewise.
39949         * tests/test-strtod.c (ASSERT): Likewise.
39950         * tests/test-trunc1.c (ASSERT): Likewise.
39951         * tests/test-trunc2.c (ASSERT): Likewise.
39952         * tests/test-truncf1.c (ASSERT): Likewise.
39953         * tests/test-truncf2.c (ASSERT): Likewise.
39954         * tests/test-truncl.c (ASSERT): Likewise.
39955         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
39956         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
39957         * tests/test-vasnprintf.c (ASSERT): Likewise.
39958         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
39959         * tests/test-vasprintf.c (ASSERT): Likewise.
39960         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
39961         * tests/test-vprintf-posix.c (ASSERT): Likewise.
39962         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
39963         * tests/test-vsnprintf.c (ASSERT): Likewise.
39964         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
39965         * tests/test-wcwidth.c (ASSERT): Likewise.
39966         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
39967         * tests/test-xprintf-posix.c (ASSERT): Likewise.
39968         * tests/test-xvasprintf.c (ASSERT): Likewise.
39969         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
39970         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
39971         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
39972         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
39973         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
39974         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
39975         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
39976         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
39977         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
39978         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
39979         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
39980         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
39981         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
39982         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
39983         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
39984         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
39985         * tests/unictype/test-block_list.c (ASSERT): Likewise.
39986         * tests/unictype/test-block_of.c (ASSERT): Likewise.
39987         * tests/unictype/test-block_test.c (ASSERT): Likewise.
39988         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
39989         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
39990         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
39991         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
39992         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
39993         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
39994         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
39995         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
39996         * tests/unictype/test-combining.c (ASSERT): Likewise.
39997         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
39998         * tests/unictype/test-digit.c (ASSERT): Likewise.
39999         * tests/unictype/test-mirror.c (ASSERT): Likewise.
40000         * tests/unictype/test-numeric.c (ASSERT): Likewise.
40001         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
40002         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
40003         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
40004         * tests/unictype/test-scripts.c (ASSERT): Likewise.
40005         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
40006         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
40007         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
40008         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
40009         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
40010         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
40011         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
40012         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
40013         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
40014         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
40015         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
40016         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
40017         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
40018         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
40019         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
40020         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
40021         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
40022         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
40023         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
40024         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
40025         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
40026         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
40027         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
40028         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
40029         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
40030         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
40031         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
40032         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
40033         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
40034         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
40035         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
40036         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
40037         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
40038         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
40039         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
40040         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
40041         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
40042         Reported by Eric Blake.
40043
40044 2008-04-11  Bruno Haible  <bruno@clisp.org>
40045
40046         * lib/wchar.in.h: Tweak comment.
40047
40048 2008-04-11  Bruno Haible  <bruno@clisp.org>
40049
40050         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
40051         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
40052         gl_COMMON.
40053         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
40054
40055 2008-04-11  Bruno Haible  <bruno@clisp.org>
40056
40057         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
40058
40059 2008-04-11  Simon Josefsson  <simon@josefsson.org>
40060
40061         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
40062         of attempting to use non-existing /dev/*random.  Based on patch
40063         from Adam Strzelecki <ono@java.pl> in
40064         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
40065
40066 2008-04-08  Bruno Haible  <bruno@clisp.org>
40067
40068         Add tentative support for emx+gcc.
40069         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
40070         * lib/fpurge.c (fpurge): Likewise.
40071         * lib/freadable.c (freadable): Likewise.
40072         * lib/freadahead.c (freadahead): Likewise.
40073         * lib/freading.c (freading): Likewise.
40074         * lib/freadptr.c (freadptr): Likewise.
40075         * lib/freadseek.c (freadptrinc): Likewise.
40076         * lib/fseeko.c (rpl_fseeko): Likewise.
40077         * lib/fseterr.c (fseterr): Likewise.
40078         * lib/fwritable.c (fwritable): Likewise.
40079         * lib/fwriting.c (fwriting): Likewise.
40080         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
40081
40082 2008-04-09  Eric Blake  <ebb9@byu.net>
40083
40084         Avoid some autoconf warnings.
40085         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
40086         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
40087         * m4/afs.m4 (gl_AFS): Likewise.
40088         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
40089         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
40090         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
40091         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
40092         (gl_INTEGER_TYPE_SUFFIX): Likewise.
40093         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
40094         (AC_CHECK_DECLS_ONCE): Likewise.
40095         Rename file...
40096         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
40097         gnulib-tool requires autoconf 2.59 or better.
40098         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
40099
40100 2008-04-08  Eric Blake  <ebb9@byu.net>
40101
40102         Use 'git describe --match' if present (added in git 1.5.5).
40103         * build-aux/git-version-gen: Limit result to tags that match 'v*'
40104         if possible.
40105
40106 2008-04-08  Bruno Haible  <bruno@clisp.org>
40107
40108         Add tentative support for OpenServer.
40109         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
40110         _ptr, _cnt.
40111         * lib/fpurge.c (fpurge): Likewise.
40112         * lib/freadable.c (freadable): Likewise.
40113         * lib/freadahead.c (freadahead): Likewise.
40114         * lib/freading.c (freading): Likewise.
40115         * lib/freadptr.c (freadptr): Likewise.
40116         * lib/freadseek.c (freadptrinc): Likewise.
40117         * lib/fseeko.c (rpl_fseeko): Likewise.
40118         * lib/fseterr.c (fseterr): Likewise.
40119         * lib/fwritable.c (fwritable): Likewise.
40120         * lib/fwriting.c (fwriting): Likewise.
40121         Reported by Roger Cornelius <rac@tenzing.org> and
40122         Brian K. White <brian@aljex.com>.
40123
40124 2008-04-06  Jim Meyering  <meyering@redhat.com>
40125
40126         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
40127
40128 2008-04-06  Bruno Haible  <bruno@clisp.org>
40129
40130         Avoid possible error with non-ASCII bytes in UTF-8 locales.
40131         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
40132         * tests/test-printf-posix.sh: Likewise.
40133         * tests/test-vfprintf-posix.sh: Likewise.
40134         * tests/test-vprintf-posix.sh: Likewise.
40135         * tests/test-xprintf-posix.sh: Likewise.
40136
40137 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40138
40139         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
40140         hide error from 'ls', needed on OS/2.
40141         Report by Elbert Pol <elbert.pol@gmail.com>.
40142
40143 2008-04-04  Eric Blake  <ebb9@byu.net>
40144
40145         Make test-fseeko.c failures meaningful.
40146         * tests/test-fseeko.c: Print line number on failure.
40147         * tests/test-fseek.c: Likewise.
40148         Reported by Nelson H. F. Beebe.
40149
40150         Improve strtod bug detection check.
40151         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
40152         required for Solaris 10.
40153         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
40154
40155 2008-04-04  Bruno Haible  <bruno@clisp.org>
40156
40157         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
40158         by m4/setenv.m4.
40159
40160 2008-04-03  Eric Blake  <ebb9@byu.net>
40161
40162         Ensure sane .version contents.
40163         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
40164         version string.
40165         * build-aux/git-version-gen: Improve documentation.
40166
40167         Make GNU make output nicer.
40168         * top/GNUmakefile [!_have-Makefile]: Add dependency on
40169         MAKECMDGOALS to enforce message for all command line targets.  Set
40170         srcdir for use in maint.mk.
40171
40172         Another maintainer tweak.
40173         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
40174         a target that regenerates version.
40175
40176 2008-04-03  Jim Meyering  <meyering@redhat.com>
40177
40178         vc-list-files: don't cause coreutils "make po-check" failure
40179         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
40180
40181 2008-04-03  Eric Blake  <ebb9@byu.net>
40182
40183         Allow VPATH usage of vc-list-files.
40184         * build-aux/vc-list-files (scriptversion): Add timestamp.
40185         (options): Add --help, --version, -C.
40186         (CVS): Support installed cvsu.
40187
40188 2008-04-02  Bruno Haible  <bruno@clisp.org>
40189
40190         Avoid some "statement with no effect" warnings from gcc.
40191         * tests/test-wctype.c (main): Explicitly ignore unused values.
40192         Reported by Jim Meyering.
40193
40194 2008-04-02  Jim Meyering  <meyering@redhat.com>
40195
40196         Avoid some warnings from "gcc -Wshadow".
40197         * tests/test-frexp.c (exp): Define to a different identifier.
40198         * tests/test-frexpl.c (exp): Likewise.
40199
40200 2008-04-03  Jim Meyering  <meyering@redhat.com>
40201
40202         bootstrap: remove dangling *.[ch] symlinks from lib
40203         * build-aux/bootstrap [dangling symlink removal]: Move find's
40204         -depth option to precede all others, to avoid a warning.
40205         Remove *.[ch] files too, and from "$source_base" (usually lib/).
40206
40207 2008-04-02  Bruno Haible  <bruno@clisp.org>
40208
40209         Avoid some warnings from "gcc -Wshadow".
40210         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
40211         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
40212         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
40213         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
40214         Reported by Jim Meyering.
40215
40216 2008-04-01  Bruno Haible  <bruno@clisp.org>
40217
40218         Fix test to work on IRIX 6.5 with cc.
40219         * tests/test-math.c (numeric_equal): New function.
40220         (main): Use it.
40221
40222 2008-04-01  Bruno Haible  <bruno@clisp.org>
40223
40224         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
40225
40226 2008-04-01  Bruno Haible  <bruno@clisp.org>
40227
40228         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
40229         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
40230         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
40231         (Depends-on): Remove math.
40232
40233         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
40234         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
40235         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
40236         (Depends-on): Remove math.
40237
40238         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
40239         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
40240         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
40241         (Depends-on): Remove math.
40242         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
40243         (Depends-on): Remove math.
40244
40245         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
40246         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
40247         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
40248         (Depends-on): Remove math.
40249         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
40250         (Depends-on): Remove math.
40251
40252         * tests/test-round1.c: Include nan.h.
40253         (main): Use NaNd instead of NAN.
40254         * modules/round-tests (Files): Add tests/nan.h.
40255
40256         * tests/test-trunc1.c: Include nan.h.
40257         (main): Use NaNd instead of NAN.
40258         * modules/trunc-tests (Files): Add tests/nan.h.
40259
40260         * tests/test-roundf1.c: Include nan.h.
40261         (main): Use NaNf instead of NAN.
40262         * modules/roundf-tests (Files): Add tests/nan.h.
40263
40264         * tests/test-truncf1.c: Include nan.h.
40265         (main): Use NaNf instead of NAN.
40266         * modules/truncf-tests (Files): Add tests/nan.h.
40267
40268         * tests/test-ceilf1.c: Include nan.h.
40269         (main): Use NaNf instead of NAN.
40270         * modules/ceilf-tests (Files): Add tests/nan.h.
40271
40272         * tests/test-floorf1.c: Include nan.h.
40273         (main): Use NaNf instead of NAN.
40274         * modules/floorf-tests (Files): Add tests/nan.h.
40275
40276         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
40277         (main): Use NaNf instead of NAN.
40278         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
40279
40280         * tests/test-isnand.c: Include nan.h instead of <math.h>.
40281         (main): Use NaNd instead of NAN.
40282         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
40283
40284         * tests/test-frexp.c: Include nan.h.
40285         (main): Use NaNd instead of NAN.
40286         * modules/frexp-tests (Files): Add tests/nan.h.
40287
40288         * lib/isnan.c: Don't include <math.h>.
40289         (FUNC): Don't use NAN macro.
40290         * modules/isnand-nolibm (Depends-on): Remove math.
40291         * modules/isnanf-nolibm (Depends-on): Remove math.
40292         * modules/isnanl (Depends-on): Remove math.
40293         * modules/isnanl-nolibm (Depends-on): Remove math.
40294
40295         * tests/nan.h: New file.
40296
40297 2008-04-01  Eric Blake  <ebb9@byu.net>
40298
40299         Fix typos.
40300         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
40301         values to be the right type.
40302
40303         For now, cater to gnulib strtod inaccuracies.
40304         * tests/test-strtod.c (main): Allow 1-ulp error on expected
40305         fractional results.  While not as nice from a QoI perspective, it
40306         is a quicker patch than correctly implementing decimal to binary
40307         rounding.
40308
40309 2008-03-31  Eric Blake  <ebb9@byu.net>
40310
40311         Guarantee a definition of NAN.
40312         * lib/math.in.h (NAN): Define if missing.
40313         * tests/test-math.c (main): Test it.
40314         * doc/posix-headers/math.texi (math.h): Document this.
40315         * lib/isnan.c (rpl_isnand): Use it.
40316         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
40317         * tests/test-floorf1.c (NaN): Likewise.
40318         * tests/test-frexp.c (NaN): Likewise.
40319         * tests/test-isnand.c (NaN): Likewise.
40320         * tests/test-isnanf.c (NaN): Likewise.
40321         * tests/test-round1.c (NaN): Likewise.
40322         * tests/test-roundf1.c (NaN): Likewise.
40323         * tests/test-snprintf-posix.h (NaN): Likewise.
40324         * tests/test-sprintf-posix.h (NaN): Likewise.
40325         * tests/test-trunc1.c (NaN): Likewise.
40326         * tests/test-truncf1.c (NaN): Likewise.
40327         * tests/test-vasnprintf-posix.c (NaN): Likewise.
40328         * tests/test-vasprintf-posix.c (NaN): Likewise.
40329         * modules/isnand-nolibm (Depends-on): Add math.
40330         * modules/isnanf-nolibm (Depends-on): Likewise.
40331         * modules/isnanl (Depends-on): Likewise.
40332         * modules/isnanl-nolibm (Depends-on): Likewise.
40333         * modules/snprintf-posix-tests (Depends-on): Likewise.
40334         * modules/sprintf-posix-tests (Depends-on): Likewise.
40335         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
40336         * modules/vsprintf-posix-tests (Depends-on): Likewise.
40337         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
40338         * modules/vasprintf-posix-tests (Depends-on): Likewise.
40339
40340 2008-03-31  Bruno Haible  <bruno@clisp.org>
40341
40342         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
40343         * doc/posix-functions/strtod.texi: Likewise.
40344
40345 2008-03-31  Bruno Haible  <bruno@clisp.org>
40346
40347         * tests/test-strtod.c (main): Don't use C99 syntax.
40348
40349 2008-03-31  Bruno Haible  <bruno@clisp.org>
40350
40351         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
40352         Reported by Eric Blake.
40353
40354 2008-03-31  Jim Meyering  <meyering@redhat.com>
40355
40356         Don't compare actual signbit return values.
40357         * tests/test-strtod.c (main): Rather, compare only their
40358         zero/non-zero nature.
40359
40360 2008-03-31  Eric Blake  <ebb9@byu.net>
40361
40362         More strtod documentation.
40363         * doc/posix-functions/strtod.texi (strtod): Interpret more test
40364         failures as distinct bugs.
40365
40366 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
40367
40368         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
40369         Problem reported by Erik Benada in
40370         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
40371
40372 2008-03-30  Bruno Haible  <bruno@clisp.org>
40373
40374         * tests/test-strtod.c: Add comments about which assertion fails on which
40375         platform.
40376         * doc/posix-functions/strtod.texi: Add info about many more platforms.
40377
40378 2008-03-30  Eric Blake  <ebb9@byu.net>
40379
40380         Test signbit behavior on zeros.
40381         * tests/test-signbit.c (test_signbitf): Add tests for zero.
40382         (test_signbitd, test_signbitl): Likewise.
40383
40384         More strtod touchups.
40385         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
40386         sign of negative underflow, for now.  Use .5, not .1.
40387         * doc/posix-functions/strtod.texi (strtod): Mention these
40388         limitations.
40389         Reported by Jim Meyering.
40390
40391 2008-03-30  Bruno Haible  <bruno@clisp.org>
40392
40393         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
40394         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
40395
40396 2008-03-30  Bruno Haible  <bruno@clisp.org>
40397
40398         Avoid failure when attempting to return empty iconv results on some
40399         platforms.
40400         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
40401         allocation, don't report ENOMEM when the resulting string is empty.
40402
40403 2008-03-30  Bruno Haible  <bruno@clisp.org>
40404
40405         Fix buffer overrun.
40406         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
40407         Don't consider the width for tmp_length. Check count against tmp_length
40408         before doing the padding. Ensure enough allocation during padding.
40409
40410 2008-03-30  Eric Blake  <ebb9@byu.net>
40411
40412         strtod touchups.
40413         * lib/strtod.c (strtod): Avoid compiler warnings.
40414         Reported by Jim Meyering.
40415
40416 2008-03-30  Bruno Haible  <bruno@clisp.org>
40417
40418         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
40419         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
40420         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
40421         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
40422         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
40423         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
40424         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
40425         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
40426
40427         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
40428         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
40429         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
40430         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
40431         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
40432         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
40433         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
40434         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
40435
40436         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
40437         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
40438         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
40439         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
40440         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
40441         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
40442         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
40443         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
40444
40445         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
40446         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
40447
40448         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
40449         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
40450
40451         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
40452         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
40453
40454         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
40455         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
40456         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
40457
40458         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
40459         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
40460         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
40461
40462         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
40463         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
40464         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
40465
40466         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
40467         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
40468         * modules/vasprintf (Depends-on): Add EOVERFLOW.
40469
40470         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
40471         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
40472         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
40473         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
40474         (Depends-on): Add EOVERFLOW.
40475         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
40476         (Depends-on): Add EOVERFLOW.
40477         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
40478         (Depends-on): Add EOVERFLOW.
40479         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
40480         (Depends-on): Add EOVERFLOW.
40481         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
40482         (Depends-on): Add EOVERFLOW.
40483         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
40484         (Depends-on): Add EOVERFLOW.
40485         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
40486         (Depends-on): Add EOVERFLOW.
40487         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
40488         (Depends-on): Add EOVERFLOW.
40489
40490         * lib/sprintf.c (EOVERFLOW): Remove fallback.
40491         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
40492         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
40493
40494         * lib/snprintf.c (EOVERFLOW): Remove fallback.
40495         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
40496         * modules/snprintf (Depends-on): Add EOVERFLOW.
40497
40498         * lib/poll.c (EOVERFLOW): Remove fallback.
40499         * modules/poll (Depends-on): Add EOVERFLOW.
40500
40501         * lib/getugroups.c (EOVERFLOW): Remove fallback.
40502         * modules/getugroups (Depends-on): Add EOVERFLOW.
40503
40504         * lib/getdelim.c (EOVERFLOW): Remove fallback.
40505         * modules/getdelim (Depends-on): Add EOVERFLOW.
40506
40507         * lib/ftell.c (EOVERFLOW): Remove fallback.
40508         * modules/ftell (Depends-on): Add EOVERFLOW.
40509
40510         * lib/fprintf.c (EOVERFLOW): Remove fallback.
40511         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
40512         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
40513
40514         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
40515
40516         * modules/EOVERFLOW-tests: New file.
40517         * tests/test-EOVERFLOW.c: New file.
40518
40519         * modules/EOVERFLOW: New file.
40520         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
40521
40522 2008-03-30  Bruno Haible  <bruno@clisp.org>
40523
40524         Fix bug introduced on 2007-06-10.
40525         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
40526         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
40527
40528 2008-03-30  Bruno Haible  <bruno@clisp.org>
40529
40530         Improve freadseek's efficiency after ungetc.
40531         * lib/freadseek.c: Include freadahead.h.
40532         (freadptrinc): New function, extracted from freadseek.
40533         (freadseek): Use it in a loop. Use freadahead to determine the number
40534         of loop iterations.
40535         * modules/freadseek (Depends-on): Add freadahead.
40536         (configure.ac): Require AC_C_INLINE.
40537
40538 2008-03-30  Bruno Haible  <bruno@clisp.org>
40539
40540         * lib/freadseek.c (freadseek): Don't ignore the return value of
40541         freadptr.
40542
40543 2008-03-29  Eric Blake  <ebb9@byu.net>
40544
40545         Add hex float support.
40546         * modules/strtod (Depends-on): Add c-ctype.
40547         (Link): Mention POW_LIB.
40548         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
40549         whitespace between 'e' and exponent.
40550         * tests/test-strtod.c (main): Enable hex float tests.
40551         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
40552         now provides.
40553
40554         Document various strtod bugs, with some fixes.
40555         * doc/posix-functions/strtod.texi (strtod): Document bugs with
40556         "-0x", "inf", "nan", and hex constants.
40557         * doc/posix-functions/atof.texi (atof): Likewise.
40558         * modules/stdlib (Makefile.am): Support strtod.
40559         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
40560         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
40561         detect additional strtod bugs.
40562         * lib/stdlib.in.h (rpl_strtod): Add declarations.
40563         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
40564         bool where appropriate.  Parse 'inf' and 'nan'.
40565         * tests/test-strtod.c: New file.
40566         * modules/strtod (Depends-on): Add stdbool, stdlib.
40567         (configure.ac): Turn on module indicator.
40568         * modules/strtod-tests: New module.
40569
40570 2008-03-29  Eric Blake  <ebb9@byu.net>
40571
40572         Fix ftell on mingw.
40573         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
40574         * modules/ftell-tests (Depends-on): Add binary-io.
40575         * modules/ftello-tests (Depends-on): Likewise.
40576         * tests/test-ftell.c (main): Enhance test to cover behavior after
40577         ungetc.  Enforce binary mode.
40578         * tests/test-ftello.c (main): Likewise.
40579
40580         Pass test-freadseek on cygwin.
40581         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
40582         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
40583         ungetc buffer.
40584
40585         * tests/test-fflush2.c (main): Fix typo.
40586
40587 2008-03-29  Bruno Haible  <bruno@clisp.org>
40588
40589         * tests/test-fflush2.c (main): Temporarily disable the contents of
40590         this test.
40591         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
40592         Reported by Eric Blake.
40593
40594 2008-03-28  Simon Josefsson  <simon@josefsson.org>
40595
40596         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
40597         (GC_SHA224_DIGEST_SIZE): Add.
40598
40599         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
40600         (gc_hash_digest_length): Likewise.
40601         (gc_hash_buffer): Likewise.
40602
40603 2008-03-25  Bruno Haible  <bruno@clisp.org>
40604
40605         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
40606         detail which gettext release to use.
40607         Reported by Simon Josefsson.
40608
40609 2008-03-26  Jim Meyering  <meyering@redhat.com>
40610
40611         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
40612         * modules/gnumakefile (clean-GNUmakefile): Also, use
40613         test ... && ... || : syntax rather than if-then ... fi.
40614
40615         gnumakefile: Don't double-quote-expand $(VPATH) value.
40616         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
40617
40618 2008-03-24  Eric Blake  <ebb9@byu.net>
40619
40620         Alter GNUmakefile to install into top directory.
40621         * modules/maintainer-makefile: Split, and add dependency...
40622         * modules/gnumakefile: to this new module.
40623         * build-aux/GNUmakefile: Move...
40624         * top/GNUmakefile: ...here.
40625         * build-aux/maint.mk: Move...
40626         * top/maint.mk: ...here.
40627         * MODULES.html.sh (Support for maintaining...): Document new
40628         module.
40629
40630 2008-03-23  Bruno Haible  <bruno@clisp.org>
40631
40632         * gnulib-tool: New options --vc-files, --no-vc-files.
40633         (func_usage): Document them.
40634         (vc_files): New variable.
40635         (func_import): Consider vc_files.
40636         (func_create_testdir): Set vc_files to empty.
40637         Suggested by Jim Meyering and Karl Berry.
40638
40639 2008-03-23  Bruno Haible  <bruno@clisp.org>
40640
40641         Fix regex compilation error on HP-UX 11.
40642         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
40643         * modules/regex (Files): Add m4/mbstate_t.m4.
40644         Reported by Ton Voon <ton.voon@altinity.com>.
40645
40646 2008-03-23  Bruno Haible  <bruno@clisp.org>
40647
40648         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
40649
40650 2008-03-23  Eric Blake  <ebb9@byu.net>
40651             Bruno Haible  <bruno@clisp.org>
40652
40653         Install files from top/ in the destination directory.
40654         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
40655         augmentation also for the files from top/.
40656         (func_import, func_create_testdir): Rewrite file names:
40657         top/filename -> filename.
40658
40659 2008-03-23  Bruno Haible  <bruno@clisp.org>
40660
40661         Tweak "gnulib --version" output.
40662         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
40663
40664 2008-03-23  Bruno Haible  <bruno@clisp.org>
40665
40666         Tweak "gnulib --version" output.
40667         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
40668         rather than contents of ChangeLog, when possible.
40669
40670 2008-03-21  Eric Blake  <ebb9@byu.net>
40671
40672         More --version tweaks.
40673         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
40674         date of last ChangeLog entry.
40675
40676 2008-03-21  Jim Meyering  <meyering@redhat.com>
40677
40678         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
40679
40680 2008-03-20  Eric Blake  <ebb9@byu.net>
40681
40682         VPATH fix.
40683         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
40684
40685 2008-03-20  Simon Josefsson  <simon@josefsson.org>
40686
40687         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
40688         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
40689
40690 2008-03-20  Eric Blake  <ebb9@byu.net>
40691
40692         Sync GNUmakefile with coreutils.
40693         * build-aux/GNUmakefile (have-Makefile): Rename...
40694         (_have-Makefile): ...to this, for namespace consideration.
40695         (GNUmakefile.cfg): Include, if present.
40696         (_autoreconf): Define a default.
40697         (_is-dist-target): New rule for rebuilds to pick up intra-release
40698         version.
40699         (maint-cfg.mk): Rename...
40700         (cfg.mk): ...to this.
40701
40702 2008-03-18  Jim Meyering  <meyering@redhat.com>
40703
40704         New script and module: mktempd
40705         * MODULES.html.sh (maint+release support): Add mktempd.
40706         * build-aux/mktempd: New file.
40707         * modules/mktempd: New file.
40708
40709 2008-03-15  Jim Meyering  <meyering@redhat.com>
40710
40711         Undo last change.
40712         * lib/sha1.c, lib/md5.c: 63 != ~63.
40713         Reported by Andreas Schwab.
40714
40715         sha1.c, md5.c: Hoist a redundant expression.
40716         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
40717         "ctx->buflen" only once, before calling *_process_block.
40718         * lib/md5.c (md5_process_bytes): Likewise.
40719
40720 2008-03-14  Eric Blake  <ebb9@byu.net>
40721
40722         Bump copyright year in files generated by gnulib-tool.
40723         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
40724         gnulib-tool, rather than hard-coding it.
40725
40726         Fix 'gnulib-tool --version' output to work with git.
40727         * gnulib-tool (func_gnulib_dir): New function, extracted from...
40728         (startup): ...here.
40729         (func_version): Use it to invoke git-version-gen, rather than
40730         relying on CVS keyword expansion.  Modernize wording.
40731         (cvsdatestamp, last_checkin_date, version): Kill unused
40732         variables.
40733
40734 2008-03-12  Jim Meyering  <meyering@redhat.com>
40735
40736         Recognize optional cast of the argument to free.
40737         * build-aux/useless-if-before-free: Update regexps.
40738
40739         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
40740
40741 2008-03-11  Bruno Haible  <bruno@clisp.org>
40742
40743         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
40744         by a single package.
40745         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
40746         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
40747         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
40748         Reported by Sam Steingold <sds@gnu.org>.
40749
40750 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
40751
40752         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
40753         repositories.
40754
40755 2008-03-11  Bruno Haible  <bruno@clisp.org>
40756
40757         Avoid conflicts between local macro definitions.
40758         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
40759         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
40760
40761 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
40762             Bruno Haible  <bruno@clisp.org>
40763
40764         Make va_copy work with some version of xlc on AIX 5.1.
40765         * lib/stdarg.in.h: New file.
40766         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
40767         On AIX, use a <stdarg.h> file substitute.
40768         * modules/stdarg (Files): Add lib/stdarg.in.h.
40769         (Depends-on): Add include_next.
40770         (Makefile.am): Build a stdarg.h substitute if requested.
40771         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
40772
40773 2008-03-10  Bruno Haible  <bruno@clisp.org>
40774
40775         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
40776         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
40777         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
40778
40779 2008-03-10  Bruno Haible  <bruno@clisp.org>
40780
40781         * modules/stdlib (Depends-on): Add include_next, remove
40782         absolute-header.
40783
40784 2008-03-09  Bruno Haible  <bruno@clisp.org>
40785
40786         * lib/freadahead.h (freadahead): Document more precisely.
40787         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
40788         the sum of both buffer sizes.
40789         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
40790         * NEWS: Document the change.
40791
40792 2008-03-09  Bruno Haible  <bruno@clisp.org>
40793
40794         Extend freadptr to return also the buffer size.
40795         * lib/freadptr.h (freadptr): Add sizep argument.
40796         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
40797         (freadptr): Add sizep argument. Determine buffer size like freadahead
40798         does.
40799         * tests/test-freadptr.c: Don't include freadahead.h.
40800         (main): Adapt for new calling convention of freadptr.
40801         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
40802         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
40803         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
40804         tests/test-freadptr2.sh.
40805         (Depends): Remove freadahead.
40806         (TESTS): Add test-freadptr2.sh.
40807         (check_PROGRAMS): Add test-freadptr2.
40808
40809 2008-03-09  Bruno Haible  <bruno@clisp.org>
40810
40811         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
40812         Report and solution by Simon Josefsson.
40813
40814 2008-03-06  Bruno Haible  <bruno@clisp.org>
40815
40816         Make fflush after ungetc work on BSD platforms.
40817         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
40818         * tests/test-fflush2.c: New file.
40819         * tests/test-fflush2.sh: New file.
40820         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
40821         tests/test-fflush2.c.
40822         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
40823         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
40824
40825 2008-03-06  Eric Blake  <ebb9@byu.net>
40826
40827         Likewise for ftello.
40828         * modules/ftello (Dependencies): Add extensions.
40829         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
40830
40831 2008-03-06  Bruno Haible  <bruno@clisp.org>
40832
40833         * modules/fseeko (Dependencies): Add extensions.
40834         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
40835         Needed on glibc systems.
40836
40837 2008-03-06  Bruno Haible  <bruno@clisp.org>
40838
40839         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
40840         email address.
40841         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
40842
40843 2008-03-06  Bruno Haible  <bruno@clisp.org>
40844
40845         * users.txt: Add libgnupdf.
40846
40847 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
40848
40849         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
40850         (Header File Substitutes, Function Substitutes,
40851         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
40852         (Build robot for gnulib): Fix typo.
40853
40854 2008-03-06  Bruno Haible  <bruno@clisp.org>
40855
40856         * doc/gnulib-tool.texi (VCS Issues): Small updates.
40857         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
40858
40859 2008-03-06  Bruno Haible  <bruno@clisp.org>
40860
40861         * doc/func.texi: New file, extracted from doc/gnulib.texi.
40862         * doc/gnulib.texi: Include it.
40863
40864 2008-03-06  Simon Josefsson  <simon@josefsson.org>
40865
40866         * modules/func (License): Change license to unlimited; there was
40867         no LGPL parts in the module anyway.
40868
40869 2008-03-06  Simon Josefsson  <simon@josefsson.org>
40870
40871         * modules/__func__: Renamed to modules/func.
40872         * modules/__func__-tests: Renamed to modules/func-tests.
40873         * tests/test-__func__.c: Renamed to tests/test-func.c.
40874         * m4/__func__.m4: Renamed to m4/func.m4.
40875         * doc/gnulib.texi (__func__): Section renamed to func.
40876         Suggested by Eric Blake <ebb9@byu.net>.
40877
40878 2008-03-06  Simon Josefsson  <simon@josefsson.org>
40879
40880         * doc/gnulib.texi (__func__): Use C99 terminology when talking
40881         about __func__.  Make example self-contained.  Suggested by Eric
40882         Blake <ebb9@byu.net>.
40883
40884         * tests/test-__func__.c (main): Avoid extraneous () around __func.
40885         Suggested by Eric Blake <ebb9@byu.net>.
40886
40887 2008-03-06  Simon Josefsson  <simon@josefsson.org>
40888
40889         * modules/__func__: New file.
40890         * modules/__func__-tests: New file.
40891         * tests/test-__func__.c: New file.
40892         * m4/__func__.m4: New file.
40893         * doc/gnulib.texi (__func__): Document __func__ module.
40894
40895 2008-03-05  Simon Josefsson  <simon@josefsson.org>
40896
40897         * modules/byteswap (License): Re-license as LGPLv2+.
40898
40899 2008-03-05  Simon Josefsson  <simon@josefsson.org>
40900
40901         * doc/Makefile: Add pdf target.
40902
40903 2008-03-05  Simon Josefsson  <simon@josefsson.org>
40904
40905         * modules/inline (License): Use 'unlimited', since there are only
40906         *.m4 files in this module.
40907
40908 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
40909             Bruno Haible  <bruno@clisp.org>
40910
40911         Add support for HP C 7.1 on OpenVMS 8.3.
40912         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
40913
40914 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
40915
40916         Update VMS specifics.
40917         * lib/getopt.c [VMS]: Remove include of unixlib.h.
40918
40919 2008-03-02  Jim Meyering  <meyering@redhat.com>
40920
40921         Remove the last dependency on the "free" module.
40922         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
40923         Reported by Bob Proulx.
40924
40925         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
40926
40927         Remove useless "if" tests before free.  Deprecate "free" module.
40928         * doc/posix-functions/free.texi: Mention that this
40929         module is no longer useful.
40930         * modules/free (Notice): Say this module is obsolete.
40931         * modules/readutmp (Depends-on): Remove free.
40932         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
40933         * lib/putenv.c (putenv): Likewise.
40934         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
40935         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
40936         * tests/test-c-strcasestr.c (main): Likewise.
40937         * tests/test-c-strstr.c (main): Likewise.
40938         * tests/test-mbscasestr1.c (main): Likewise.
40939         * tests/test-mbscasestr2.c (main): Likewise.
40940         * tests/test-mbsstr1.c (main): Likewise.
40941         * tests/test-mbsstr2.c (main): Likewise.
40942         * tests/test-memmem.c (main): Likewise.
40943         * tests/test-strcasestr.c (main): Likewise.
40944         * tests/test-striconv.c (main): Likewise.
40945         * tests/test-striconveh.c (main): Likewise.
40946         * tests/test-striconveha.c (main): Likewise.
40947         * tests/test-strstr.c (main): Likewise.
40948
40949         * build-aux/git-version-gen: Adjust a comment and the Usage string.
40950
40951         bootstrap: sync from coreutils again
40952         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
40953
40954 2008-03-01  Jim Meyering  <meyering@redhat.com>
40955
40956         bootstrap: sync from coreutils
40957         * build-aux/bootstrap (update_po_files): Copy a .po file into place
40958         also when the target doesn't exist.
40959
40960 2008-03-01  Eric Blake  <ebb9@byu.net>
40961
40962         Fix bugs in last patch.
40963         * lib/memchr2.c (memchr2): Fix typo.
40964         * tests/test-memchr2.c: Test previous bug, and don't use GNU
40965         extension.
40966         Reported by Bruce Korb.
40967
40968         New module 'memchr2'.
40969         * modules/memchr2: New file.
40970         * modules/memchr2-tests: Likewise.
40971         * lib/memchr2.h: Likewise.
40972         * lib/memchr2.c: Likewise, based on memchr.c.
40973         * tests/test-memchr2.c: New test.
40974         * MODULES.html.sh (String handling): Add memchr2.
40975
40976 2008-02-29  Bruno Haible  <bruno@clisp.org>
40977
40978         * modules/freadseek-tests: New file.
40979         * tests/test-freadseek.sh: New file.
40980         * tests/test-freadseek.c: New file.
40981
40982         New module 'freadseek'.
40983         * modules/freadseek: New file.
40984         * lib/freadseek.h: New file.
40985         * lib/freadseek.c: New file.
40986         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
40987
40988 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
40989
40990         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
40991         wydawca.
40992
40993         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
40994         program_invocation_name and program_invocation_short_name are
40995         present.
40996
40997 2008-02-28  Bruno Haible  <bruno@clisp.org>
40998
40999         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
41000         * tests/test-freadptr.sh: Also test non-seekable stdin.
41001
41002 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
41003
41004         * build-aux/bootstrap (source_base, m4_base)
41005         (doc_base, tests_base): New variables.
41006         (gnulib_tool_options): Do not hardcode base directories, use
41007         the above variables instead.
41008
41009 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
41010
41011         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
41012
41013 2008-02-28  Bruno Haible  <bruno@clisp.org>
41014
41015         * modules/freadptr-tests: New file.
41016         * tests/test-freadptr.sh: New file.
41017         * tests/test-freadptr.c: New file.
41018
41019         New module 'freadptr'.
41020         * modules/freadptr: New file.
41021         * lib/freadptr.h: New file.
41022         * lib/freadptr.c: New file.
41023         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
41024
41025 2008-02-26  Karl Berry  <karl@freefriends.org>
41026
41027         Sync from Libtool:
41028         * libltdl/argz.c (argz_add, argz_count): New functions.
41029         * libltdl/argz.in.h: Declare them.
41030         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
41031
41032 2008-02-22  Bruno Haible  <bruno@clisp.org>
41033
41034         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
41035         is a pointer type.  Needed for HP-UX 10.
41036         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
41037         * doc/posix-functions/gmtime_r.texi: Likewise.
41038         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
41039
41040 2008-02-24  Bruno Haible  <bruno@clisp.org>
41041
41042         * modules/environ-tests: New file.
41043         * tests/test-environ.c: New file.
41044
41045         New module 'environ'.
41046         * modules/environ: New file.
41047         * lib/unistd.in.h (environ): New declaration.
41048         * m4/environ.m4: New file.
41049         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
41050         after use.
41051         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
41052         HAVE_DECL_ENVIRON.
41053         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
41054         HAVE_DECL_ENVIRON.
41055         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
41056         wrong claim that 'environ' is missing on some systems.
41057         * modules/execute (Depends-on): Add environ.
41058         * lib/execute.c (environ): Remove fallback declaration.
41059         * modules/pipe (Depends-on): Add environ.
41060         * lib/pipe.c (environ): Remove fallback declaration.
41061         * modules/setenv (Depends-on): Add environ.
41062         * lib/setenv.c (environ): Remove fallback declaration.
41063         * modules/unsetenv (Depends-on): Add environ.
41064         * lib/unsetenv.c (environ): Remove fallback declaration.
41065         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
41066         m4/environ.m4.
41067         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
41068         (gl_PREREQ_UNSETENV): Likewise.
41069
41070 2008-02-24  Bruno Haible  <bruno@clisp.org>
41071
41072         * doc/posix-functions/environ.texi: Document the MacOS X problem.
41073
41074 2008-02-20  Bob Proulx  <bob@proulx.com>
41075
41076         Enable use of older two part flavor 'git describe'.
41077         * build-aux/git-version-gen: If using the older two part flavor of
41078         git version then recreate the third part now present in the
41079         newer three part flavor of git describe.
41080
41081 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
41082
41083         * lib/fts.c (fts_build): Typo correction to comment.
41084
41085 2008-02-17  Bruno Haible  <bruno@clisp.org>
41086
41087         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
41088         generating no-op conflicts.
41089
41090 2008-02-17  Bruno Haible  <bruno@clisp.org>
41091
41092         Speed up by 10%.
41093         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
41094         result_entries, rather than an index-based loop.
41095
41096 2008-02-17  Bruno Haible  <bruno@clisp.org>
41097
41098         Speed up by 25%.
41099         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
41100         'hashcode_cached'.
41101         (entry_create): New function.
41102         (entry_hashcode): Use the cached hashcode if possible.
41103         (read_changelog_file, try_split_merged_entry): Use entry_create.
41104
41105 2008-02-17  Bruno Haible  <bruno@clisp.org>
41106
41107         Speed up from O(n^2) to O(n) for long ChangeLog files.
41108         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
41109         (read_changelog_file): Change implementation of entries_reversed list
41110         to rbtreehash.
41111         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
41112
41113 2008-02-17  Bruno Haible  <bruno@clisp.org>
41114
41115         New option --split-merged-entry.
41116         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
41117         (find_paragraph_end, try_split_merged_entry): New functions.
41118         (long_options): Add option --split-merged-entry.
41119         (usage): Document option --split-merged-entry.
41120         (main): Implement option --split-merged-entry.
41121         Reported by Eric Blake.
41122
41123 2008-02-17  Bruno Haible  <bruno@clisp.org>
41124
41125         * lib/git-merge-changelog.c: Include c-strstr.h.
41126         (main): Support the "git pull --rebase" situation.
41127         * modules/git-merge-changelog (Depends-on): Add c-strstr.
41128         Reported by Eric Blake.
41129
41130 2008-02-16  Eric Blake  <ebb9@byu.net>
41131
41132         Avoid doubling \ in common case of "c-maybe" quoting style.
41133         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
41134         eliding outer quotes.
41135         * lib/quotearg.h: Document this.
41136         * tests/test-quotearg.c (result_strings, inputs, results_g)
41137         (flag_results, locale_results): Test it by adding a new string to
41138         each test group.
41139         (compare_strings): Test new string.
41140
41141 2008-02-13  Eric Blake  <ebb9@byu.net>
41142
41143         Avoid trigraph quoting in default output.
41144         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
41145         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
41146         unless explicitly requested.
41147         * tests/test-quotearg.c (flag_results, main): Add additional tests.
41148
41149 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
41150
41151         Don't rely on signed integer overflowing to negative value.
41152         * lib/getugroups.c (getugroups): Include <limits.h>.
41153         Instead, compare against INT_MAX, and increment only if the test passes.
41154
41155 2008-02-13  Jim Meyering  <meyering@redhat.com>
41156         and Eric Blake  <ebb9@byu.net>
41157
41158         Avoid shadowing warning and compile errors on Linux.
41159         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
41160         forwarding macros on Linux.
41161         (dcgettext): Define a stub, for Linux.
41162         (results_g, main): Avoid warnings.
41163
41164 2008-02-12  Eric Blake  <ebb9@byu.net>
41165
41166         Silence warning in last patch.
41167         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
41168
41169         Quotearg part 4: add tests, fix c-maybe colon quoting.
41170         * lib/quotearg.h: Improve documentation.
41171         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
41172         escapes when adding outer quotes.  When quoting trigraphs, use
41173         valid C notation.  When quoting NUL, omit extra characters if next
41174         character is not digit.  Alter prototype.
41175         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
41176         callers.
41177         * modules/quotearg-tests: New module.
41178         * tests/test-quotearg.c: New test.
41179
41180 2008-02-07  Eric Blake  <ebb9@byu.net>
41181
41182         Quotearg part 3: add flag to control outer quote elision.
41183         * lib/quotearg.h (c_maybe_quoting_style): New style.
41184         (enum quoting_flags): Better documentation of flags.
41185         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
41186         c-maybe style.
41187         (quotearg_buffer_restyled): Handle new flag to elide outer
41188         quotes.
41189
41190         Quotearg part 2: add flag that can control NUL elision.
41191         * lib/quotearg.h (set_quoting_flags): New prototype.
41192         * lib/quotearg.c (struct quoting_options): Add flag field.
41193         (set_quoting_flags): New function.
41194         (quotearg_buffer_restyled): Add flags parameter.
41195         (quotearg_alloc_mem): Set the flag if length cannot be returned.
41196         (quotearg_n_options): Set the flag, since length cannot be
41197         returned.
41198         (quoting_options_from_style): Default flags correctly.
41199
41200         Quotearg part 1: more wrappers, restore quotearg_char state.
41201         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
41202         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
41203         (quotearg_colon_mem): New wrappers.
41204         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
41205         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
41206         functions.
41207         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
41208         (quotearg_colon_mem): New functions.
41209
41210 2008-02-11  Bruno Haible  <bruno@clisp.org>
41211
41212         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
41213         library in the current directory: it does not work with parallel make.
41214         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
41215
41216 2008-02-11  Bruno Haible  <bruno@clisp.org>
41217
41218         * .gitattributes: New file.
41219
41220 2008-02-11  Jim Meyering  <meyering@redhat.com>
41221
41222         useless-if-before-free: Fix reversed exit values.
41223         * build-aux/useless-if-before-free: Use correct values
41224         for EXIT_MATCH and EXIT_NO_MATCH.
41225
41226         * build-aux/useless-if-before-free: Close stdout carefully.
41227
41228 2008-02-10  Bruno Haible  <bruno@clisp.org>
41229
41230         New module 'git-merge-changelog'.
41231         * modules/git-merge-changelog: New file.
41232         * lib/git-merge-changelog.c: New file.
41233
41234 2008-02-10  Jim Meyering  <meyering@redhat.com>
41235
41236         useless-if-before-free: New option: --list (-l).
41237
41238         useless-if-before-free: Don't exit immediately upon open failure.
41239         * build-aux/useless-if-before-free: Exit 2 for errors.
41240         Upon failure to open a file, don't exit immediately.
41241         Rather, just warn and continue with any remaining files.
41242
41243 2008-02-10  Bruno Haible  <bruno@clisp.org>
41244
41245         New abstract list operation 'node_set_value'.
41246         * lib/gl_list.h (gl_list_node_set_value): New function.
41247         (struct gl_list_implementation): New field node_set_value.
41248         * lib/gl_list.c (gl_list_node_set_value): New function.
41249         * lib/gl_array_list.c (gl_array_node_set_value): New function.
41250         (gl_array_list_implementation): Update.
41251         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
41252         (gl_carray_list_implementation): Update.
41253         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
41254         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
41255         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
41256         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
41257         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
41258         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
41259         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
41260         Update.
41261         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
41262         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
41263         (gl_sublist_list_implementation): Update.
41264
41265 2008-02-10  Bruno Haible  <bruno@clisp.org>
41266
41267         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
41268         Needed when ELEMENT is #defined to 'some_type *'.
41269
41270 2008-02-10  Jim Meyering  <meyering@redhat.com>
41271
41272         New script and module: useless-if-before-free
41273         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
41274         * build-aux/useless-if-before-free: New file.
41275         * modules/useless-if-before-free: New file.
41276
41277         * build-aux/gitlog-to-changelog: Use committer date, not author date.
41278
41279         xstrtol_error: Fix typo.
41280         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
41281         s/exit_failure/exit_status/.
41282
41283 2008-02-09  Jim Meyering  <meyering@redhat.com>
41284
41285         New script and module: gitlog-to-changelog
41286         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
41287         * modules/gitlog-to-changelog: New file.
41288         * build-aux/gitlog-to-changelog: New file.
41289
41290 2008-02-08  Jim Meyering  <meyering@redhat.com>
41291
41292         Avoid two "parameter unused" warnings.
41293         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
41294         Mark "st" as used.
41295
41296         Use "git COMMAND", not "git-COMMAND".
41297         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
41298         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
41299         * build-aux/git-version-gen: Use "git status", not "git-status".
41300
41301 2008-02-07  Bruno Haible  <bruno@clisp.org>
41302
41303         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
41304         Avoids a crash on Windows Vista.
41305         Reported by Adam Strzelecki <ono@java.pl> via
41306         Simon Josefsson <simon@josefsson.org>.
41307
41308 2008-02-06  Bruno Haible  <bruno@clisp.org>
41309
41310         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
41311         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
41312         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
41313         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
41314         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
41315         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
41316         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
41317         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
41318         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
41319         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
41320         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
41321         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
41322         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
41323         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
41324         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
41325         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
41326         left-adjust flag.
41327         * tests/test-snprintf-posix.h (test_function): Likewise.
41328         * tests/test-sprintf-posix.h (test_function): Likewise.
41329         * tests/test-vasprintf-posix.c (test_function): Likewise.
41330         * doc/posix-functions/fprintf.texi: Update.
41331         * doc/posix-functions/printf.texi: Update.
41332         * doc/posix-functions/snprintf.texi: Update.
41333         * doc/posix-functions/sprintf.texi: Update.
41334         * doc/posix-functions/vfprintf.texi: Update.
41335         * doc/posix-functions/vprintf.texi: Update.
41336         * doc/posix-functions/vsnprintf.texi: Update.
41337         * doc/posix-functions/vsprintf.texi: Update.
41338         Reported by Peter Fales <psfales@alcatel-lucent.com>.
41339
41340 2008-02-06  Bruno Haible  <bruno@clisp.org>
41341
41342         Fix bug introduced on 2008-01-26.
41343         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
41344
41345 2008-02-06  Bruno Haible  <bruno@clisp.org>
41346
41347         Fix bug introduced on 2007-06-10.
41348         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
41349         !NEED_PRINTF_FLAG_ZERO.
41350
41351 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
41352
41353         getloadavg: use libperfstat on AIX5
41354         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
41355
41356 2008-02-03  Bruno Haible  <bruno@clisp.org>
41357
41358         * lib/diffseq.h: Add comments about required #includes.
41359         Reported by Michael Biggs <gnulib@doubleplum.net>.
41360
41361 2008-02-01  Bruno Haible  <bruno@clisp.org>
41362
41363         * users.txt: Add gnuit.
41364
41365 2008-01-31  Bruno Haible  <bruno@clisp.org>
41366
41367         * lib/md4.c (set_uint32): Mark as inline.
41368         * lib/md5.c (set_uint32): Likewise.
41369         * lib/sha1.c (set_uint32): Likewise.
41370         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
41371         * m4/md5.m4 (gl_MD5): Likewise.
41372         * m4/sha1.m4 (gl_SHA1): Likewise.
41373
41374 2008-01-31  Jim Meyering  <meyering@redhat.com>
41375
41376         Use "sizeof VAR", rather than a literal "4".
41377         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
41378         * lib/md4.c (md4_read_ctx): Likewise.
41379         * lib/sha1.c (sha1_read_ctx): Likewise.
41380
41381 2008-01-31  Simon Josefsson  <simon@josefsson.org>
41382
41383         * tests/test-sha1.c: New file, based on test-md5.c.
41384
41385         * modules/crypto/sha1-tests: New file.
41386
41387 2008-01-31  Simon Josefsson  <simon@josefsson.org>
41388
41389         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
41390
41391 2008-01-31  Jim Meyering  <meyering@redhat.com>
41392
41393         Prefer "sizeof v" over the equivalent "4".
41394         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
41395         * lib/md5.c (set_uint32): Likewise.
41396         * lib/sha1.c (set_uint32): Likewise.
41397
41398 2008-01-31  Simon Josefsson  <simon@josefsson.org>
41399
41400         * lib/sha1.c (set_uint32): Mark function as static.
41401
41402 2008-01-31  Simon Josefsson  <simon@josefsson.org>
41403
41404         md2: clarify comments to say that alignment is not required.
41405         * lib/md2.h: Remove warning about alignment in comment.
41406         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
41407         never been required.
41408
41409 2008-01-31  Simon Josefsson  <simon@josefsson.org>
41410
41411         md4: adapt alignment constraint fix from sha1.
41412         * lib/md4.c (set_uint32): New function, from sha1.c
41413         (md4_read_ctx): Use it.
41414         (md4_finish_ctx): Doc fix.
41415         * lib/md4.h: Doc fix.
41416
41417 2008-01-31  Simon Josefsson  <simon@josefsson.org>
41418
41419         md5: adapt alignment constraint fix from sha1.
41420         * lib/md5.c (set_uint32): New function, from sha1.c
41421         (md5_read_ctx): Use it.
41422         (md5_finish_ctx): Doc fix.
41423         * lib/md5.h: Doc fix.
41424
41425 2008-01-30  Peter Palfrader  <weasel@debian.org>
41426
41427         sha1: remove the result buffer alignment constraint
41428         * lib/sha1.c (set_uint32): New function.
41429         (sha1_read_ctx): Rewrite to remove the result buffer alignment
41430         constraint.
41431         (sha1_finish_ctx): Remove comment warning about alignment constraint.
41432         * lib/sha1.h: Likewise.
41433
41434 2008-01-30  Andreas Schwab  <schwab@suse.de>
41435             Bruno Haible  <bruno@clisp.org>
41436
41437         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
41438         correct definition of LDBL_MIN_EXP.
41439
41440 2008-01-30  Karl Berry  <karl@gnu.org>
41441
41442         * config/srclist-update: try to preserve x bit on updates.
41443         * config/srclistvars.sh: update for karl.
41444
41445 2008-01-29  Jim Meyering  <meyering@redhat.com>
41446
41447         vasnprintf.c: Avoid warning about unused label
41448         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
41449         "overflow" label definition and associated code with the
41450         same cpp condition that guards the sole use of that label.
41451
41452 2008-01-26  Bruno Haible  <bruno@clisp.org>
41453
41454         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
41455         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
41456         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
41457         * lib/isnanl-nolibm.h (isnanl): Likewise.
41458         Reported by Paul Eggert <eggert@cs.ucla.edu>.
41459
41460 2008-01-26  Bruno Haible  <bruno@clisp.org>
41461
41462         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
41463         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
41464
41465 2008-01-26  Bruno Haible  <bruno@clisp.org>
41466
41467         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
41468         GCC >= 4.0 built-in.
41469         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
41470
41471 2008-01-26  Bruno Haible  <bruno@clisp.org>
41472
41473         Rename isnan, applicable to 'double' only, to isnand.
41474         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
41475         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
41476         (configure.ac): Update.
41477         (Include): Replace "isnan.h" with "isnand.h".
41478         * m4/isnand.m4: Renamed from m4/isnan.m4.
41479         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
41480         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
41481         instead of isnan.c.
41482         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
41483         instead of HAVE_ISNAN_IN_LIBC.
41484         (isnand): Renamed from isnan.
41485         * lib/isnand.c: New file.
41486         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
41487         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
41488         (Makefile.am): Update.
41489         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
41490         Include isnand.h instead of isnan.h.
41491         (main): Test isnand instead of isnan.
41492         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
41493         isnan-nolibm.
41494         * modules/frexp (Depends-on): Likewise.
41495         * modules/frexp-tests (Depends-on): Likewise.
41496         * modules/frexp-nolibm (Depends-on): Likewise.
41497         * modules/frexp-nolibm-tests (Depends-on): Likewise.
41498         * modules/isfinite (Depends-on): Likewise.
41499         * modules/round-tests (Depends-on): Likewise.
41500         * modules/signbit (Depends-on): Likewise.
41501         * modules/signbit-tests (Depends-on): Likewise.
41502         * modules/snprintf-posix (Depends-on): Likewise.
41503         * modules/sprintf-posix (Depends-on): Likewise.
41504         * modules/trunc-tests (Depends-on): Likewise.
41505         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
41506         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
41507         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
41508         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
41509         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
41510         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
41511         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
41512         * modules/vasnprintf-posix (Depends-on): Likewise.
41513         * modules/vasprintf-posix (Depends-on): Likewise.
41514         * modules/vfprintf-posix (Depends-on): Likewise.
41515         * modules/vsnprintf-posix (Depends-on): Likewise.
41516         * modules/vsprintf-posix (Depends-on): Likewise.
41517         * lib/frexp.c: Include isnand.h instead of isnan.h.
41518         (ISNAN): Set to isnand instead of isnan.
41519         * lib/isfinite.c: Include isnand.h instead of isnan.h.
41520         (gl_isfinited): Use isnand instead of isnan.
41521         * lib/signbitd.c: Include isnand.h instead of isnan.h.
41522         (gl_signbitd): Use isnand instead of isnan.
41523         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
41524         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
41525         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
41526         (main): Use isnand instead of isnan.
41527         * tests/test-round1.c: Include isnand.h.
41528         (main): Use isnand instead of isnan.
41529         * tests/test-round2.c: Include isnand.h instead of isnan.h.
41530         (ISNAN): Set to isnand instead of isnan.
41531         * tests/test-trunc1.c: Include isnand.h.
41532         (main): Use isnand instead of isnan.
41533         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
41534         (equal): Use isnand instead of isnan.
41535         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
41536         isnand-nolibm.
41537         * NEWS: Mention the change.
41538
41539 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
41540             Bruno Haible  <bruno@clisp.org>
41541
41542         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
41543         the GCC builtins for signbits are present and set
41544         REPLACE_SIGNBIT_USING_GCC if so.
41545         * lib/math.in.h (signbit): Define using GCC builtins if
41546         REPLACE_SIGNBIT_USING_GCC is set.
41547         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
41548         REPLACE_SIGNBIT_USING_GCC.
41549         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
41550
41551 2008-01-25  Jim Meyering  <meyering@redhat.com>
41552
41553         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
41554         * lib/poll.c: Include <config.h>, not "config.h".
41555         * tests/test-getaddrinfo.c: Likewise.
41556
41557 2008-01-25  Simon Josefsson  <simon@josefsson.org>
41558
41559         * modules/sockets-tests: New file.
41560
41561 2008-01-24  Simon Josefsson  <simon@josefsson.org>
41562
41563         * modules/sockets: New module, can be used to call WSA_Startup and
41564         WSA_Cleanup when needed.
41565
41566         * lib/sockets.h, lib/sockets.c: New files.
41567
41568         * m4/sockets.m4: New file.
41569
41570         * tests/test-sockets.c: New file.
41571
41572 2008-01-19  Bruno Haible  <bruno@clisp.org>
41573
41574         * doc/posix-headers: Renamed from doc/headers.
41575         * doc/posix-functions: Renamed from doc/functions.
41576         * doc/gnulib.texi: Update.
41577
41578 2008-01-19  Bruno Haible  <bruno@clisp.org>
41579
41580         * doc/glibc-functions/strcasestr.texi: Include contents of
41581         doc/functions/strcasestr.texi, fixing the list of platforms.
41582         * doc/functions/strcasestr.texi: Remove file.
41583
41584 2008-01-19  Bruno Haible  <bruno@clisp.org>
41585
41586         * doc/glibc-functions/memmem.texi: Include contents of
41587         doc/functions/memmem.texi.
41588         * doc/functions/memmem.texi: Remove file.
41589
41590 2008-01-18  Bruno Haible  <bruno@clisp.org>
41591
41592         * doc/glibc-functions/*.texi: New files.
41593         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
41594         to use the new files.
41595
41596 2008-01-17  Bruno Haible  <bruno@clisp.org>
41597
41598         * tests/test-gethostname.c (main): Fix printf statement.
41599
41600 2008-01-17  Simon Josefsson  <simon@josefsson.org>
41601
41602         * modules/gethostname-tests: New file.
41603
41604         * tests/test-gethostname.c: New file.
41605
41606 2008-01-17  Simon Josefsson  <simon@josefsson.org>
41607
41608         * lib/gethostname.c: Include string.h unconditionally, strncpy is
41609         used by the UNAME case.  Reported by Bruno Haible
41610         <bruno@clisp.org>.
41611
41612 2008-01-17  Eric Blake  <ebb9@byu.net>
41613
41614         Convert c-strcasestr to be more efficient.
41615         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
41616         (Depends-on): Add c-strcase, remove malloca, strnlen.
41617         * tests/test-c-strcasestr.c (main): Enhance test.
41618         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
41619
41620 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
41621
41622         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
41623         Use it in creating po/Makevars.
41624
41625 2008-01-15  Simon Josefsson  <simon@josefsson.org>
41626
41627         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
41628         Applications that requires it should initialize libgcrypt
41629         manually.
41630
41631 2008-01-16  Simon Josefsson  <simon@josefsson.org>
41632
41633         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
41634
41635 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
41636
41637         Fix problem with getdate on mingw32 reported by Simon Josefsson
41638         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
41639         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
41640         tzname", when deciding whether to declare tzname.
41641         * lib/strftime.c (tzname): Likewise.
41642
41643 2008-01-15  Bruno Haible  <bruno@clisp.org>
41644
41645         Work around a MacOS X 10.5 bug in frexpl().
41646         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
41647         * doc/functions/frexpl.texi: Document the bug.
41648         Reported by Elias Pipping <pipping@gentoo.org>.
41649
41650 2008-01-14  Eric Blake  <ebb9@byu.net>
41651
41652         Touch up previous patch.
41653         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
41654         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
41655
41656         Convert strcasestr module to use Two-Way algorithm.
41657         * modules/strcasestr-simple: New module, based on the old
41658         strcasestr, but with Two-Way rather than KMP.
41659         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
41660         * lib/string.in.h (rpl_strcasestr): Declare.
41661         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
41662         performance.
41663         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
41664         * modules/string (Makefile.am): Support strcasestr.
41665         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
41666         * modules/strcasestr-tests (Depends-on): Check for alarm.
41667         * tests/test-strcasestr.c: Augment test.
41668         * lib/str-two-way.h: Clean up stray macro.
41669         * NEWS: Document new module.
41670         * MODULES.html.sh (string handling): Likewise.
41671         * doc/functions/strcasestr.texi: New file.
41672         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
41673         here, since it is not a POSIX function.
41674
41675 2008-01-14  Colin Watson  <cjwatson@debian.org>
41676             Bruno Haible  <bruno@clisp.org>
41677
41678         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
41679         works fine; if not, set REPLACE_STRSIGNAL.
41680         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
41681         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
41682         REPLACE_STRSIGNAL.
41683         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
41684         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
41685         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
41686
41687 2008-01-14  Bruno Haible  <bruno@clisp.org>
41688
41689         * modules/strsignal (Include): Change to <string.h>.
41690
41691 2008-01-14  Colin Watson  <cjwatson@debian.org>
41692
41693         * modules/argp (Notice): Add a notice recommending to change
41694         XGETTEXT_OPTIONS.
41695         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
41696
41697 2008-01-13  Colin Watson  <cjwatson@debian.org>
41698
41699         * modules/strsignal-tests: New file.
41700         * tests/test-strsignal.c: New file.
41701
41702         * lib/strsignal.c: New file, from glibc with modifications.
41703         * lib/siglist.h: New file, from glibc with modifications.
41704         * lib/string.in.h (strsignal): New declaration.
41705         * m4/strsignal.m4: New file.
41706         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
41707         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
41708         * modules/strsignal: New file.
41709         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
41710         HAVE_DECL_STRSIGNAL.
41711
41712 2008-01-13  Bruno Haible  <bruno@clisp.org>
41713
41714         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
41715         locale encoding is not ASCII. Needed for OpenBSD 4.0.
41716         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
41717         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
41718
41719 2008-01-13  Bruno Haible  <bruno@clisp.org>
41720
41721         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
41722         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
41723         * lib/argp.h (__attribute__): Likewise.
41724         * lib/c-stack.c (__attribute__): Likewise.
41725         * lib/error.h (__attribute__): Likewise.
41726         * lib/fts.c (__attribute__): Likewise.
41727         * lib/openat.h (__attribute__): Likewise.
41728         * lib/stdio.in.h (__attribute__): Likewise.
41729         * lib/string.in.h (__attribute__): Likewise.
41730         * lib/utimens.c (__attribute__): Likewise.
41731         * lib/vasnprintf.h (__attribute__): Likewise.
41732         * lib/xalloc.h (__attribute__): Likewise.
41733         * lib/xprintf.h (__attribute__): Likewise.
41734         * lib/xstrtol.h (__attribute__): Likewise.
41735         * lib/xvasprintf.h (__attribute__): Likewise.
41736
41737 2008-01-12  Bruno Haible  <bruno@clisp.org>
41738
41739         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
41740         * doc/glibc-headers/a.out.texi: New file.
41741         * doc/glibc-headers/aliases.texi: New file.
41742         * doc/glibc-headers/alloca.texi: New file.
41743         * doc/glibc-headers/ar.texi: New file.
41744         * doc/glibc-headers/argp.texi: New file.
41745         * doc/glibc-headers/argz.texi: New file.
41746         * doc/glibc-headers/byteswap.texi: New file.
41747         * doc/glibc-headers/crypt.texi: New file.
41748         * doc/glibc-headers/endian.texi: New file.
41749         * doc/glibc-headers/envz.texi: New file.
41750         * doc/glibc-headers/err.texi: New file.
41751         * doc/glibc-headers/error.texi: New file.
41752         * doc/glibc-headers/execinfo.texi: New file.
41753         * doc/glibc-headers/fpu_control.texi: New file.
41754         * doc/glibc-headers/fstab.texi: New file.
41755         * doc/glibc-headers/fts.texi: New file.
41756         * doc/glibc-headers/getopt.texi: New file.
41757         * doc/glibc-headers/ieee754.texi: New file.
41758         * doc/glibc-headers/ifaddrs.texi: New file.
41759         * doc/glibc-headers/libintl.texi: New file.
41760         * doc/glibc-headers/mcheck.texi: New file.
41761         * doc/glibc-headers/mntent.texi: New file.
41762         * doc/glibc-headers/obstack.texi: New file.
41763         * doc/glibc-headers/paths.texi: New file.
41764         * doc/glibc-headers/printf.texi: New file.
41765         * doc/glibc-headers/pty.texi: New file.
41766         * doc/glibc-headers/resolv.texi: New file.
41767         * doc/glibc-headers/shadow.texi: New file.
41768         * doc/glibc-headers/sysexits.texi: New file.
41769         * doc/glibc-headers/ttyent.texi: New file.
41770
41771 2008-01-12  Jim Meyering  <meyering@redhat.com>
41772
41773         announce-gen: emit Gnulib's git-based version string.
41774         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
41775         New option --gnulib-version=V, where V is expected to be
41776         the output of running git describe in the gnulib directory.
41777         (get_tool_versions): Request feedback on xdelta.  I suspect it's
41778         not useful, and plan to stop publishing an xdelta file with each
41779         coreutils release.
41780
41781         * build-aux/announce-gen: Also check for lzma-compressed files.
41782
41783 2008-01-11  Bruno Haible  <bruno@clisp.org>
41784
41785         * tests/test-memmem.c (main): Increase maximum allowed time.
41786         * tests/test-strstr.c (main): Likewise.
41787
41788 2008-01-11  Bruno Haible  <bruno@clisp.org>
41789
41790         * doc/functions/memmem.texi: Add more precisions about platforms.
41791         * doc/functions/strstr.texi: Likewise.
41792
41793 2008-01-10  Eric Blake  <ebb9@byu.net>
41794
41795         * m4/strstr.m4: Delete cruft from copy-n-paste.
41796         Reported by Bruno Haible.
41797
41798 2008-01-10  Bruno Haible  <bruno@clisp.org>
41799
41800         Make c-strstr rely on strstr.
41801         * lib/c-strstr.c: Don't include str-kmp.h.
41802         (c_strstr): Define in terms of strstr.
41803         * modules/c-strstr (Files): Remove lib/str-kmp.h.
41804         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
41805
41806 2008-01-10  Bruno Haible  <bruno@clisp.org>
41807
41808         * doc/gnulib.texi (String Functions in C Locale): New section.
41809         * doc/c-ctype.texi: New file.
41810         * doc/c-strcase.texi: New file.
41811         * doc/c-strcaseeq.texi: New file.
41812         * doc/c-strcasestr.texi: New file.
41813         * doc/c-strstr.texi: New file.
41814         * doc/c-strtod.texi: New file.
41815         * doc/c-strtold.texi: New file.
41816
41817 2008-01-10  Eric Blake  <ebb9@byu.net>
41818
41819         * lib/relocatable.h: Fix a comment.
41820
41821 2008-01-10  Eric Blake  <ebb9@byu.net>
41822
41823         Share two-way algorithm.
41824         * lib/str-two-way.h: New file, merged from...
41825         * lib/memmem.c: ...here...
41826         * lib/strstr.c: ...and here.
41827         * modules/memmem (Files): Use it.
41828         * modules/strstr (Files): Likewise.
41829
41830         Avoid quadratic strstr implementations.
41831         * lib/strstr.c: New file.
41832         * m4/strstr.m4: Likewise.
41833         * modules/strstr: Likewise.
41834         * modules/strstr-tests: Likewise.
41835         * tests/test-strstr.c: Likewise.
41836         * lib/string.in.h (rpl_strstr): Declare.
41837         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
41838         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
41839         * modules/string (Makefile.am): Likewise.
41840         * MODULES.html.sh (string handling): Mention new module.
41841         * doc/functions/strstr.texi (strstr): Document the bug.
41842
41843 2008-01-10  Bruno Haible  <bruno@clisp.org>
41844
41845         * lib/relocatable.h (relocate): State whether result is freshly
41846         allocated or not.
41847         * lib/relocatable.c (relocate): Return a freshly allocated string
41848         instead of a pointer to a privately held string.
41849         Reported by Sylvain Beucler <beuc@gnu.org>.
41850
41851 2008-01-10  Colin Watson  <cjwatson@debian.org>
41852
41853         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
41854         s/S_ISNLK/S_ISLNK/.
41855
41856 2008-01-09  Bruno Haible  <bruno@clisp.org>
41857
41858         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
41859         and other files.
41860         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
41861         if it's only a guess.
41862         * modules/memmem: Simplify by depending on memmem-simple.
41863
41864 2008-01-09  Bruno Haible  <bruno@clisp.org>
41865
41866         Work around OpenBSD 4.0 tdelete() bug.
41867         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
41868         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
41869         macros and don't redefine the enum values.
41870         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
41871         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
41872         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
41873
41874 2008-01-09  Bruno Haible  <bruno@clisp.org>
41875
41876         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
41877         (main): Don't perform the tests if setlocale did not install a UTF-8
41878         locale. Needed on OpenBSD 4.0.
41879         * modules/wcwidth-tests (Depends-on): Add localcharset.
41880
41881 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
41882
41883         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
41884         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
41885         * NEWS: announce this.
41886         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
41887
41888 2008-01-09  Simon Josefsson  <simon@josefsson.org>
41889         and Eric Blake  <ebb9@byu.net>
41890
41891         Add memmem-simple module.
41892         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
41893         (gl_FUNC_MEMMEM): Separate performance from presence checks.
41894         * modules/memmem-simple: New file.
41895         * modules/memmem (Description): Tweak.
41896         * MODULES.html.sh (string handling): Mention new module.
41897         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
41898         addressed by memmem-simple.
41899         * NEWS: Document the difference.
41900
41901 2008-01-09  Eric Blake  <ebb9@byu.net>
41902
41903         Give gcc some memmem optimization hints.
41904         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
41905         (strcasestr): Declare as pure.
41906         * modules/memmem (Maintainer): Claim my implementation.
41907
41908 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41909
41910         Support AIX 6.1 and higher.
41911         * build-aux/config.libpath: Likewise.
41912         * build-aux/config.rpath: Likewise.
41913
41914 2008-01-08  Jim Meyering  <meyering@redhat.com>
41915             Bruno Haible  <bruno@clisp.org>
41916
41917         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
41918         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
41919         Reported by Peter Fales in
41920         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
41921
41922 2008-01-08  Bruno Haible  <bruno@clisp.org>
41923
41924         * modules/unictype/category-of (Depends-on): Add
41925         unictype/category-none.
41926         * modules/unictype/category-and-tests (Depends-on): Add
41927         unictype/category-{L,N,Lu,Nd}.
41928         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
41929         * modules/unictype/category-or-tests (Depends-on): Add
41930         unictype/category-{L,N}.
41931         * modules/unictype/category-name-tests (Depends-on): Add
41932         unictype/category-{Z,Nl}.
41933         Reported by Simon Josefsson.
41934
41935 2008-01-08  Bruno Haible  <bruno@clisp.org>
41936
41937         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
41938         convention better.
41939         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
41940         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
41941         Reported by Peter Miller <millerp@canb.auug.org.au>.
41942
41943 2008-01-08  Eric Blake  <ebb9@byu.net>
41944
41945         Rewrite memmem to guarantee linear complexity without malloc.
41946         * lib/memmem.c (memmem): Use Two-Way rather than
41947         Knuth-Morris-Pratt, to allow O(1) space usage.
41948         (critical_factorization, two_way_short_needle)
41949         (two_way_long_needle): New functions.
41950         (knuth_morris_pratt): Delete.
41951         * modules/memmem (Depends-on): No longer need malloca or stdbool.
41952         Add stdint.
41953         * tests/test-memmem.c (main): Add tests for periodic needle and
41954         sublinear performance.
41955         * doc/functions/memmem.texi (memmem): Document other deficiencies
41956         in cygwin and older glibc.
41957
41958 2008-01-08  Bruno Haible  <bruno@clisp.org>
41959
41960         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
41961         augmentation.
41962
41963 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
41964
41965         Add a configure time option: --disable-acl.
41966         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
41967         AC_ARG_ENABLE(acl).
41968
41969 2008-01-06  Simon Josefsson  <simon@josefsson.org>
41970
41971         * tests/test-localename.c: Don't include obsolete "setenv.h".
41972
41973         * modules/localename-tests (Depends-on): Need unsetenv.
41974
41975 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41976
41977         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
41978
41979 2008-01-06  Colin Watson  <cjwatson@debian.org>
41980
41981         * users.txt: Add man-db.
41982
41983 2008-01-07  Bruno Haible  <bruno@clisp.org>
41984
41985         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
41986         previous section name.
41987
41988 2008-01-07  Bruno Haible  <bruno@clisp.org>
41989
41990         * lib/progname.c (set_program_name): Don't strip off a leading
41991         "lt-" prefix outside a .libs directory.
41992         Suggested by Paul Eggert.
41993
41994 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
41995             Bruno Haible  <bruno@clisp.org>
41996
41997         Improve memory cleanup in 'relocatable' module.
41998         * lib/relocatable.h (compute_curr_prefix): Change return type to
41999         'char *'.
42000         * lib/relocatable.c (compute_curr_prefix): Change return type to
42001         'char *'. Free curr_installdir after use.
42002         (relocate): Free curr_prefix_better after use.
42003         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
42004
42005 2008-01-01  Bruno Haible  <bruno@clisp.org>
42006
42007         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
42008         failure on older glibc systems.
42009         Reported by Peter Fales <psfales@alcatel-lucent.com>.
42010
42011 2008-01-05  Eric Blake  <ebb9@byu.net>
42012
42013         Avoid quadratic system memmem.
42014         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
42015         Reported by Ralf Wildenhues.
42016
42017         Fix memmem test for mingw.
42018         * modules/memmem-tests (configure.ac): Check for alarm.
42019         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
42020         it.
42021         * doc/functions/memmem.texi: New file.
42022         * doc/gnulib.texi (Function Substitutes): Add memmem.
42023         Reported by Bruno Haible.
42024
42025 2008-01-04  Bruno Haible  <bruno@clisp.org>
42026
42027         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
42028         Require gl_HEADER_STRINGS_H_DEFAULTS, not
42029         gl_HEADER_STRING_H_DEFAULTS.
42030
42031 2008-01-04  Eric Blake  <ebb9@byu.net>
42032
42033         Shorten duration of memmem test.
42034         * tests/test-memmem.c (main): Use alarm to declare failure if test
42035         is taking too long.
42036         Reported by Ralf Wildenhues.
42037
42038 2007-12-21  Simon Josefsson  <simon@josefsson.org>
42039
42040         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
42041         string, needed by strerror.
42042
42043 2008-01-03  Colin Watson  <cjwatson@debian.org>
42044             Bruno Haible  <bruno@clisp.org>
42045
42046         * doc/gnulib-tool.texi (Localization): New section.
42047
42048 2008-01-02  Bruno Haible  <bruno@clisp.org>
42049
42050         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
42051         variables to 'unsigned char *' type.
42052         Reported by Paul Eggert.
42053
42054 2008-01-02  Jim Meyering  <jim@meyering.net>
42055
42056         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
42057
42058 2007-12-31  Jim Meyering  <jim@meyering.net>
42059
42060         Avoid use of private FTS type name.
42061         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
42062
42063 2007-12-30  Karl Berry  <karl@gnu.org>
42064
42065         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
42066         work around defect in Texinfo and/or the standalone Info browser.
42067
42068 2007-12-30  Bruno Haible  <bruno@clisp.org>
42069
42070         Unify 5 copies of the KMP code.
42071         * lib/str-kmp.h: New file.
42072         * lib/c-strcasestr.c: Include str-kmp.h.
42073         (knuth_morris_pratt): Remove function.
42074         (c_strcasestr): Update.
42075         * lib/c-strstr.c: Include str-kmp.h.
42076         (knuth_morris_pratt): Remove function.
42077         (c_strcasestr): Update.
42078         * lib/mbscasestr.c: Include str-kmp.h.
42079         (knuth_morris_pratt_unibyte): Remove function.
42080         * lib/mbsstr.c: Include str-kmp.h.
42081         (knuth_morris_pratt_unibyte): Remove function.
42082         * lib/strcasestr.c: Include str-kmp.h.
42083         (knuth_morris_pratt): Remove function.
42084         (strcasestr): Update.
42085         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
42086         * modules/c-strstr (Files): Likewise.
42087         * modules/mbscasestr (Files): Likewise.
42088         * modules/mbsstr (Files): Likewise.
42089         * modules/strcasestr (Files): Likewise.
42090         Suggested by Paul Eggert.
42091
42092 2007-12-30  Bruno Haible  <bruno@clisp.org>
42093
42094         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
42095         defined.
42096
42097 2007-12-30  Bruno Haible  <bruno@clisp.org>
42098
42099         * lib/xmalloca.h: Include xalloc.h.
42100         (xnmalloca): New macro.
42101
42102 2007-12-30  Bruno Haible  <bruno@clisp.org>
42103
42104         * lib/malloca.h (nmalloca): New macro.
42105         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
42106         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
42107         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
42108         knuth_morris_pratt_multibyte): Likewise.
42109         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
42110         knuth_morris_pratt_multibyte): Likewise.
42111         * lib/memmem.c (knuth_morris_pratt): Likewise.
42112         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
42113
42114 2007-12-25  Bruno Haible  <bruno@clisp.org>
42115
42116         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
42117         * lib/glob.c: Don't include openat.h.
42118         (link_exists2_p): Add back the code that deals with the
42119         !GLOB_ALTDIRFUNC case.
42120         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
42121         let it do the filename concatenation.
42122         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
42123         * modules/glob (Depends-on): Remove openat.
42124
42125 2007-12-31  Bruno Haible  <bruno@clisp.org>
42126
42127         * modules/dirfd (License): Change to LGPLv2+.
42128         Approved by Jim Meyering.
42129
42130 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
42131
42132         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
42133         when multiplying M by sizeof (size_t).
42134
42135 2007-12-10  Martin Lambers  <marlam@marlam.de>
42136
42137         Override getpagesize on mingw.
42138         * lib/getpagesize.c: New file.
42139         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
42140         * modules/getpagesize (Files): Add lib/getpagesize.c.
42141         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
42142         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
42143         REPLACE_GETPAGESIZE.
42144         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
42145
42146 2007-12-25  Bruno Haible  <bruno@clisp.org>
42147
42148         * modules/localcharset (Notice): New field.
42149         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
42150         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
42151
42152 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
42153             Bruno Haible  <bruno@clisp.org>
42154
42155         Avoid using the syntax symbol() in formatted documentation.
42156         * MODULES.html.sh (func_module): When replacing symbol() with a
42157         hyperlink, remove the parentheses. Show an error if some remain.
42158         Recognize and render the '...' syntax.
42159         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
42160         Rework. Add paragraph about GCC's inlining.
42161         * doc/alloca.texi: Likewise.
42162         * doc/error.texi: Remove parentheses from symbol reference.
42163         * doc/gnulib-intro.texi: Likewise.
42164         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
42165         * modules/fnmatch (Description): Reword to say "the ... function".
42166         * modules/full-read (Description): Likewise.
42167         * modules/full-write (Description): Likewise.
42168         * modules/safe-read (Description): Likewise.
42169         * modules/safe-write (Description): Likewise.
42170         * modules/strchrnul (Description): Likewise.
42171         * modules/trim (Description): Likewise.
42172         * modules/error (Description): Remove parentheses from symbol
42173         references.
42174         * modules/verror (Description): Likewise.
42175         Reported by Karl Berry.
42176
42177 2007-12-25  Bruno Haible  <bruno@clisp.org>
42178
42179         Fixup after 2007-10-16 commit.
42180         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
42181
42182 2007-12-24  Bruno Haible  <bruno@clisp.org>
42183
42184         Make --enable-relocatable work with DESTDIR.
42185         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
42186         to compute installdir from destprog.
42187         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
42188         also set the RELOC_DESTDIR variable.
42189         Reported by Левашев Иван <octagram@bluebottle.com>.
42190
42191 2007-12-24  Bruno Haible  <bruno@clisp.org>
42192
42193         Fix link error due to xalloc_die().
42194         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
42195         of xreadlink.
42196         * lib/relocwrapper.c: Update comments.
42197         * build-aux/install-reloc: Remove xreadlink.c from file list.
42198         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
42199         xreadlink.c.
42200         Reported by Левашев Иван <octagram@bluebottle.com>.
42201
42202 2007-12-24  Bruno Haible  <bruno@clisp.org>
42203
42204         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
42205         * lib/setenv.h: Remove file.
42206         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
42207         lib/setenv.h.
42208         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
42209         (Depends-on): Add stdlib.
42210         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
42211         gl_FUNC_UNSETENV.
42212         (Include): Replace setenv.h with <stdlib.h>.
42213         * modules/unsetenv: New file.
42214         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
42215         * lib/unsetenv.c: Include <stdlib.h> first.
42216         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
42217         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
42218         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
42219         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
42220         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
42221         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
42222         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
42223         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
42224         * doc/functions/unsetenv.texi: Update.
42225         * modules/xsetenv (Depends-on): Add unsetenv.
42226         * modules/getdate (Depends-on): Likewise.
42227         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
42228         * lib/xsetenv.c: Don't include setenv.h.
42229         * lib/getdate.y: Likewise.
42230         * lib/relocwrapper.c: Likewise.
42231         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
42232         (Depends-on): Add stdlib.
42233         * NEWS: Mention the changes.
42234         Reported by Левашев Иван <octagram@bluebottle.com>.
42235
42236 2007-12-23  Bruno Haible  <bruno@clisp.org>
42237
42238         * lib/memmem.c (memmem): Use lowercase variable names. Tab
42239         indentation.
42240
42241 2007-12-23  Bruno Haible  <bruno@clisp.org>
42242
42243         * lib/c-strcasestr.c: Add more comments.
42244         * lib/c-strstr.c: Likewise.
42245         * lib/mbscasestr.c: Likewise.
42246         * lib/mbsstr.c: Likewise.
42247         * lib/strcasestr.c: Likewise.
42248         * lib/memmem.c: Likewise.
42249
42250 2007-12-23  Bruno Haible  <bruno@clisp.org>
42251
42252         * tests/test-memmem.c: Include <string.h> first.
42253
42254 2007-12-22  Bruno Haible  <bruno@clisp.org>
42255
42256         * gnulib-tool (func_create_testdir): Change $auxdir while generating
42257         the contents of $testsbase.
42258         Reported by Ralf Wildenhues.
42259
42260 2007-12-22  Bruno Haible  <bruno@clisp.org>
42261
42262         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
42263         two variables local_ldadd_before, local_ldadd_last.
42264
42265 2007-12-20  Eric Blake  <ebb9@byu.net>
42266
42267         Work around circular library issue when cross-compiling.
42268         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
42269         that progname.o does not need to pull in rpl_memcmp.
42270
42271 2007-12-19  Eric Blake  <ebb9@byu.net>
42272
42273         Fix memmem to avoid O(n^2) worst-case complexity.
42274         * lib/memmem.c (knuth_morris_pratt): New function.
42275         (memmem): Use it if first few naive iterations fail.
42276         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
42277         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
42278         * modules/memchr (License): Likewise.
42279         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
42280         malloca.
42281         * tests/test-memmem.c: Rewrite, borrowing ideas from
42282         test-mbsstr1.c; the old version wouldn't even compile!
42283         * modules/memmem-tests: New file.
42284         * lib/string.in.h (rpl_memmem): Add declaration.
42285         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
42286         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
42287         REPLACE_MEMMEM.
42288
42289 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
42290
42291         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
42292         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
42293         before any system include files, and undef after them all.  This
42294         should fix a problem on VMS reported by John E. Malmberg in
42295         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
42296
42297 2007-12-17  Eric Blake  <ebb9@byu.net>
42298
42299         Revert addition of verify, for BSD/OS.
42300         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
42301         can't handle large files, for the sake of obsolete platforms.
42302         * modules/fseeko (Depends-on): Remove verify.
42303         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
42304         * doc/functions/ftello.texi (ftello): Likewise.
42305         * doc/functions/fgetpos.texi (fgetpos): Likewise.
42306         Reported by Larry Jones.
42307
42308 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
42309
42310         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
42311         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
42312
42313 2007-12-17  Jim Meyering  <meyering@redhat.com>
42314
42315         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
42316         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
42317         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
42318         * modules/getcwd (Depends-on): Add openat.
42319         Reported by Petr Salinger.
42320
42321 2007-12-17  Bruno Haible  <bruno@clisp.org>
42322
42323         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
42324         avoid a segmentation fault of the configure test on x86_64 systems.
42325
42326 2007-12-15  Jim Meyering  <meyering@redhat.com>
42327
42328         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
42329
42330 2007-12-13  Eric Blake  <ebb9@byu.net>
42331
42332         Another fseek test.
42333         * tests/test-fseek.c (main): Also test ungetc handling.
42334         * tests/test-fseeko.c (main): Likewise.
42335         * modules/fseeko (Depends-on): Add verify.
42336         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
42337         large.
42338         Reported by Larry Jones.
42339
42340         Fix fseeko on mingw.
42341         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
42342         seek.
42343
42344         Beef up fseek tests.
42345         * tests/test-fseek.c (main): Also test eof handling.
42346         * tests/test-fseeko.c (main): Likewise.
42347         Reported by Larry Jones.
42348
42349 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
42350
42351         Fix fseeko on BSD-based platforms.
42352         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
42353         successful seek.
42354
42355 2007-12-12  Eric Blake  <ebb9@byu.net>
42356
42357         Allow circular dependency of separate libtests.a
42358         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
42359         when use_libtests.
42360
42361 2007-12-11  Eric Blake  <ebb9@byu.net>
42362
42363         Fix bug with -0.0L in previous patch.
42364         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
42365         * tests/test-isnan.c (main): Also test on zeroes.
42366         * tests/test-isnanf.c (main): Likewise.
42367         * tests/test-isnanl.h (main): Likewise.
42368
42369         Detect pseudo-denormals on x86 even when cross-compiling.
42370         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
42371         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
42372         invalid bit patterns that happen to satisfy ==.
42373
42374         Avoid link failures with separate libtests.a.
42375         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
42376         last, to satisfy circular dependencies.
42377
42378 2007-12-11  Eric Blake  <ebb9@byu.net>
42379         and Bruno Haible  <bruno@clisp.org>
42380
42381         Fix OpenBSD 4.0 <float.h> handling of long double.
42382         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
42383         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
42384         * doc/headers/float.texi (float.h): Document OpenBSD bug.
42385
42386 2007-12-11  Jim Meyering  <meyering@redhat.com>
42387
42388         * users.txt: Add libvirt.
42389
42390         Support versions of autoconf prior to 2.59c.
42391         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
42392         if it is not already defined.
42393
42394 2007-12-09  Bruno Haible  <bruno@clisp.org>
42395
42396         Let 'gnulib-tool --import' collect sources needed for the tests in
42397         tests/ rather than in lib/.
42398         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
42399         argument. If true, add rules to generate libtests.a, and put libtests.a
42400         into $(LDADD). Consider source files in subdirectories and set
42401         uses_subdirs.
42402         (func_emit_initmacro_start, func_emit_initmacro_end,
42403         func_emit_initmacro_done): Pass all arguments explicitly.
42404         (func_import): Determine two module lists main_modules,
42405         testsrelated_modules. Determine use_libtests. Determine two variables
42406         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
42407         instead of just sed_transform_lib_file. Determine two variables
42408         main_files and testsrelated_files. Compute 'files' as the union of
42409         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
42410         func_add_or_update. In the generated gnulib-comp.m4, collect the
42411         object files for tests/ in different variables than those for lib/.
42412         Substitute LIBTESTS_LIBDEPS.
42413         (func_create_testdir): Combine the uses_subdirs results from
42414         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
42415
42416 2007-12-09  Bruno Haible  <bruno@clisp.org>
42417
42418         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
42419         the build-aux directory.
42420
42421 2007-12-09  Bruno Haible  <bruno@clisp.org>
42422
42423         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
42424         introduced on 2006-09-09.
42425
42426 2007-12-07  Jim Meyering  <meyering@redhat.com>
42427
42428         Let these macros work also with autoconf-2.59.
42429         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
42430         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
42431         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
42432
42433 2007-12-06  Jim Meyering  <meyering@redhat.com>
42434
42435         Avoid a configure-time syntax error in gl_FUNC_ACL.
42436         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
42437         function in each branch, before testing the cache variable.
42438
42439 2007-12-04  Eric Blake  <ebb9@byu.net>
42440
42441         Make scripts executable.
42442         * build-aux/config.guess: Add execute permissions.
42443         * build-aux/config.sub: Likewise.
42444         * build-aux/gendocs.sh: Likewise.
42445
42446         Fix frexp on mingw.
42447         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
42448         cross-compiling.
42449         * doc/functions/frexp.texi (frexp): Document the bug.
42450
42451         Make cygwin fseeko check more reliable.
42452         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
42453         version numbers, rather than unrelated feature check.
42454         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
42455         * doc/functions/ftello.texi (ftello): Likewise.
42456         Reported by Bruno Haible.
42457
42458         * m4/strerror.m4: Bump version number.
42459
42460 2007-12-03  Bruno Haible  <bruno@clisp.org>
42461
42462         * doc/functions/mprotect.texi: Mention the mingw problem.
42463
42464 2007-12-03  Eric Blake  <ebb9@byu.net>
42465
42466         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
42467         REPLACE_STRERROR is initialized before this macro.
42468
42469 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
42470
42471         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
42472         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
42473         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
42474         put -lsec in even for programs other than 'ls'.  This fixes a problem
42475         for gettext reported by Bruno Haible in
42476         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
42477         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
42478         Add support for Solaris 10.  This isn't efficient, but should get the
42479         job done for now.
42480
42481 2007-12-03  James Youngman  <jay@gnu.org>
42482
42483         * doc/regexprops-generic.texi: change "an close-group" to "a
42484         close-group" and "illegal" to "not allowed".
42485
42486 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42487
42488         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
42489         pr_byname.h. Needed for the rare case when the maintainer has done
42490         "make maintainer-clean" in the source directory and then attempts a
42491         build outside the source directory.
42492         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
42493         scripts_byname.h.
42494
42495 2007-12-02  Martin Lambers <marlam@marlam.de>
42496             Bruno Haible  <bruno@clisp.org>
42497
42498         * lib/getpagesize.h: Remove file.
42499         * lib/unistd.in.h: Include declaration of getpagesize here.
42500         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
42501         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
42502         HAVE_SYS_PARAM_H.
42503         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
42504         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
42505         * modules/getpagesize (Files): Remove lib/getpagesize.h.
42506         (Depends-on): Add unistd.
42507         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
42508         (Include): Use <unistd.h> instead of getpagesize.h.
42509         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
42510         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
42511         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
42512         gl_GETPAGESIZE invocation, already handled by module dependency.
42513         * lib/pagealign_alloc.c: Don't include getpagesize.h.
42514
42515 2007-12-02  Bruno Haible  <bruno@clisp.org>
42516
42517         * modules/strings-tests: New file.
42518         * tests/test-strings.c: New file.
42519
42520         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
42521         * lib/strings.in.h: New file.
42522         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
42523         * m4/strings_h.m4: New file.
42524         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
42525         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
42526         * modules/strings: New file.
42527         * modules/string (Makefile.am): Update.
42528         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
42529         Reported by Karl Berry.
42530
42531 2007-12-01  Eric Blake  <ebb9@byu.net>
42532
42533         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
42534         accomodate fix in cygwin 1.5.25.
42535
42536 2007-12-01  Jim Meyering  <meyering@redhat.com>
42537
42538         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
42539         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
42540         that would inhibit utf8-optimization of a regexp containing line-
42541         or buffer-anchors, e.g., `^', `$'.
42542
42543 2007-11-30  Bruno Haible  <bruno@clisp.org>
42544
42545         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
42546         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
42547         glthread_recursive_lock_init.
42548         * lib/lock.c (glthread_recursive_lock_init)
42549         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
42550         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
42551
42552 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
42553
42554         New function qset_acl, like set_acl but with syscall semantics.
42555         * lib/acl.h (qset_acl): New decl.
42556         * lib/acl.c (qset_acl): New function.
42557         (set_acl): Use new function.  Use more-consistent diagnostics.
42558
42559 2007-11-28  Jim Meyering  <meyering@redhat.com>
42560
42561         * modules/physmem (License): Change from GPL to LGPLv2+.
42562
42563 2007-11-26  Bruno Haible  <bruno@clisp.org>
42564
42565         * lib/vasnprintf.c (decode_long_double): Don't abort if the
42566         'long double' type has excess precision.
42567         Reported by Jim Meyering in
42568         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
42569
42570 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42571
42572         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
42573         Sync from <http://gnu.org/licenses>.
42574         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
42575         with license text from same location.
42576         * doc/maintain.texi, doc/standards.texi:  Sync from
42577         <http://savannah.gnu.org/projects/gnustandards>.
42578
42579 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
42580         and Jim Meyering  <meyering@redhat.com>
42581
42582         Adjust getdate' grammar to accept a slightly more regular language.
42583         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
42584         Before, the former was rejected.
42585         * lib/getdate.y (digits_to_date_time): New function, factored
42586         out of ...
42587         (number): ...here.  Just call digits_to_date_time.
42588         (hybrid): New non-terminal to handle an <unsigned number,
42589         signed relative offset> sequence consistently.
42590
42591 2007-11-18  Jim Meyering  <meyering@redhat.com>
42592
42593         Pull my changes from coreutils:
42594         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
42595         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
42596         use of $gnulib_tool_option_extras, so that it's separated from the
42597         preceding argument.
42598
42599         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
42600         * build-aux/bootstrap (cp_mark_as_generated): Create any required
42601         parent destination directories before copying a file into place.
42602
42603 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
42604
42605         bootstrap: work also with 4-argument variant of AC_INIT
42606         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
42607
42608 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
42609
42610         Port test-getaddrinfo to Solaris.
42611         Problem reported by Bruno Haible in
42612         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
42613         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
42614         explanation of setting 'hints'.
42615         Don't reject an implementation merely because it returns EAI_SERVICE.
42616         (EAI_SERVICE): Define to 0 if not defined.
42617
42618 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
42619
42620         The license of gnu-make and posix-shell is now "GPLed build tool".
42621         * modules/gnu-make (License): Likewise.
42622         * modules/posix-shell (License): Likewise.
42623
42624         New module posix-shell, for determining a POSIX shell
42625         or perhaps something that is close enough to a POSIX shell.
42626         * m4/posix-shell.m4: New file.
42627         * modules/posix-shell: New file.
42628
42629         * MODULES.html.sh: Mention new module.
42630
42631         New module gnu-make, for determining whether we're using GNU Make.
42632         * m4/gnu-make.m4: New file.
42633         * modules/gnu-make: New file.
42634         * MODULES.html.sh: Mention new module.
42635
42636 2007-11-14  Jim Meyering  <meyering@redhat.com>
42637
42638         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
42639         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
42640         use this macro to create a function _definition_.
42641         Remove useless "#undef ARGMATCH_DIE".
42642
42643 2007-11-14  Bruno Haible  <bruno@clisp.org>
42644
42645         * lib/config.charset: Update for OpenBSD 4.1.
42646         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
42647
42648 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
42649
42650         Document 64-bit #if problems in stdint.texi.
42651         * doc/headers/stdint.texi (stdint.h): Mention problems with
42652         64-bit-#if, and how to work around them.
42653
42654         Don't insist on 'long long int' support in the preprocessor.  It
42655         breaks too many things.  For example, PRIdMAX still uses a 'long
42656         long int' format with the latest Sun compiler, even though
42657         HAVE_LONG_LONG_INT isn't defined due to that compiler's
42658         preprocessor problem.  This causes the latest coreutils to dump
42659         core on Solaris 10 sparc with the Sun C compiler.
42660         Instead, fix the 2007-10-16 problem in a different way, by evaluating
42661         the troublesome expressions at configure-time, not at #if-time.
42662         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
42663         preprocessor.
42664         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
42665         compile-time C checks, done at 'configure'-time.
42666         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
42667         * modules/inttypes (Makefile): Substitute the new symbols that
42668         gl_INTTYPES_H now generates.
42669         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
42670
42671 2007-11-12  Bruno Haible  <bruno@clisp.org>
42672
42673         Tests for Unicode character classification functions.
42674
42675         * modules/unictype/bidicategory-byname-tests: New file.
42676         * modules/unictype/bidicategory-name-tests: New file.
42677         * modules/unictype/bidicategory-of-tests: New file.
42678         * modules/unictype/bidicategory-test-tests: New file.
42679         * modules/unictype/block-list-tests: New file.
42680         * modules/unictype/block-of-tests: New file.
42681         * modules/unictype/block-test-tests: New file.
42682         * modules/unictype/category-C-tests: New file.
42683         * modules/unictype/category-Cc-tests: New file.
42684         * modules/unictype/category-Cf-tests: New file.
42685         * modules/unictype/category-Cn-tests: New file.
42686         * modules/unictype/category-Co-tests: New file.
42687         * modules/unictype/category-Cs-tests: New file.
42688         * modules/unictype/category-L-tests: New file.
42689         * modules/unictype/category-Ll-tests: New file.
42690         * modules/unictype/category-Lm-tests: New file.
42691         * modules/unictype/category-Lo-tests: New file.
42692         * modules/unictype/category-Lt-tests: New file.
42693         * modules/unictype/category-Lu-tests: New file.
42694         * modules/unictype/category-M-tests: New file.
42695         * modules/unictype/category-Mc-tests: New file.
42696         * modules/unictype/category-Me-tests: New file.
42697         * modules/unictype/category-Mn-tests: New file.
42698         * modules/unictype/category-N-tests: New file.
42699         * modules/unictype/category-Nd-tests: New file.
42700         * modules/unictype/category-Nl-tests: New file.
42701         * modules/unictype/category-No-tests: New file.
42702         * modules/unictype/category-P-tests: New file.
42703         * modules/unictype/category-Pc-tests: New file.
42704         * modules/unictype/category-Pd-tests: New file.
42705         * modules/unictype/category-Pe-tests: New file.
42706         * modules/unictype/category-Pf-tests: New file.
42707         * modules/unictype/category-Pi-tests: New file.
42708         * modules/unictype/category-Po-tests: New file.
42709         * modules/unictype/category-Ps-tests: New file.
42710         * modules/unictype/category-S-tests: New file.
42711         * modules/unictype/category-Sc-tests: New file.
42712         * modules/unictype/category-Sk-tests: New file.
42713         * modules/unictype/category-Sm-tests: New file.
42714         * modules/unictype/category-So-tests: New file.
42715         * modules/unictype/category-Z-tests: New file.
42716         * modules/unictype/category-Zl-tests: New file.
42717         * modules/unictype/category-Zp-tests: New file.
42718         * modules/unictype/category-Zs-tests: New file.
42719         * modules/unictype/category-and-not-tests: New file.
42720         * modules/unictype/category-and-tests: New file.
42721         * modules/unictype/category-byname-tests: New file.
42722         * modules/unictype/category-name-tests: New file.
42723         * modules/unictype/category-none-tests: New file.
42724         * modules/unictype/category-of-tests: New file.
42725         * modules/unictype/category-or-tests: New file.
42726         * modules/unictype/category-test-withtable-tests: New file.
42727         * modules/unictype/combining-class-tests: New file.
42728         * modules/unictype/ctype-alnum-tests: New file.
42729         * modules/unictype/ctype-alpha-tests: New file.
42730         * modules/unictype/ctype-blank-tests: New file.
42731         * modules/unictype/ctype-cntrl-tests: New file.
42732         * modules/unictype/ctype-digit-tests: New file.
42733         * modules/unictype/ctype-graph-tests: New file.
42734         * modules/unictype/ctype-lower-tests: New file.
42735         * modules/unictype/ctype-print-tests: New file.
42736         * modules/unictype/ctype-punct-tests: New file.
42737         * modules/unictype/ctype-space-tests: New file.
42738         * modules/unictype/ctype-upper-tests: New file.
42739         * modules/unictype/ctype-xdigit-tests: New file.
42740         * modules/unictype/decimal-digit-tests: New file.
42741         * modules/unictype/digit-tests: New file.
42742         * modules/unictype/mirror-tests: New file.
42743         * modules/unictype/numeric-tests: New file.
42744         * modules/unictype/property-alphabetic-tests: New file.
42745         * modules/unictype/property-ascii-hex-digit-tests: New file.
42746         * modules/unictype/property-bidi-arabic-digit-tests: New file.
42747         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
42748         * modules/unictype/property-bidi-block-separator-tests: New file.
42749         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
42750         * modules/unictype/property-bidi-common-separator-tests: New file.
42751         * modules/unictype/property-bidi-control-tests: New file.
42752         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
42753         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
42754         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
42755         * modules/unictype/property-bidi-european-digit-tests: New file.
42756         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
42757         * modules/unictype/property-bidi-left-to-right-tests: New file.
42758         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
42759         * modules/unictype/property-bidi-other-neutral-tests: New file.
42760         * modules/unictype/property-bidi-pdf-tests: New file.
42761         * modules/unictype/property-bidi-segment-separator-tests: New file.
42762         * modules/unictype/property-bidi-whitespace-tests: New file.
42763         * modules/unictype/property-byname-tests: New file.
42764         * modules/unictype/property-combining-tests: New file.
42765         * modules/unictype/property-composite-tests: New file.
42766         * modules/unictype/property-currency-symbol-tests: New file.
42767         * modules/unictype/property-dash-tests: New file.
42768         * modules/unictype/property-decimal-digit-tests: New file.
42769         * modules/unictype/property-default-ignorable-code-point-tests: New file.
42770         * modules/unictype/property-deprecated-tests: New file.
42771         * modules/unictype/property-diacritic-tests: New file.
42772         * modules/unictype/property-extender-tests: New file.
42773         * modules/unictype/property-format-control-tests: New file.
42774         * modules/unictype/property-grapheme-base-tests: New file.
42775         * modules/unictype/property-grapheme-extend-tests: New file.
42776         * modules/unictype/property-grapheme-link-tests: New file.
42777         * modules/unictype/property-hex-digit-tests: New file.
42778         * modules/unictype/property-hyphen-tests: New file.
42779         * modules/unictype/property-id-continue-tests: New file.
42780         * modules/unictype/property-id-start-tests: New file.
42781         * modules/unictype/property-ideographic-tests: New file.
42782         * modules/unictype/property-ids-binary-operator-tests: New file.
42783         * modules/unictype/property-ids-trinary-operator-tests: New file.
42784         * modules/unictype/property-ignorable-control-tests: New file.
42785         * modules/unictype/property-iso-control-tests: New file.
42786         * modules/unictype/property-join-control-tests: New file.
42787         * modules/unictype/property-left-of-pair-tests: New file.
42788         * modules/unictype/property-line-separator-tests: New file.
42789         * modules/unictype/property-logical-order-exception-tests: New file.
42790         * modules/unictype/property-lowercase-tests: New file.
42791         * modules/unictype/property-math-tests: New file.
42792         * modules/unictype/property-non-break-tests: New file.
42793         * modules/unictype/property-not-a-character-tests: New file.
42794         * modules/unictype/property-numeric-tests: New file.
42795         * modules/unictype/property-other-alphabetic-tests: New file.
42796         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
42797         * modules/unictype/property-other-grapheme-extend-tests: New file.
42798         * modules/unictype/property-other-id-continue-tests: New file.
42799         * modules/unictype/property-other-id-start-tests: New file.
42800         * modules/unictype/property-other-lowercase-tests: New file.
42801         * modules/unictype/property-other-math-tests: New file.
42802         * modules/unictype/property-other-uppercase-tests: New file.
42803         * modules/unictype/property-paired-punctuation-tests: New file.
42804         * modules/unictype/property-paragraph-separator-tests: New file.
42805         * modules/unictype/property-pattern-syntax-tests: New file.
42806         * modules/unictype/property-pattern-white-space-tests: New file.
42807         * modules/unictype/property-private-use-tests: New file.
42808         * modules/unictype/property-punctuation-tests: New file.
42809         * modules/unictype/property-quotation-mark-tests: New file.
42810         * modules/unictype/property-radical-tests: New file.
42811         * modules/unictype/property-sentence-terminal-tests: New file.
42812         * modules/unictype/property-soft-dotted-tests: New file.
42813         * modules/unictype/property-space-tests: New file.
42814         * modules/unictype/property-terminal-punctuation-tests: New file.
42815         * modules/unictype/property-test-tests: New file.
42816         * modules/unictype/property-titlecase-tests: New file.
42817         * modules/unictype/property-unassigned-code-value-tests: New file.
42818         * modules/unictype/property-unified-ideograph-tests: New file.
42819         * modules/unictype/property-uppercase-tests: New file.
42820         * modules/unictype/property-variation-selector-tests: New file.
42821         * modules/unictype/property-white-space-tests: New file.
42822         * modules/unictype/property-xid-continue-tests: New file.
42823         * modules/unictype/property-xid-start-tests: New file.
42824         * modules/unictype/property-zero-width-tests: New file.
42825         * modules/unictype/scripts-tests: New file.
42826         * modules/unictype/syntax-c-ident-tests: New file.
42827         * modules/unictype/syntax-c-whitespace-tests: New file.
42828         * modules/unictype/syntax-java-ident-tests: New file.
42829         * modules/unictype/syntax-java-whitespace-tests: New file.
42830         * tests/unictype/test-bidi_byname.c: New file.
42831         * tests/unictype/test-bidi_name.c: New file.
42832         * tests/unictype/test-bidi_of.c: New file.
42833         * tests/unictype/test-bidi_test.c: New file.
42834         * tests/unictype/test-block_list.c: New file.
42835         * tests/unictype/test-block_of.c: New file.
42836         * tests/unictype/test-block_test.c: New file.
42837         * tests/unictype/test-categ_and.c: New file.
42838         * tests/unictype/test-categ_and_not.c: New file.
42839         * tests/unictype/test-categ_byname.c: New file.
42840         * tests/unictype/test-categ_name.c: New file.
42841         * tests/unictype/test-categ_none.c: New file.
42842         * tests/unictype/test-categ_of.c: New file.
42843         * tests/unictype/test-categ_or.c: New file.
42844         * tests/unictype/test-categ_test_withtable.c: New file.
42845         * tests/unictype/test-combining.c: New file.
42846         * tests/unictype/test-decdigit.c: New file.
42847         * tests/unictype/test-digit.c: New file.
42848         * tests/unictype/test-mirror.c: New file.
42849         * tests/unictype/test-numeric.c: New file.
42850         * tests/unictype/test-pr_byname.c: New file.
42851         * tests/unictype/test-pr_test.c: New file.
42852         * tests/unictype/test-predicate-part1.h: New file.
42853         * tests/unictype/test-predicate-part2.h: New file.
42854         * tests/unictype/test-scripts.c: New file.
42855         * tests/unictype/test-sy_c_ident.c: New file.
42856         * tests/unictype/test-sy_java_ident.c: New file.
42857
42858         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
42859         for Unicode 5.0.0.
42860         * tests/unictype/test-categ_Cc.c: Likewise.
42861         * tests/unictype/test-categ_Cf.c: Likewise.
42862         * tests/unictype/test-categ_Cn.c: Likewise.
42863         * tests/unictype/test-categ_Co.c: Likewise.
42864         * tests/unictype/test-categ_Cs.c: Likewise.
42865         * tests/unictype/test-categ_L.c: Likewise.
42866         * tests/unictype/test-categ_Ll.c: Likewise.
42867         * tests/unictype/test-categ_Lm.c: Likewise.
42868         * tests/unictype/test-categ_Lo.c: Likewise.
42869         * tests/unictype/test-categ_Lt.c: Likewise.
42870         * tests/unictype/test-categ_Lu.c: Likewise.
42871         * tests/unictype/test-categ_M.c: Likewise.
42872         * tests/unictype/test-categ_Mc.c: Likewise.
42873         * tests/unictype/test-categ_Me.c: Likewise.
42874         * tests/unictype/test-categ_Mn.c: Likewise.
42875         * tests/unictype/test-categ_N.c: Likewise.
42876         * tests/unictype/test-categ_Nd.c: Likewise.
42877         * tests/unictype/test-categ_Nl.c: Likewise.
42878         * tests/unictype/test-categ_No.c: Likewise.
42879         * tests/unictype/test-categ_P.c: Likewise.
42880         * tests/unictype/test-categ_Pc.c: Likewise.
42881         * tests/unictype/test-categ_Pd.c: Likewise.
42882         * tests/unictype/test-categ_Pe.c: Likewise.
42883         * tests/unictype/test-categ_Pf.c: Likewise.
42884         * tests/unictype/test-categ_Pi.c: Likewise.
42885         * tests/unictype/test-categ_Po.c: Likewise.
42886         * tests/unictype/test-categ_Ps.c: Likewise.
42887         * tests/unictype/test-categ_S.c: Likewise.
42888         * tests/unictype/test-categ_Sc.c: Likewise.
42889         * tests/unictype/test-categ_Sk.c: Likewise.
42890         * tests/unictype/test-categ_Sm.c: Likewise.
42891         * tests/unictype/test-categ_So.c: Likewise.
42892         * tests/unictype/test-categ_Z.c: Likewise.
42893         * tests/unictype/test-categ_Zl.c: Likewise.
42894         * tests/unictype/test-categ_Zp.c: Likewise.
42895         * tests/unictype/test-categ_Zs.c: Likewise.
42896         * tests/unictype/test-ctype_alnum.c: Likewise.
42897         * tests/unictype/test-ctype_alpha.c: Likewise.
42898         * tests/unictype/test-ctype_blank.c: Likewise.
42899         * tests/unictype/test-ctype_cntrl.c: Likewise.
42900         * tests/unictype/test-ctype_digit.c: Likewise.
42901         * tests/unictype/test-ctype_graph.c: Likewise.
42902         * tests/unictype/test-ctype_lower.c: Likewise.
42903         * tests/unictype/test-ctype_print.c: Likewise.
42904         * tests/unictype/test-ctype_punct.c: Likewise.
42905         * tests/unictype/test-ctype_space.c: Likewise.
42906         * tests/unictype/test-ctype_upper.c: Likewise.
42907         * tests/unictype/test-ctype_xdigit.c: Likewise.
42908         * tests/unictype/test-decdigit.h: Likewise.
42909         * tests/unictype/test-digit.h: Likewise.
42910         * tests/unictype/test-numeric.h: Likewise.
42911         * tests/unictype/test-pr_alphabetic.c: Likewise.
42912         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
42913         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
42914         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
42915         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
42916         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
42917         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
42918         * tests/unictype/test-pr_bidi_control.c: Likewise.
42919         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
42920         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
42921         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
42922         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
42923         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
42924         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
42925         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
42926         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
42927         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
42928         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
42929         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
42930         * tests/unictype/test-pr_combining.c: Likewise.
42931         * tests/unictype/test-pr_composite.c: Likewise.
42932         * tests/unictype/test-pr_currency_symbol.c: Likewise.
42933         * tests/unictype/test-pr_dash.c: Likewise.
42934         * tests/unictype/test-pr_decimal_digit.c: Likewise.
42935         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
42936         * tests/unictype/test-pr_deprecated.c: Likewise.
42937         * tests/unictype/test-pr_diacritic.c: Likewise.
42938         * tests/unictype/test-pr_extender.c: Likewise.
42939         * tests/unictype/test-pr_format_control.c: Likewise.
42940         * tests/unictype/test-pr_grapheme_base.c: Likewise.
42941         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
42942         * tests/unictype/test-pr_grapheme_link.c: Likewise.
42943         * tests/unictype/test-pr_hex_digit.c: Likewise.
42944         * tests/unictype/test-pr_hyphen.c: Likewise.
42945         * tests/unictype/test-pr_id_continue.c: Likewise.
42946         * tests/unictype/test-pr_id_start.c: Likewise.
42947         * tests/unictype/test-pr_ideographic.c: Likewise.
42948         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
42949         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
42950         * tests/unictype/test-pr_ignorable_control.c: Likewise.
42951         * tests/unictype/test-pr_iso_control.c: Likewise.
42952         * tests/unictype/test-pr_join_control.c: Likewise.
42953         * tests/unictype/test-pr_left_of_pair.c: Likewise.
42954         * tests/unictype/test-pr_line_separator.c: Likewise.
42955         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
42956         * tests/unictype/test-pr_lowercase.c: Likewise.
42957         * tests/unictype/test-pr_math.c: Likewise.
42958         * tests/unictype/test-pr_non_break.c: Likewise.
42959         * tests/unictype/test-pr_not_a_character.c: Likewise.
42960         * tests/unictype/test-pr_numeric.c: Likewise.
42961         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
42962         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
42963         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
42964         * tests/unictype/test-pr_other_id_continue.c: Likewise.
42965         * tests/unictype/test-pr_other_id_start.c: Likewise.
42966         * tests/unictype/test-pr_other_lowercase.c: Likewise.
42967         * tests/unictype/test-pr_other_math.c: Likewise.
42968         * tests/unictype/test-pr_other_uppercase.c: Likewise.
42969         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
42970         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
42971         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
42972         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
42973         * tests/unictype/test-pr_private_use.c: Likewise.
42974         * tests/unictype/test-pr_punctuation.c: Likewise.
42975         * tests/unictype/test-pr_quotation_mark.c: Likewise.
42976         * tests/unictype/test-pr_radical.c: Likewise.
42977         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
42978         * tests/unictype/test-pr_soft_dotted.c: Likewise.
42979         * tests/unictype/test-pr_space.c: Likewise.
42980         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
42981         * tests/unictype/test-pr_titlecase.c: Likewise.
42982         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
42983         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
42984         * tests/unictype/test-pr_uppercase.c: Likewise.
42985         * tests/unictype/test-pr_variation_selector.c: Likewise.
42986         * tests/unictype/test-pr_white_space.c: Likewise.
42987         * tests/unictype/test-pr_xid_continue.c: Likewise.
42988         * tests/unictype/test-pr_xid_start.c: Likewise.
42989         * tests/unictype/test-pr_zero_width.c: Likewise.
42990         * tests/unictype/test-sy_c_whitespace.c: Likewise.
42991         * tests/unictype/test-sy_java_whitespace.c: Likewise.
42992
42993 2007-11-12  Bruno Haible  <bruno@clisp.org>
42994
42995         Unicode character classification functions.
42996         * lib/unictype.h: New file.
42997         * modules/unictype/base: New file.
42998         * modules/unictype/category-L: New file.
42999         * modules/unictype/category-Lu: New file.
43000         * modules/unictype/category-Ll: New file.
43001         * modules/unictype/category-Lt: New file.
43002         * modules/unictype/category-Lm: New file.
43003         * modules/unictype/category-Lo: New file.
43004         * modules/unictype/category-M: New file.
43005         * modules/unictype/category-Mn: New file.
43006         * modules/unictype/category-Mc: New file.
43007         * modules/unictype/category-Me: New file.
43008         * modules/unictype/category-N: New file.
43009         * modules/unictype/category-Nd: New file.
43010         * modules/unictype/category-Nl: New file.
43011         * modules/unictype/category-No: New file.
43012         * modules/unictype/category-P: New file.
43013         * modules/unictype/category-Pc: New file.
43014         * modules/unictype/category-Pd: New file.
43015         * modules/unictype/category-Ps: New file.
43016         * modules/unictype/category-Pe: New file.
43017         * modules/unictype/category-Pi: New file.
43018         * modules/unictype/category-Pf: New file.
43019         * modules/unictype/category-Po: New file.
43020         * modules/unictype/category-S: New file.
43021         * modules/unictype/category-Sm: New file.
43022         * modules/unictype/category-Sc: New file.
43023         * modules/unictype/category-Sk: New file.
43024         * modules/unictype/category-So: New file.
43025         * modules/unictype/category-Z: New file.
43026         * modules/unictype/category-Zs: New file.
43027         * modules/unictype/category-Zl: New file.
43028         * modules/unictype/category-Zp: New file.
43029         * modules/unictype/category-C: New file.
43030         * modules/unictype/category-Cc: New file.
43031         * modules/unictype/category-Cf: New file.
43032         * modules/unictype/category-Cs: New file.
43033         * modules/unictype/category-Co: New file.
43034         * modules/unictype/category-Cn: New file.
43035         * modules/unictype/category-or: New file.
43036         * modules/unictype/category-of: New file.
43037         * modules/unictype/category-test: New file.
43038         * modules/unictype/category-test-withtable: New file.
43039         * modules/unictype/category-byname: New file.
43040         * modules/unictype/category-none: New file.
43041         * modules/unictype/category-and: New file.
43042         * modules/unictype/category-and-not: New file.
43043         * modules/unictype/category-name: New file.
43044         * modules/unictype/combining-class: New file.
43045         * modules/unictype/category-all: New file.
43046         * modules/unictype/bidicategory-all: New file.
43047         * modules/unictype/bidicategory-byname: New file.
43048         * modules/unictype/bidicategory-name: New file.
43049         * modules/unictype/bidicategory-of: New file.
43050         * modules/unictype/bidicategory-test: New file.
43051         * modules/unictype/decimal-digit: New file.
43052         * modules/unictype/digit: New file.
43053         * modules/unictype/numeric: New file.
43054         * modules/unictype/mirror: New file.
43055         * modules/unictype/property-white-space: New file.
43056         * modules/unictype/property-alphabetic: New file.
43057         * modules/unictype/property-other-alphabetic: New file.
43058         * modules/unictype/property-not-a-character: New file.
43059         * modules/unictype/property-default-ignorable-code-point: New file.
43060         * modules/unictype/property-other-default-ignorable-code-point: New
43061         file.
43062         * modules/unictype/property-deprecated: New file.
43063         * modules/unictype/property-logical-order-exception: New file.
43064         * modules/unictype/property-variation-selector: New file.
43065         * modules/unictype/property-private-use: New file.
43066         * modules/unictype/property-unassigned-code-value: New file.
43067         * modules/unictype/property-uppercase: New file.
43068         * modules/unictype/property-other-uppercase: New file.
43069         * modules/unictype/property-lowercase: New file.
43070         * modules/unictype/property-other-lowercase: New file.
43071         * modules/unictype/property-titlecase: New file.
43072         * modules/unictype/property-soft-dotted: New file.
43073         * modules/unictype/property-id-start: New file.
43074         * modules/unictype/property-other-id-start: New file.
43075         * modules/unictype/property-id-continue: New file.
43076         * modules/unictype/property-other-id-continue: New file.
43077         * modules/unictype/property-xid-start: New file.
43078         * modules/unictype/property-xid-continue: New file.
43079         * modules/unictype/property-pattern-white-space: New file.
43080         * modules/unictype/property-pattern-syntax: New file.
43081         * modules/unictype/property-join-control: New file.
43082         * modules/unictype/property-grapheme-base: New file.
43083         * modules/unictype/property-grapheme-extend: New file.
43084         * modules/unictype/property-other-grapheme-extend: New file.
43085         * modules/unictype/property-grapheme-link: New file.
43086         * modules/unictype/property-bidi-control: New file.
43087         * modules/unictype/property-bidi-left-to-right: New file.
43088         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
43089         * modules/unictype/property-bidi-arabic-right-to-left: New file.
43090         * modules/unictype/property-bidi-european-digit: New file.
43091         * modules/unictype/property-bidi-eur-num-separator: New file.
43092         * modules/unictype/property-bidi-eur-num-terminator: New file.
43093         * modules/unictype/property-bidi-arabic-digit: New file.
43094         * modules/unictype/property-bidi-common-separator: New file.
43095         * modules/unictype/property-bidi-block-separator: New file.
43096         * modules/unictype/property-bidi-segment-separator: New file.
43097         * modules/unictype/property-bidi-whitespace: New file.
43098         * modules/unictype/property-bidi-non-spacing-mark: New file.
43099         * modules/unictype/property-bidi-boundary-neutral: New file.
43100         * modules/unictype/property-bidi-pdf: New file.
43101         * modules/unictype/property-bidi-embedding-or-override: New file.
43102         * modules/unictype/property-bidi-other-neutral: New file.
43103         * modules/unictype/property-hex-digit: New file.
43104         * modules/unictype/property-ascii-hex-digit: New file.
43105         * modules/unictype/property-ideographic: New file.
43106         * modules/unictype/property-unified-ideograph: New file.
43107         * modules/unictype/property-radical: New file.
43108         * modules/unictype/property-ids-binary-operator: New file.
43109         * modules/unictype/property-ids-trinary-operator: New file.
43110         * modules/unictype/property-zero-width: New file.
43111         * modules/unictype/property-space: New file.
43112         * modules/unictype/property-non-break: New file.
43113         * modules/unictype/property-iso-control: New file.
43114         * modules/unictype/property-format-control: New file.
43115         * modules/unictype/property-dash: New file.
43116         * modules/unictype/property-hyphen: New file.
43117         * modules/unictype/property-punctuation: New file.
43118         * modules/unictype/property-line-separator: New file.
43119         * modules/unictype/property-paragraph-separator: New file.
43120         * modules/unictype/property-quotation-mark: New file.
43121         * modules/unictype/property-sentence-terminal: New file.
43122         * modules/unictype/property-terminal-punctuation: New file.
43123         * modules/unictype/property-currency-symbol: New file.
43124         * modules/unictype/property-math: New file.
43125         * modules/unictype/property-other-math: New file.
43126         * modules/unictype/property-paired-punctuation: New file.
43127         * modules/unictype/property-left-of-pair: New file.
43128         * modules/unictype/property-combining: New file.
43129         * modules/unictype/property-composite: New file.
43130         * modules/unictype/property-decimal-digit: New file.
43131         * modules/unictype/property-numeric: New file.
43132         * modules/unictype/property-diacritic: New file.
43133         * modules/unictype/property-extender: New file.
43134         * modules/unictype/property-ignorable-control: New file.
43135         * modules/unictype/property-test: New file.
43136         * modules/unictype/property-byname: New file.
43137         * modules/unictype/property-all: New file.
43138         * modules/unictype/scripts: New file.
43139         * modules/unictype/scripts-all: New file.
43140         * modules/unictype/block-of: New file.
43141         * modules/unictype/block-test: New file.
43142         * modules/unictype/block-list: New file.
43143         * modules/unictype/block-all: New file.
43144         * modules/unictype/syntax-c-whitespace: New file.
43145         * modules/unictype/syntax-java-whitespace: New file.
43146         * modules/unictype/syntax-c-ident: New file.
43147         * modules/unictype/syntax-java-ident: New file.
43148         * modules/unictype/ctype-alnum: New file.
43149         * modules/unictype/ctype-alpha: New file.
43150         * modules/unictype/ctype-cntrl: New file.
43151         * modules/unictype/ctype-digit: New file.
43152         * modules/unictype/ctype-graph: New file.
43153         * modules/unictype/ctype-lower: New file.
43154         * modules/unictype/ctype-print: New file.
43155         * modules/unictype/ctype-punct: New file.
43156         * modules/unictype/ctype-space: New file.
43157         * modules/unictype/ctype-upper: New file.
43158         * modules/unictype/ctype-xdigit: New file.
43159         * modules/unictype/ctype-blank: New file.
43160         * lib/unictype/bidi_byname.c: New file.
43161         * lib/unictype/bidi_name.c: New file.
43162         * lib/unictype/bidi_of.c: New file.
43163         * lib/unictype/bidi_test.c: New file.
43164         * lib/unictype/bitmap.h: New file.
43165         * lib/unictype/block_test.c: New file.
43166         * lib/unictype/blocks.c: New file.
43167         * lib/unictype/categ_C.c: New file.
43168         * lib/unictype/categ_Cc.c: New file.
43169         * lib/unictype/categ_Cf.c: New file.
43170         * lib/unictype/categ_Cn.c: New file.
43171         * lib/unictype/categ_Co.c: New file.
43172         * lib/unictype/categ_Cs.c: New file.
43173         * lib/unictype/categ_L.c: New file.
43174         * lib/unictype/categ_Ll.c: New file.
43175         * lib/unictype/categ_Lm.c: New file.
43176         * lib/unictype/categ_Lo.c: New file.
43177         * lib/unictype/categ_Lt.c: New file.
43178         * lib/unictype/categ_Lu.c: New file.
43179         * lib/unictype/categ_M.c: New file.
43180         * lib/unictype/categ_Mc.c: New file.
43181         * lib/unictype/categ_Me.c: New file.
43182         * lib/unictype/categ_Mn.c: New file.
43183         * lib/unictype/categ_N.c: New file.
43184         * lib/unictype/categ_Nd.c: New file.
43185         * lib/unictype/categ_Nl.c: New file.
43186         * lib/unictype/categ_No.c: New file.
43187         * lib/unictype/categ_P.c: New file.
43188         * lib/unictype/categ_Pc.c: New file.
43189         * lib/unictype/categ_Pd.c: New file.
43190         * lib/unictype/categ_Pe.c: New file.
43191         * lib/unictype/categ_Pf.c: New file.
43192         * lib/unictype/categ_Pi.c: New file.
43193         * lib/unictype/categ_Po.c: New file.
43194         * lib/unictype/categ_Ps.c: New file.
43195         * lib/unictype/categ_S.c: New file.
43196         * lib/unictype/categ_Sc.c: New file.
43197         * lib/unictype/categ_Sk.c: New file.
43198         * lib/unictype/categ_Sm.c: New file.
43199         * lib/unictype/categ_So.c: New file.
43200         * lib/unictype/categ_Z.c: New file.
43201         * lib/unictype/categ_Zl.c: New file.
43202         * lib/unictype/categ_Zp.c: New file.
43203         * lib/unictype/categ_Zs.c: New file.
43204         * lib/unictype/categ_and.c: New file.
43205         * lib/unictype/categ_and_not.c: New file.
43206         * lib/unictype/categ_byname.c: New file.
43207         * lib/unictype/categ_name.c: New file.
43208         * lib/unictype/categ_none.c: New file.
43209         * lib/unictype/categ_of.c: New file.
43210         * lib/unictype/categ_or.c: New file.
43211         * lib/unictype/categ_test.c: New file.
43212         * lib/unictype/combining.c: New file.
43213         * lib/unictype/ctype_alnum.c: New file.
43214         * lib/unictype/ctype_alpha.c: New file.
43215         * lib/unictype/ctype_blank.c: New file.
43216         * lib/unictype/ctype_cntrl.c: New file.
43217         * lib/unictype/ctype_digit.c: New file.
43218         * lib/unictype/ctype_graph.c: New file.
43219         * lib/unictype/ctype_lower.c: New file.
43220         * lib/unictype/ctype_print.c: New file.
43221         * lib/unictype/ctype_punct.c: New file.
43222         * lib/unictype/ctype_space.c: New file.
43223         * lib/unictype/ctype_upper.c: New file.
43224         * lib/unictype/ctype_xdigit.c: New file.
43225         * lib/unictype/decdigit.c: New file.
43226         * lib/unictype/digit.c: New file.
43227         * lib/unictype/identsyntaxmap.h: New file.
43228         * lib/unictype/mirror.c: New file.
43229         * lib/unictype/numeric.c: New file.
43230         * lib/unictype/pr_alphabetic.c: New file.
43231         * lib/unictype/pr_ascii_hex_digit.c: New file.
43232         * lib/unictype/pr_bidi_arabic_digit.c: New file.
43233         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
43234         * lib/unictype/pr_bidi_block_separator.c: New file.
43235         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
43236         * lib/unictype/pr_bidi_common_separator.c: New file.
43237         * lib/unictype/pr_bidi_control.c: New file.
43238         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
43239         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
43240         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
43241         * lib/unictype/pr_bidi_european_digit.c: New file.
43242         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
43243         * lib/unictype/pr_bidi_left_to_right.c: New file.
43244         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
43245         * lib/unictype/pr_bidi_other_neutral.c: New file.
43246         * lib/unictype/pr_bidi_pdf.c: New file.
43247         * lib/unictype/pr_bidi_segment_separator.c: New file.
43248         * lib/unictype/pr_bidi_whitespace.c: New file.
43249         * lib/unictype/pr_byname.c: New file.
43250         * lib/unictype/pr_byname.gperf: New file.
43251         * lib/unictype/pr_combining.c: New file.
43252         * lib/unictype/pr_composite.c: New file.
43253         * lib/unictype/pr_currency_symbol.c: New file.
43254         * lib/unictype/pr_dash.c: New file.
43255         * lib/unictype/pr_decimal_digit.c: New file.
43256         * lib/unictype/pr_default_ignorable_code_point.c: New file.
43257         * lib/unictype/pr_deprecated.c: New file.
43258         * lib/unictype/pr_diacritic.c: New file.
43259         * lib/unictype/pr_extender.c: New file.
43260         * lib/unictype/pr_format_control.c: New file.
43261         * lib/unictype/pr_grapheme_base.c: New file.
43262         * lib/unictype/pr_grapheme_extend.c: New file.
43263         * lib/unictype/pr_grapheme_link.c: New file.
43264         * lib/unictype/pr_hex_digit.c: New file.
43265         * lib/unictype/pr_hyphen.c: New file.
43266         * lib/unictype/pr_id_continue.c: New file.
43267         * lib/unictype/pr_id_start.c: New file.
43268         * lib/unictype/pr_ideographic.c: New file.
43269         * lib/unictype/pr_ids_binary_operator.c: New file.
43270         * lib/unictype/pr_ids_trinary_operator.c: New file.
43271         * lib/unictype/pr_ignorable_control.c: New file.
43272         * lib/unictype/pr_iso_control.c: New file.
43273         * lib/unictype/pr_join_control.c: New file.
43274         * lib/unictype/pr_left_of_pair.c: New file.
43275         * lib/unictype/pr_line_separator.c: New file.
43276         * lib/unictype/pr_logical_order_exception.c: New file.
43277         * lib/unictype/pr_lowercase.c: New file.
43278         * lib/unictype/pr_math.c: New file.
43279         * lib/unictype/pr_non_break.c: New file.
43280         * lib/unictype/pr_not_a_character.c: New file.
43281         * lib/unictype/pr_numeric.c: New file.
43282         * lib/unictype/pr_other_alphabetic.c: New file.
43283         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
43284         * lib/unictype/pr_other_grapheme_extend.c: New file.
43285         * lib/unictype/pr_other_id_continue.c: New file.
43286         * lib/unictype/pr_other_id_start.c: New file.
43287         * lib/unictype/pr_other_lowercase.c: New file.
43288         * lib/unictype/pr_other_math.c: New file.
43289         * lib/unictype/pr_other_uppercase.c: New file.
43290         * lib/unictype/pr_paired_punctuation.c: New file.
43291         * lib/unictype/pr_paragraph_separator.c: New file.
43292         * lib/unictype/pr_pattern_syntax.c: New file.
43293         * lib/unictype/pr_pattern_white_space.c: New file.
43294         * lib/unictype/pr_private_use.c: New file.
43295         * lib/unictype/pr_punctuation.c: New file.
43296         * lib/unictype/pr_quotation_mark.c: New file.
43297         * lib/unictype/pr_radical.c: New file.
43298         * lib/unictype/pr_sentence_terminal.c: New file.
43299         * lib/unictype/pr_soft_dotted.c: New file.
43300         * lib/unictype/pr_space.c: New file.
43301         * lib/unictype/pr_terminal_punctuation.c: New file.
43302         * lib/unictype/pr_test.c: New file.
43303         * lib/unictype/pr_titlecase.c: New file.
43304         * lib/unictype/pr_unassigned_code_value.c: New file.
43305         * lib/unictype/pr_unified_ideograph.c: New file.
43306         * lib/unictype/pr_uppercase.c: New file.
43307         * lib/unictype/pr_variation_selector.c: New file.
43308         * lib/unictype/pr_white_space.c: New file.
43309         * lib/unictype/pr_xid_continue.c: New file.
43310         * lib/unictype/pr_xid_start.c: New file.
43311         * lib/unictype/pr_zero_width.c: New file.
43312         * lib/unictype/scripts.c: New file.
43313         * lib/unictype/sy_c_ident.c: New file.
43314         * lib/unictype/sy_c_whitespace.c: New file.
43315         * lib/unictype/sy_java_ident.c: New file.
43316         * lib/unictype/sy_java_whitespace.c: New file.
43317
43318         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
43319         Unicode 5.0.0.
43320         * lib/unictype/blocks.h: Likewise.
43321         * lib/unictype/categ_C.h: Likewise.
43322         * lib/unictype/categ_Cc.h: Likewise.
43323         * lib/unictype/categ_Cf.h: Likewise.
43324         * lib/unictype/categ_Cn.h: Likewise.
43325         * lib/unictype/categ_Co.h: Likewise.
43326         * lib/unictype/categ_Cs.h: Likewise.
43327         * lib/unictype/categ_L.h: Likewise.
43328         * lib/unictype/categ_Ll.h: Likewise.
43329         * lib/unictype/categ_Lm.h: Likewise.
43330         * lib/unictype/categ_Lo.h: Likewise.
43331         * lib/unictype/categ_Lt.h: Likewise.
43332         * lib/unictype/categ_Lu.h: Likewise.
43333         * lib/unictype/categ_M.h: Likewise.
43334         * lib/unictype/categ_Mc.h: Likewise.
43335         * lib/unictype/categ_Me.h: Likewise.
43336         * lib/unictype/categ_Mn.h: Likewise.
43337         * lib/unictype/categ_N.h: Likewise.
43338         * lib/unictype/categ_Nd.h: Likewise.
43339         * lib/unictype/categ_Nl.h: Likewise.
43340         * lib/unictype/categ_No.h: Likewise.
43341         * lib/unictype/categ_P.h: Likewise.
43342         * lib/unictype/categ_Pc.h: Likewise.
43343         * lib/unictype/categ_Pd.h: Likewise.
43344         * lib/unictype/categ_Pe.h: Likewise.
43345         * lib/unictype/categ_Pf.h: Likewise.
43346         * lib/unictype/categ_Pi.h: Likewise.
43347         * lib/unictype/categ_Po.h: Likewise.
43348         * lib/unictype/categ_Ps.h: Likewise.
43349         * lib/unictype/categ_S.h: Likewise.
43350         * lib/unictype/categ_Sc.h: Likewise.
43351         * lib/unictype/categ_Sk.h: Likewise.
43352         * lib/unictype/categ_Sm.h: Likewise.
43353         * lib/unictype/categ_So.h: Likewise.
43354         * lib/unictype/categ_Z.h: Likewise.
43355         * lib/unictype/categ_Zl.h: Likewise.
43356         * lib/unictype/categ_Zp.h: Likewise.
43357         * lib/unictype/categ_Zs.h: Likewise.
43358         * lib/unictype/categ_of.h: Likewise.
43359         * lib/unictype/combining.h: Likewise.
43360         * lib/unictype/ctype_alnum.h: Likewise.
43361         * lib/unictype/ctype_alpha.h: Likewise.
43362         * lib/unictype/ctype_blank.h: Likewise.
43363         * lib/unictype/ctype_cntrl.h: Likewise.
43364         * lib/unictype/ctype_digit.h: Likewise.
43365         * lib/unictype/ctype_graph.h: Likewise.
43366         * lib/unictype/ctype_lower.h: Likewise.
43367         * lib/unictype/ctype_print.h: Likewise.
43368         * lib/unictype/ctype_punct.h: Likewise.
43369         * lib/unictype/ctype_space.h: Likewise.
43370         * lib/unictype/ctype_upper.h: Likewise.
43371         * lib/unictype/ctype_xdigit.h: Likewise.
43372         * lib/unictype/decdigit.h: Likewise.
43373         * lib/unictype/digit.h: Likewise.
43374         * lib/unictype/mirror.h: Likewise.
43375         * lib/unictype/numeric.h: Likewise.
43376         * lib/unictype/pr_alphabetic.h: Likewise.
43377         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
43378         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
43379         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
43380         * lib/unictype/pr_bidi_block_separator.h: Likewise.
43381         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
43382         * lib/unictype/pr_bidi_common_separator.h: Likewise.
43383         * lib/unictype/pr_bidi_control.h: Likewise.
43384         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
43385         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
43386         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
43387         * lib/unictype/pr_bidi_european_digit.h: Likewise.
43388         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
43389         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
43390         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
43391         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
43392         * lib/unictype/pr_bidi_pdf.h: Likewise.
43393         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
43394         * lib/unictype/pr_bidi_whitespace.h: Likewise.
43395         * lib/unictype/pr_combining.h: Likewise.
43396         * lib/unictype/pr_composite.h: Likewise.
43397         * lib/unictype/pr_currency_symbol.h: Likewise.
43398         * lib/unictype/pr_dash.h: Likewise.
43399         * lib/unictype/pr_decimal_digit.h: Likewise.
43400         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
43401         * lib/unictype/pr_deprecated.h: Likewise.
43402         * lib/unictype/pr_diacritic.h: Likewise.
43403         * lib/unictype/pr_extender.h: Likewise.
43404         * lib/unictype/pr_format_control.h: Likewise.
43405         * lib/unictype/pr_grapheme_base.h: Likewise.
43406         * lib/unictype/pr_grapheme_extend.h: Likewise.
43407         * lib/unictype/pr_grapheme_link.h: Likewise.
43408         * lib/unictype/pr_hex_digit.h: Likewise.
43409         * lib/unictype/pr_hyphen.h: Likewise.
43410         * lib/unictype/pr_id_continue.h: Likewise.
43411         * lib/unictype/pr_id_start.h: Likewise.
43412         * lib/unictype/pr_ideographic.h: Likewise.
43413         * lib/unictype/pr_ids_binary_operator.h: Likewise.
43414         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
43415         * lib/unictype/pr_ignorable_control.h: Likewise.
43416         * lib/unictype/pr_iso_control.h: Likewise.
43417         * lib/unictype/pr_join_control.h: Likewise.
43418         * lib/unictype/pr_left_of_pair.h: Likewise.
43419         * lib/unictype/pr_line_separator.h: Likewise.
43420         * lib/unictype/pr_logical_order_exception.h: Likewise.
43421         * lib/unictype/pr_lowercase.h: Likewise.
43422         * lib/unictype/pr_math.h: Likewise.
43423         * lib/unictype/pr_non_break.h: Likewise.
43424         * lib/unictype/pr_not_a_character.h: Likewise.
43425         * lib/unictype/pr_numeric.h: Likewise.
43426         * lib/unictype/pr_other_alphabetic.h: Likewise.
43427         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
43428         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
43429         * lib/unictype/pr_other_id_continue.h: Likewise.
43430         * lib/unictype/pr_other_id_start.h: Likewise.
43431         * lib/unictype/pr_other_lowercase.h: Likewise.
43432         * lib/unictype/pr_other_math.h: Likewise.
43433         * lib/unictype/pr_other_uppercase.h: Likewise.
43434         * lib/unictype/pr_paired_punctuation.h: Likewise.
43435         * lib/unictype/pr_paragraph_separator.h: Likewise.
43436         * lib/unictype/pr_pattern_syntax.h: Likewise.
43437         * lib/unictype/pr_pattern_white_space.h: Likewise.
43438         * lib/unictype/pr_private_use.h: Likewise.
43439         * lib/unictype/pr_punctuation.h: Likewise.
43440         * lib/unictype/pr_quotation_mark.h: Likewise.
43441         * lib/unictype/pr_radical.h: Likewise.
43442         * lib/unictype/pr_sentence_terminal.h: Likewise.
43443         * lib/unictype/pr_soft_dotted.h: Likewise.
43444         * lib/unictype/pr_space.h: Likewise.
43445         * lib/unictype/pr_terminal_punctuation.h: Likewise.
43446         * lib/unictype/pr_titlecase.h: Likewise.
43447         * lib/unictype/pr_unassigned_code_value.h: Likewise.
43448         * lib/unictype/pr_unified_ideograph.h: Likewise.
43449         * lib/unictype/pr_uppercase.h: Likewise.
43450         * lib/unictype/pr_variation_selector.h: Likewise.
43451         * lib/unictype/pr_white_space.h: Likewise.
43452         * lib/unictype/pr_xid_continue.h: Likewise.
43453         * lib/unictype/pr_xid_start.h: Likewise.
43454         * lib/unictype/pr_zero_width.h: Likewise.
43455         * lib/unictype/scripts.h: Likewise.
43456         * lib/unictype/scripts_byname.gperf: Likewise.
43457         * lib/unictype/sy_c_ident.h: Likewise.
43458         * lib/unictype/sy_c_whitespace.h: Likewise.
43459         * lib/unictype/sy_java_ident.h: Likewise.
43460         * lib/unictype/sy_java_whitespace.h: Likewise.
43461
43462         * lib/unictype/Makefile: New file.
43463         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
43464         glibc.
43465         * lib/unictype/3level.h: New file, copied from glibc.
43466         * lib/unictype/3levelbit.h: New file.
43467
43468 2007-11-11  Bruno Haible  <bruno@clisp.org>
43469
43470         * modules/gperf: New file.
43471         * modules/iconv_open (Depends-on): Add it.
43472         (Makefile.am): Remove the GPERF definition.
43473
43474 2007-11-11  Bruno Haible  <bruno@clisp.org>
43475
43476         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
43477         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
43478
43479 2007-11-11  Bruno Haible  <bruno@clisp.org>
43480
43481         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
43482         (usage): Remove function.
43483
43484 2007-11-11  Bruno Haible  <bruno@clisp.org>
43485
43486         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
43487         gl_FUNC_CEILF_LIBS.
43488         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
43489         gl_FUNC_CEIL_LIBS.
43490         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
43491         gl_FUNC_CEILL_LIBS.
43492         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
43493         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
43494         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
43495
43496 2007-11-11  Bruno Haible  <bruno@clisp.org>
43497
43498         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
43499         roundf were declared but do not exist on functions.
43500         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
43501         roundl were declared but do not exist on functions.
43502         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
43503         HAVE_FLOORL_AND_CEILL, respectively.
43504         Needed for Sun C on Solaris 10.
43505
43506 2007-11-11  Bruno Haible  <bruno@clisp.org>
43507
43508         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
43509         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
43510         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
43511         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
43512         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
43513         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
43514         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
43515         HAVE_DECL_ROUNDF.
43516         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
43517         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
43518         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
43519         of HAVE_DECL_ROUND*.
43520         * modules/math (Makefile.am): Update.
43521
43522 2007-11-10  Bruno Haible  <bruno@clisp.org>
43523
43524         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
43525         ptrdiff_t as m4/intl.m4.
43526
43527 2007-11-10  Jim Meyering  <meyering@redhat.com>
43528
43529         Avoid link failure for the argmatch test.
43530         * tests/test-argmatch.c (usage): Define function to avoid a link
43531         failure: argmatch_die requires a usage function.
43532
43533 2007-11-09  Bruno Haible  <bruno@clisp.org>
43534
43535         * doc/functions/snprintf.texi: Mention BeOS deficiency.
43536         * doc/functions/vsnprintf.texi: Likewise.
43537         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
43538         with a size argument < 2.
43539
43540 2007-11-09  Bruno Haible  <bruno@clisp.org>
43541
43542         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
43543         buffer. Fixes an inefficiency introduced on 2007-11-03.
43544
43545 2007-11-09  Bruno Haible  <bruno@clisp.org>
43546
43547         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
43548         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
43549
43550 2007-11-08  Jim Meyering  <meyering@redhat.com>
43551
43552         Change cache variable name prefix "jm_" to "gl_" everywhere.
43553         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
43554         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
43555         * m4/uptime.m4: s/gl_/jm_/
43556
43557 2007-11-07  Bruno Haible  <bruno@clisp.org>
43558
43559         Update to GNU gettext 0.17.
43560         * m4/intl.m4: Update to GNU gettext 0.17.
43561         * m4/po.m4: Likewise.
43562         * modules/gettext (Files): Remove m4/ulonglong.m4.
43563         (configure.ac): Require gettext infrastructure from version 0.17.
43564
43565 2007-11-06  Bruno Haible  <bruno@clisp.org>
43566
43567         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
43568         symbolic values are not defined in a public header.
43569         * lib/freadable.c (freadable) [QNX]: Likewise.
43570         * lib/freadahead.c (freadahead) [QNX]: Likewise.
43571         * lib/freading.c (freading) [QNX]: Likewise.
43572         * lib/fseterr.c (fseterr) [QNX]: Likewise.
43573         * lib/fwritable.c (fwritable) [QNX]: Likewise.
43574         * lib/fwriting.c (fwriting) [QNX]: Likewise.
43575         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
43576         Reported by Alain Magloire.
43577
43578         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
43579
43580 2007-11-05  Bruno Haible  <bruno@clisp.org>
43581
43582         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
43583         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
43584         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
43585         Reported by Eric Blake.
43586
43587 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43588             Bruno Haible  <bruno@clisp.org>
43589
43590         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
43591         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
43592         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
43593         (malloc): Undefine also before including <stdlib.h>.
43594         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
43595         Needed on OSF/1 4.0.
43596
43597 2007-11-05  Jim Meyering  <meyering@redhat.com>
43598
43599         git-version-gen: sync from coreutils.
43600         * build-aux/git-version-gen: Add comments.
43601         Change the first '-' to '.' in the snapshot version string,
43602         e.g., 6.9-377-08144 -> 6.9.377-08144
43603         Remove first parameter.
43604         Don't declare a version "-dirty" merely because a time
43605         stamp has changed.
43606
43607 2007-11-04  Bruno Haible  <bruno@clisp.org>
43608
43609         * lib/lock.h: Protect all macro definitions containing an 'if'
43610         statement through a "do { ... } while (0)".
43611         * lib/tls.h: Likewise.
43612
43613 2007-11-04  Bruno Haible  <bruno@clisp.org>
43614
43615         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
43616
43617 2007-11-04  Bruno Haible  <bruno@clisp.org>
43618
43619         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
43620         * modules/fprintf-posix (Depends-on): Add nocrash.
43621         * modules/snprintf-posix (Depends-on): Likewise.
43622         * modules/sprintf-posix (Depends-on): Likewise.
43623         * modules/vasnprintf-posix (Depends-on): Likewise.
43624         * modules/vasprintf-posix (Depends-on): Likewise.
43625         * modules/vfprintf-posix (Depends-on): Likewise.
43626         * modules/vsnprintf-posix (Depends-on): Likewise.
43627         * modules/vsprintf-posix (Depends-on): Likewise.
43628         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
43629         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
43630         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
43631         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
43632         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
43633         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
43634         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
43635
43636 2007-11-04  Bruno Haible  <bruno@clisp.org>
43637
43638         * modules/nocrash: New file.
43639         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
43640         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
43641
43642 2007-11-04  Bruno Haible  <bruno@clisp.org>
43643
43644         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
43645         precision handling.
43646         * tests/test-vasprintf-posix.c (test_function): Likewise.
43647         * tests/test-snprintf-posix.h (test_function): Likewise.
43648         * tests/test-sprintf-posix.h (test_function): Likewise.
43649
43650         Fix *printf behaviour for large precisions on mingw and BeOS.
43651         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
43652         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
43653         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
43654         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
43655         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
43656         gl_PRINTF_PRECISION and test its result. Invoke
43657         gl_PREREQ_VASNPRINTF_PRECISION.
43658         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
43659         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
43660         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
43661         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
43662         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
43663         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
43664         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
43665         * doc/functions/fprintf.texi: Update.
43666         * doc/functions/printf.texi: Update.
43667         * doc/functions/snprintf.texi: Update.
43668         * doc/functions/sprintf.texi: Update.
43669         * doc/functions/vfprintf.texi: Update.
43670         * doc/functions/vprintf.texi: Update.
43671         * doc/functions/vsnprintf.texi: Update.
43672         * doc/functions/vsprintf.texi: Update.
43673
43674 2007-11-04  Bruno Haible  <bruno@clisp.org>
43675
43676         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
43677
43678 2007-11-04  Bruno Haible  <bruno@clisp.org>
43679
43680         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
43681         Reported by Sylvain Beucler <beuc@gnu.org>.
43682
43683 2007-11-03  Bruno Haible  <bruno@clisp.org>
43684
43685         * tests/test-fprintf-posix2.sh: New file.
43686         * tests/test-fprintf-posix2.c: New file.
43687         * modules/fprintf-posix-tests (Files): Add them.
43688         (TESTS): Add test-fprintf-posix2.sh.
43689         (configure.ac): Check for getrlimit and setrlimit.
43690         (check_PROGRAMS): Add test-fprintf-posix2.
43691
43692         * tests/test-printf-posix2.sh: New file.
43693         * tests/test-printf-posix2.c: New file.
43694         * modules/printf-posix-tests (Files): Add them.
43695         (TESTS): Add test-printf-posix2.sh.
43696         (configure.ac): Check for getrlimit and setrlimit.
43697         (check_PROGRAMS): Add test-printf-posix2.
43698
43699         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
43700         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
43701         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
43702         (decode_double): New function, copied from decode_long_double.
43703         (scale10_round_decimal_decoded): New function, extracted from
43704         scale10_round_decimal_long_double.
43705         (scale10_round_decimal_long_double): Use it.
43706         (scale10_round_decimal_double): New function.
43707         (floorlog10): New function.
43708         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
43709         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
43710         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
43711         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
43712         gl_PRINTF_ENOMEM and test its result. Invoke
43713         gl_PREREQ_VASNPRINTF_ENOMEM.
43714         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
43715         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
43716         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
43717         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
43718         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
43719         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
43720         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
43721         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
43722         * modules/snprintf-posix (Depends-on): Likewise.
43723         * modules/sprintf-posix (Depends-on): Likewise.
43724         * modules/vasnprintf-posix (Depends-on): Likewise.
43725         * modules/vasprintf-posix (Depends-on): Likewise.
43726         * modules/vfprintf-posix (Depends-on): Likewise.
43727         * modules/vsnprintf-posix (Depends-on): Likewise.
43728         * modules/vsprintf-posix (Depends-on): Likewise.
43729         * doc/functions/fprintf.texi: Update.
43730         * doc/functions/printf.texi: Update.
43731         * doc/functions/snprintf.texi: Update.
43732         * doc/functions/sprintf.texi: Update.
43733         * doc/functions/vfprintf.texi: Update.
43734         * doc/functions/vprintf.texi: Update.
43735         * doc/functions/vsnprintf.texi: Update.
43736         * doc/functions/vsprintf.texi: Update.
43737
43738 2007-11-03  Bruno Haible  <bruno@clisp.org>
43739
43740         * modules/frexp-nolibm-tests: New file.
43741
43742         * modules/frexp-nolibm: New file.
43743         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
43744
43745 2007-11-03  Bruno Haible  <bruno@clisp.org>
43746
43747         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
43748         value is C99 compliant.
43749         Needed for OSF/1 5.1.
43750
43751 2007-11-03  Bruno Haible  <bruno@clisp.org>
43752
43753         Fix out-of-memory handling of vasnprintf.
43754         * lib/printf-parse.c: Include <errno.h>.
43755         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
43756         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
43757         is already set.
43758
43759 2007-11-02  Eric Blake  <ebb9@byu.net>
43760
43761         Fix tests on cygwin.
43762         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
43763
43764 2007-11-01  Bruno Haible  <bruno@clisp.org>
43765
43766         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
43767         warning.
43768         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
43769         needed for POSIX compatibility.
43770
43771 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
43772
43773         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
43774         for compatibility with GNU.
43775
43776 2007-11-01  Bruno Haible  <bruno@clisp.org>
43777
43778         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
43779         (putenv): Renamed from rpl_putenv. Change argument type from
43780         'const char *' to 'char *'.
43781         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
43782         of defining putenv in config.h, just set REPLACE_PUTENV.
43783         * modules/putenv (Depends-on): Add stdlib.
43784         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
43785         (Include): Use <stdlib.h>.
43786         * lib/stdlib.in.h (putenv): New declaration.
43787         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
43788         REPLACE_PUTENV.
43789         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
43790         REPLACE_PUTENV.
43791         Needed for MacOS X 10.5.0.
43792         Reported by Peter O'Gorman <peter@pogma.com>.
43793
43794 2007-11-01  Jim Meyering  <meyering@redhat.com>
43795
43796         Treat an empty date string exactly like "0".
43797         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
43798         if the remaining date string (to be parsed) is empty, use "0".
43799         Reported by Mischa Molhoek and discussed in this thread:
43800         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
43801
43802 2007-10-31  Bruno Haible  <bruno@clisp.org>
43803
43804         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
43805         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
43806         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
43807         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
43808         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
43809         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
43810
43811 2007-10-31  Bruno Haible  <bruno@clisp.org>
43812
43813         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
43814         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
43815         (AC_TYPE_LONG_LONG_INT): Use it.
43816         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
43817         it as well.
43818         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
43819         to m4/longlong.m4.
43820         * modules/stdint (Files): Remove m4/ulonglong.m4.
43821         * modules/strtoull (Files): Use m4/longlong.m4 instead of
43822         m4/ulonglong.m4.
43823         * modules/strtoumax (Files): Likewise.
43824
43825 2007-10-30  Bruno Haible  <bruno@clisp.org>
43826
43827         * modules/xvasprintf-posix: New file.
43828         Suggested by Eric Blake.
43829
43830 2007-10-30  Bruno Haible  <bruno@clisp.org>
43831
43832         * modules/xprintf-posix-tests: New file.
43833         * tests/test-xprintf-posix.sh: New file.
43834         * tests/test-xprintf-posix.c: New file.
43835         * tests/test-xfprintf-posix.c: New file.
43836
43837         * modules/xprintf-posix: New file.
43838
43839 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43840
43841         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
43842         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
43843         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
43844
43845 2007-10-29  Bruno Haible  <bruno@clisp.org>
43846
43847         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
43848         contain the special marker '_cv_'.
43849         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
43850         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
43851         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
43852         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
43853         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
43854         Reported by Ralf Wildenhues.
43855
43856 2007-10-29  Bruno Haible  <bruno@clisp.org>
43857
43858         * gnulib-tool (func_import): When --lgpl is not specified, set
43859         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
43860         GPLv3.
43861         Reported by Simon Josefsson.
43862
43863 2007-10-28  Bruno Haible  <bruno@clisp.org>
43864
43865         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
43866         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
43867         HAVE_DECL_ISFINITE.
43868         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
43869         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
43870         HAVE_DECL_ISFINITE.
43871
43872 2007-10-28  Bruno Haible  <bruno@clisp.org>
43873
43874         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
43875         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
43876
43877 2007-10-28  Bruno Haible  <bruno@clisp.org>
43878
43879         Fix link errors with Sun C 5.0 on Solaris 10.
43880         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
43881         function is declared but not present in the compiler's libm.
43882         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
43883         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
43884         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
43885         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
43886         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
43887         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
43888         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
43889         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
43890         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
43891         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
43892         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
43893         HAVE_DECL_FLOORL.
43894
43895 2007-10-28  Bruno Haible  <bruno@clisp.org>
43896
43897         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
43898         gl_FUNC_FLOORL. Cache the result.
43899         (gl_FUNC_FLOORL): Use it.
43900         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
43901         gl_FUNC_CEILL. Cache the result.
43902         (gl_FUNC_CEILL): Use it.
43903
43904         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
43905         gl_FUNC_FLOOR. Cache the result.
43906         (gl_FUNC_FLOOR): Use it.
43907         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
43908         gl_FUNC_CEIL. Cache the result.
43909         (gl_FUNC_CEIL): Use it.
43910
43911         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
43912         gl_FUNC_FLOORF. Cache the result.
43913         (gl_FUNC_FLOORF): Use it.
43914         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
43915         gl_FUNC_CEILF. Cache the result.
43916         (gl_FUNC_CEILF): Use it.
43917
43918 2007-10-28  Bruno Haible  <bruno@clisp.org>
43919
43920         * gnulib-tool: Allow specifying the LGPL version number through
43921         --lgpl=2 or --lgpl=3.
43922         (func_usage): Document --lgpl with argument.
43923         Handle --lgpl=... arguments.
43924         (func_import): Recognize also gl_LGPL calls with an argument. When
43925         --lgpl=2 is used and the module's license is just LGPL, report an
43926         error. Set sed_transform_lib_file according to the lgpl variable. In
43927         the generated files, use --lgpl or gl_LGPL invocations with argument,
43928         if necessary.
43929         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
43930         an LGPv2+ license.
43931         * doc/gnulib-tool.texi (Modified imports): Update explanation of
43932         gl_LGPL macro.
43933
43934 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43935             Bruno Haible  <bruno@clisp.org>
43936
43937         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
43938         (u16_uctomb_aux): Likewise.
43939         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
43940         !HAVE_INLINE.
43941         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
43942
43943 2007-10-28  Bruno Haible  <bruno@clisp.org>
43944
43945         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
43946         Invoke AM_GETTEXT_OPTION if it exists.
43947         * modules/vasprintf: Likewise.
43948         * modules/verror: Likewise.
43949         * modules/xprintf: Likewise.
43950         * modules/xvasprintf: Likewise.
43951
43952 2007-10-27  Ben Pfaff  <blp@gnu.org>
43953
43954         * lib/math.in.h: Define isfinite macro and prototypes for
43955         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
43956         implementations.
43957         * m4/math_h.m4: New substitutions for isfinite module.
43958         * lib/isfinite.c: New file.
43959         * m4/isfinite.m4: New file.
43960         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
43961         * modules/isfinite: New file.
43962         * modules/isfinite-tests: New file.
43963         * tests/tests-isfinite.c: New file.
43964         * doc/functions/isfinite.texi: Mention isfinite module.
43965         * MODULES.html.sh: Mention new module.
43966
43967 2007-10-27  Ben Pfaff  <blp@gnu.org>
43968
43969         Ralf Wildenhues reported that Tru64 4.0D declares the round
43970         functions but does not have definitions.
43971         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
43972         cannot be found in any library, set the output variable to
43973         "missing" instead of "".
43974         * m4/round.m4: Also use our substitute if we cannot find round in
43975         any library, even if it is declared.
43976         * m4/roundf.m4: Likewise for roundf.
43977         * m4/roundl.m4: Likewise for roundl.
43978         * lib/math.in.h: Undefine roundf, round, roundl before defining
43979         their replacements, to allow for hypothetical systems where these
43980         may be defined as macros but not available in libraries.
43981
43982 2007-10-27  Bruno Haible  <bruno@clisp.org>
43983
43984         * doc/gnulib.texi: Invoke @firstparagraphindent.
43985         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
43986         changes in gnulib.
43987         (Source changes): New section.
43988
43989 2007-10-26  Bruno Haible  <bruno@clisp.org>
43990
43991         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
43992         borrowed from autoconf.
43993
43994 2007-10-26  Bruno Haible  <bruno@clisp.org>
43995
43996         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
43997         strerror returned the empty string. Needed on HP-UX 11.00.
43998
43999 2007-10-24  Micah Cowan  <micah@cowan.name>
44000
44001         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
44002         * build-aux/bootstrap: Remove support for now-unnecessary option,
44003         --cvs-user, and envvars CVS_USER, CVS_RSH.
44004
44005 2007-10-24  Jim Meyering  <meyering@redhat.com>
44006
44007         Avoid diagnostics from sha1sum when there is no cached checksum.
44008         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
44009         if the po.s1 file hasn't been created yet.
44010
44011         * build-aux/bootstrap: Sync from coreutils:
44012         2007-10-24  Jim Meyering  <meyering@redhat.com>
44013         Get gnulib from the git repository, not from an obsolete cvs one.
44014         * build-aux/bootstrap: Suggestion from Micah Cowan.
44015         2007-10-04  Jim Meyering  <jim@meyering.net>
44016         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
44017         (update_po_files): Work also when there are no .po files in po/.
44018
44019 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
44020
44021         * README: Append ".git" to git and cg examples.
44022         Problem reported by Benoit Sigoure.
44023
44024 2007-10-23  Micah Cowan  <micah@cowan.name>
44025
44026         * users.txt: Add wget.
44027
44028 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44029
44030         Fix linking of some unistdio tests on FreeBSD.
44031         * modules/unistdio/u16-vsnprintf-tests
44032         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
44033         * modules/unistdio/u16-vsprintf-tests
44034         (test_u16_vsnprintf1_LDADD): Likewise.
44035         * modules/unistdio/u32-vsnprintf-tests
44036         (test_u32_vsnprintf1_LDADD): Likewise.
44037         * modules/unistdio/u32-vsprintf-tests
44038         (test_u32_vsprintf1_LDADD): Likewise.
44039         * modules/unistdio/u8-vsnprintf-tests
44040         (test_u8_vsnprintf1_LDADD): Likewise.
44041         * modules/unistdio/u8-vsprintf-tests
44042         (test_u8_vsprintf1_LDADD): Likewise.
44043         * modules/unistdio/ulc-vsnprintf-tests
44044         (test_ulc_vsnprintf1_LDADD): Likewise.
44045         * modules/unistdio/ulc-vsprintf-tests
44046         (test_ulc_vsprintf1_LDADD): Likewise.
44047
44048         Fix linking of some uniconv tests on FreeBSD.
44049         * modules/uniconv/u16-conv-from-enc-tests
44050         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
44051         * modules/uniconv/u16-conv-to-enc-tests
44052         (test_u16_conv_to_enc_LDADD): Likewise.
44053         * modules/uniconv/u16-strconv-from-enc-tests
44054         (test_u16_strconv_from_enc_LDADD): Likewise.
44055         * modules/uniconv/u16-strconv-to-enc-tests
44056         (test_u16_strconv_to_enc_LDADD): Likewise.
44057         * modules/uniconv/u32-conv-from-enc-tests
44058         (test_u32_conv_from_enc_LDADD): Likewise.
44059         * modules/uniconv/u32-conv-to-enc-tests
44060         (test_u32_conv_to_enc_LDADD): Likewise.
44061         * modules/uniconv/u32-strconv-from-enc-tests
44062         (test_u32_strconv_from_enc_LDADD): Likewise.
44063         * modules/uniconv/u32-strconv-to-enc-tests
44064         (test_u32_strconv_to_enc_LDADD): Likewise.
44065         * modules/uniconv/u8-conv-from-enc-tests
44066         (test_u8_conv_from_enc_LDADD): Likewise.
44067         * modules/uniconv/u8-conv-to-enc-tests
44068         (test_u8_conv_to_enc_LDADD): Likewise.
44069         * modules/uniconv/u8-strconv-from-enc-tests
44070         (test_u8_strconv_from_enc_LDADD): Likewise.
44071         * modules/uniconv/u8-strconv-to-enc-tests
44072         (test_u8_strconv_to_enc_LDADD): Likewise.
44073
44074 2007-10-22  Bruno Haible  <bruno@clisp.org>
44075
44076         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
44077         size.
44078
44079 2007-10-22  Eric Blake  <ebb9@byu.net>
44080
44081         Tweak x*printf documentation.
44082         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
44083         variable name and comments.
44084         Suggested by Bruno Haible.
44085
44086 2007-10-22  Bruno Haible  <bruno@clisp.org>
44087
44088         * lib/acl.c (copy_acl): Fix file name in comment.
44089
44090 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
44091
44092         Fix Tru64 problem with stdbool.h.
44093         * lib/stdbool.in.h (false, true):
44094         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
44095         Don't declare as an enum in this situation; it runs afoul of Tru64.
44096         Problem reported by Steven M. Schweda in
44097         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
44098
44099 2007-10-22  Eric Blake  <ebb9@byu.net>
44100
44101         Also wrap vf?printf.
44102         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
44103         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
44104         (xvprintf, xvfprintf): New functions.
44105
44106 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44107
44108         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
44109         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
44110
44111         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
44112         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
44113
44114 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
44115
44116         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
44117         by Bruno Haible.
44118
44119 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44120
44121         * lib/getloadavg.c
44122         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
44123         Undef `sys' after including sys/table.h, for Tru64 4.0D.
44124
44125         * tests/test-i-ring.c: Work for C89.
44126
44127 2007-10-22  Bruno Haible  <bruno@clisp.org>
44128
44129         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
44130         -1u, in preprocessor expression, so that we don't test for the bug
44131         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
44132         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
44133
44134 2007-10-22  Eric Blake  <ebb9@byu.net>
44135
44136         * tests/test-yesno.sh: Silence stderr during test.
44137
44138 2007-10-22  Simon Josefsson  <simon@josefsson.org>
44139
44140         * modules/crypto/gc-camellia: New file.
44141
44142         * m4/gc-camellia.m4: New file.
44143
44144         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
44145
44146         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
44147
44148 2007-10-22  Simon Josefsson  <simon@josefsson.org>
44149
44150         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
44151         --help to stdout.  Reported by sms@antinode.org (Steven
44152         M. Schweda).
44153
44154 2007-10-22  Simon Josefsson  <simon@josefsson.org>
44155
44156         * users.txt: Fix link to libksba.
44157
44158 2007-10-21  Ben Pfaff  <blp@gnu.org>
44159
44160         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
44161         round.c roundf implementation that depends on floorf and ceilf to
44162         be tested unconditionally.
44163
44164 2007-10-21  Ben Pfaff  <blp@gnu.org>
44165
44166         * m4/check-libm-func.m4: Removed.
44167         * m4/check-math-lib.m4: New file.
44168         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
44169         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
44170         definition and lack of AC_LIBOBJ([roundf]).
44171         * m4/roundl.m4: Ditto, and similarly for roundl.
44172         * modules/round: Reference new m4 file.
44173         * modules/roundf: Ditto.
44174         * modules/roundl: Ditto.
44175         * tests/test-round2.c (main): Use ROUND instead of round.
44176         Bug report from Bruno Haible.
44177
44178 2007-10-21  Bruno Haible  <bruno@clisp.org>
44179
44180         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
44181         context.
44182
44183 2007-10-21  Bruno Haible  <bruno@clisp.org>
44184
44185         * tests/test-wcwidth.c (main): Allow negative result for some control
44186         characters.
44187
44188         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
44189         Needed on OSF/1 5.1.
44190
44191 2007-10-21  Bruno Haible  <bruno@clisp.org>
44192
44193         * tests/test-floorf1.c: Include isnanf.h.
44194         (main): Use isnanf() instead of isnan().
44195         * tests/test-ceilf1.c: Include isnanf.h.
44196         (main): Use isnanf() instead of isnan().
44197         * tests/test-truncf1.c: Include isnanf.h.
44198         (main): Use isnanf() instead of isnan().
44199         * tests/test-roundf1.c: Include isnanf.h.
44200         (main): Use isnanf() instead of isnan().
44201
44202 2007-10-21  Eric Blake  <ebb9@byu.net>
44203
44204         * users.txt: Update URL for m4.
44205
44206 2007-10-21  Bruno Haible  <bruno@clisp.org>
44207
44208         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
44209
44210 2007-10-21  Bruno Haible  <bruno@clisp.org>
44211
44212         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
44213         Git's management files if the CVS files are not present.
44214
44215 2007-10-20  Bruno Haible  <bruno@clisp.org>
44216
44217         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
44218         gcc-3.4.x.
44219
44220 2007-10-20  Ben Pfaff  <blp@gnu.org>
44221
44222         * lib/math.in.h: Declare round, roundf, roundl if we are providing
44223         implementations.
44224         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
44225         * lib/round.c: New file.
44226         * lib/roundf.c: New file.
44227         * lib/roundl.c: New file.
44228         * m4/round.m4: New file.
44229         * m4/roundf.m4: New file.
44230         * m4/roundl.m4: New file.
44231         * m4/check-libm-func-m4: New file.
44232         * modules/math: Replace round, roundf, roundl related @VARS@ in
44233         math.in.h.
44234         * modules/round: New file.
44235         * modules/round-tests: New file.
44236         * modules/roundf: New file.
44237         * modules/roundf-tests: New file.
44238         * modules/roundl: New file.
44239         * modules/roundl-tests: New file.
44240         * tests/test-round1.c: New file.
44241         * tests/test-round2.c: New file.
44242         * tests/test-roundf1.c: New file.
44243         * tests/test-roundf2.c: New file.
44244         * tests/test-roundl.c: New file.
44245         * doc/functions/round.texi: Mention round module.
44246         * doc/functions/roundf.texi: Mention roundf module.
44247         * doc/functions/roundl.texi: Mention roundl module.
44248         * MODULES.html.sh: Mention new modules.
44249         Thanks to Bruno Haible for suggestions.
44250
44251 2007-10-20  Jim Meyering  <meyering@redhat.com>
44252
44253         * lib/xprintf.c: Include <config.h> unconditionally.
44254
44255         Change xprintf's license to GPL.
44256         * modules/xprintf (License): s/LGPL/GPL/, since this module
44257         depends on modules (exit and exitfail) which are GPL.
44258         Suggestion from Bruno Haible.
44259
44260         xprintf fixes.
44261         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
44262         Use a clearer diagnostic.
44263         Patch from Bruno Haible.
44264
44265 2007-10-20  Bruno Haible  <bruno@clisp.org>
44266
44267         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
44268         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
44269         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
44270
44271 2007-10-20  Bruno Haible  <bruno@clisp.org>
44272
44273         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
44274         precision in the comparison result > x - 1 or similar.
44275         * tests/test-ceilf2.c (correct_result_p): Likewise.
44276         * tests/test-truncf2.c (correct_result_p): Likewise.
44277         * tests/test-trunc2.c (correct_result_p): Likewise.
44278         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
44279
44280 2007-10-20  Bruno Haible  <bruno@clisp.org>
44281
44282         * modules/ceil: New file.
44283         * m4/ceil.m4: New file.
44284         * doc/functions/ceil.texi: Mention the 'ceil' module.
44285
44286 2007-10-20  Bruno Haible  <bruno@clisp.org>
44287
44288         * modules/floor: New file.
44289         * m4/floor.m4: New file.
44290         * doc/functions/floor.texi: Mention the 'floor' module.
44291
44292 2007-10-20  Bruno Haible  <bruno@clisp.org>
44293
44294         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
44295         of %a.
44296         * modules/floorf-tests (Depends-on): Likewise.
44297         * modules/truncf-tests (Depends-on): Likewise.
44298         * modules/trunc-tests (Depends-on): Likewise.
44299         Reported by Ben Pfaff.
44300
44301 2007-10-19  Jim Meyering  <meyering@redhat.com>
44302
44303         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
44304         Don't bother testing specific errno values.  Just test ferror.
44305
44306         New module: xprintf
44307         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
44308
44309 2007-10-19  Bruno Haible  <bruno@clisp.org>
44310
44311         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
44312         syntax.
44313         * modules/javaexec (Makefile.am): Likewise.
44314         * modules/relocatable-prog (Makefile.am): Likewise.
44315         Suggested by Jim Meyering.
44316
44317 2007-10-18  Bruno Haible  <bruno@clisp.org>
44318
44319         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
44320         Reported by Jim Meyering.
44321
44322 2007-10-18  Eric Blake  <ebb9@byu.net>
44323
44324         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
44325
44326 2007-10-18  Bruno Haible  <bruno@clisp.org>
44327
44328         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
44329         the format string into writable memory. Needed in Fortify conditions.
44330
44331 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
44332             Bruno Haible  <bruno@clisp.org>
44333
44334         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
44335         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
44336         * modules/trim (Depends-on): Add mbchar.
44337         (configure.ac): Add gl_FUNC_MBRTOWC.
44338         (Makefile.am): Augment lib_SOURCES.
44339
44340 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
44341
44342         Modify glob.c to use fstatat and dirfd, to simplify it.
44343         Suggested by Eric Blake.
44344         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
44345         Don't include <stdbool.h>; not used.
44346         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
44347         (link_exists_p): Simplify implementation, since we can now assume
44348         dirfd and fstatat.
44349         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
44350
44351 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44352
44353         * gnulib-tool (func_get_dependencies): Fix sed script to
44354         match only tests.
44355
44356 2007-10-17  Bruno Haible  <bruno@clisp.org>
44357
44358         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
44359         allow locale names without encoding suffix.
44360         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
44361         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
44362
44363 2007-10-16  Bruno Haible  <bruno@clisp.org>
44364
44365         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
44366         * lib/getgroups.c (getgroups): Likewise.
44367         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
44368
44369 2007-10-16  Bruno Haible  <bruno@clisp.org>
44370
44371         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
44372         * modules/malloc-posix (License): Likewise.
44373         * modules/realloc-posix (License): Likewise.
44374         * modules/calloc-posix (License): Likewise.
44375         * modules/intprops (License): Change from GPL to LGPL, with
44376         Paul Eggert's approval.
44377
44378 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
44379
44380         Merge glibc changes into lib/glob.c.
44381
44382         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
44383         2007-10-15 04:59:03 UTC.  Here are the changes:
44384
44385         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
44386
44387         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
44388
44389         * lib/glob.c: Add some branch prediction throughout.
44390
44391         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
44392
44393         [BZ #5103]
44394         * lib/glob.c (glob): Recognize patterns starting \/.
44395
44396         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
44397
44398         [BZ #3996]
44399         * lib/glob.c (attribute_hidden): Define if not defined.
44400         (glob): Unescape dirname, filename or username when needed and not
44401         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
44402         is NULL.  Handle unescaped [ in pattern without closing ].
44403         Don't pass GLOB_CHECK down to recursive glob for directories.
44404         (__glob_pattern_type): New function.
44405         (__glob_pattern_p): Implement using __glob_pattern_type.
44406         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
44407         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
44408         Remove unreachable code.
44409
44410         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
44411
44412         * lib/glob.c (glob_in_dir): Add some comments and asserts to
44413         explain why there are no leaks.
44414
44415         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
44416
44417         [BZ #3253]
44418         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
44419         time, rather allocate increasingly bigger arrays of pointers, if
44420         possible with alloca, if too large with malloc.
44421
44422 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
44423
44424         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
44425         Problem reported by H.Merijn Brand in
44426         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
44427         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
44428         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
44429
44430 2007-10-15  Bruno Haible  <bruno@clisp.org>
44431
44432         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
44433         with explicit rpl_ prefix.
44434         * lib/fopen.c (fopen): Likewise.
44435         * lib/freopen.c (freopen): Likewise.
44436         * lib/iconv.c (iconv): Likewise.
44437         * lib/iconv_close.c (iconv_close): Likewise.
44438
44439 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44440
44441         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
44442
44443 2007-10-15  Bruno Haible  <bruno@clisp.org>
44444
44445         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
44446         <stddef.h> instead of <stdlib.h> since we only need NULL.
44447         Reported by Ben Pfaff <blp@cs.stanford.edu>.
44448
44449 2007-10-15  Bruno Haible  <bruno@clisp.org>
44450
44451         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
44452         Replace paragraph talking about LIBOBJS.
44453         Reported by Colin Watson <cjwatson@debian.org>.
44454
44455 2007-10-15  Bruno Haible  <bruno@clisp.org>
44456
44457         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
44458         <stdlib.h> before using NULL.
44459
44460 2007-10-15  Simon Josefsson  <simon@josefsson.org>
44461
44462         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
44463         Reported by Albert Chin <china@thewrittenword.com>.
44464
44465 2007-10-14  Bruno Haible  <bruno@clisp.org>
44466
44467         * modules/iconv_open-utf-tests: New file.
44468         * tests/test-iconv-utf.c: New file.
44469
44470         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
44471         * modules/iconv_open-utf: New file.
44472         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
44473         (iconv, iconv_close): New declarations.
44474         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
44475         be defined.
44476         (iconv_open): Add special handling of conversion between UTF-8 and
44477         UTF-{16,32}{BE,LE}.
44478         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
44479         * lib/iconv_close.c: New file.
44480         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
44481         gl_FUNC_ICONV_OPEN.
44482         (gl_FUNC_ICONV_OPEN): Use it.
44483         (gl_FUNC_ICONV_OPEN_UTF): New macro.
44484         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
44485         and REPLACE_ICONV_UTF.
44486         * modules/iconv_open (Depends-on): Add c-strcase.
44487         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
44488         ICONV_CONST.
44489         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
44490
44491 2007-10-13  Albert Chin  <china@thewrittenword.com>
44492             Bruno Haible  <bruno@clisp.org>
44493
44494         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
44495         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
44496
44497 2007-10-13  Bruno Haible  <bruno@clisp.org>
44498
44499         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
44500         defined, use the ISO C99 inline semantics.
44501         * lib/argp.h (ARGP_EI): Likewise.
44502
44503 2007-10-13  Bruno Haible  <bruno@clisp.org>
44504
44505         Handle 'inline' change in gcc 4.3.0.
44506         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
44507         argp_fmtstream_write, argp_fmtstream_set_lmargin,
44508         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
44509         argp_fmtstream_point): Disable 'extern' declaration if the function
44510         definition is going to be provided inline.
44511         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
44512         semantics, not the ISO C99 inline semantics.
44513         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
44514         'extern' declaration if the function definition is going to be provided
44515         inline.
44516         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
44517         the GNU C inline semantics, not the ISO C99 inline semantics. With
44518         GCC 4.2, avoid a warning.
44519
44520 2007-10-13  Bruno Haible  <bruno@clisp.org>
44521
44522         * lib/freading.h (freading): Enable the use of __freading for
44523         glibc >= 2.7.
44524         * lib/freading.c (freading): Likewise.
44525
44526 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
44527
44528         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
44529         "warning: C99 inline functions are not supported; using GNU89".
44530
44531 2007-10-12  Bruno Haible  <bruno@clisp.org>
44532
44533         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
44534         of 2.
44535         * tests/test-ceilf2.c: New file.
44536         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
44537
44538         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
44539         * modules/ceilf-tests: Update.
44540
44541 2007-10-12  Bruno Haible  <bruno@clisp.org>
44542
44543         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
44544         of 2.
44545         * tests/test-floorf2.c: New file.
44546         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
44547
44548         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
44549         * modules/floorf-tests: Update.
44550
44551 2007-10-12  Bruno Haible  <bruno@clisp.org>
44552
44553         * tests/test-trunc2.c: New file.
44554         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
44555
44556         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
44557         * modules/trunc-tests: Update.
44558
44559 2007-10-12  Bruno Haible  <bruno@clisp.org>
44560
44561         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
44562         of 2.
44563         * tests/test-truncf2.c: New file.
44564         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
44565
44566         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
44567         * modules/truncf-tests: Update.
44568
44569 2007-10-11  Eric Blake  <ebb9@byu.net>
44570
44571         Don't claim strerror is broken on Interix.
44572         * doc/functions/strerror.texi (strerror): Known broken systems are
44573         now Solaris 8, and not Interix.
44574         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
44575         Interix on cross-compile.
44576         Reported by Martin Koeppe in
44577         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
44578
44579 2007-10-11  Bruno Haible  <bruno@clisp.org>
44580
44581         * modules/i-ring-tests: New file.
44582         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
44583         instead of assert.
44584
44585 2007-10-11  Bruno Haible  <bruno@clisp.org>
44586
44587         * modules/filenamecat-tests: New file.
44588         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
44589         * lib/filenamecat.c: Remove test code.
44590
44591 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
44592
44593         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
44594
44595         * lib/strerror.c: Include <string.h> always, to test interface,
44596         and to remove the need for the dummy.
44597         Include intprops.h to compute width instead of doing it ourselves
44598         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
44599         (strerror): Define it to return NULL if there's no system strerror.
44600         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
44601         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
44602         ancient pre-strerror Unix systems well any more.  Saying "unknown
44603         system error" is enough.
44604         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
44605         simpler strerror.c implementation.
44606         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
44607         Simplify the tests to reflect the simpler strerror implementation.
44608         * modules/strerror (Depends-on): Add intprops.
44609
44610 2007-10-09  Eric Blake  <ebb9@byu.net>
44611
44612         Silence test-fpending.
44613         * modules/fpending-tests (Files): Add wrapper script.
44614         * tests/test-fpending.sh: New file.
44615
44616 2007-10-09  Bruno Haible  <bruno@clisp.org>
44617
44618         * MODULES.html.sh (func_module): Don't create a hyperlink for
44619         function names like 'printf_frexp'.
44620         (Misc): Add crc, memxor.
44621         (Characteristics of floating types): New section.
44622         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
44623         isnanf-nolibm, signbit, trunc, truncf, truncl.
44624         (Enhancements for ISO C 99 functions): New subsection Input/output.
44625         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
44626         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
44627         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
44628         (Compatibility checks for POSIX:2001 functions): Add clock-time.
44629         (Enhancements for POSIX:2001 functions): Add chdir-long.
44630         (File system functions): Add areadlink, chdir-safer, read-file.
44631         Remove cycle-check.
44632         (File system as inode set): New section.
44633         (Date and time): Add gethrxtime.
44634         (Multithreading): Add openmp.
44635         (Internationalization functions): Add localename.
44636         (Unicode string functions): Add unistr/u*-mbsnlen.
44637         (Support for maintaining and releasing projects): Add git-version-gen.
44638         (Lone files): Remove directories.
44639
44640 2007-10-08  Ben Pfaff  <blp@gnu.org>
44641
44642         * lib/xmalloca.h: Fix typo in comment.
44643
44644 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
44645
44646         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
44647         when avoiding problems with integer overflow.  Use a portable test
44648         instead.
44649
44650 2007-10-08  Simon Josefsson  <simon@josefsson.org>
44651
44652         * modules/dummy (License): Change to LGPLv2+.
44653         * modules/float (License): Likewise
44654         * modules/realloc (License): Likewise
44655         * modules/stdlib (License): Likewise
44656
44657 2007-10-07  Bruno Haible  <bruno@clisp.org>
44658
44659         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
44660         * floor.c (TWO_MANT_DIG): Likewise.
44661         * ceil.c (TWO_MANT_DIG): Likewise.
44662         Reported by Ben Pfaff.
44663
44664 2007-10-07  Bruno Haible  <bruno@clisp.org>
44665
44666         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
44667         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
44668         * lib/frexp.c (FUNC): Likewise.
44669         * lib/printf-frexp.h (printf_frexp): Likewise.
44670         * lib/printf-frexpl.h (printf_frexpl): Likewise.
44671         * lib/printf-frexp.c (FUNC): Likewise.
44672         Suggested by Jim Meyering.
44673
44674 2007-10-07  Jim Meyering  <meyering@redhat.com>
44675
44676         Make xnanosleep's integer overflow test more robust.
44677         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
44678         so that gcc-4.3.0 doesn't optimize away this test for overflow.
44679
44680 2007-10-07  Bruno Haible  <bruno@clisp.org>
44681
44682         * NEWS: Mention the license change.
44683
44684         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
44685         abbreviations in the modules files.
44686
44687         Change copyright notice from GPLv2+ to GPLv3+.
44688         * README: Change copyright notice.
44689         * MODULES.html.sh: Likewise.
44690         * build-aux/bootstrap.conf: Likewise.
44691         * build-aux/config.libpath: Likewise.
44692         * build-aux/csharpcomp.sh.in: Likewise.
44693         * build-aux/csharpexec.sh.in: Likewise.
44694         * build-aux/install-reloc: Likewise.
44695         * build-aux/javacomp.sh.in: Likewise.
44696         * build-aux/javaexec.sh.in: Likewise.
44697         * build-aux/ldd.sh.in: Likewise.
44698         * build-aux/reloc-ldflags: Likewise.
44699         * build-aux/relocatable.sh.in: Likewise.
44700         * build-aux/x-to-1.in: Likewise.
44701         * check-module: Likewise.
44702         * config/srclistvars.sh: Likewise.
44703         * gnulib-tool: Likewise.
44704         * lib/acl-internal.h: Likewise.
44705         * lib/acl.c: Likewise.
44706         * lib/acl.h: Likewise.
44707         * lib/acl_entries.c: Likewise.
44708         * lib/areadlink-with-size.c: Likewise.
44709         * lib/areadlink.c: Likewise.
44710         * lib/areadlink.h: Likewise.
44711         * lib/argmatch.c: Likewise.
44712         * lib/argmatch.h: Likewise.
44713         * lib/argp-ba.c: Likewise.
44714         * lib/argp-eexst.c: Likewise.
44715         * lib/argp-fmtstream.c: Likewise.
44716         * lib/argp-fmtstream.h: Likewise.
44717         * lib/argp-fs-xinl.c: Likewise.
44718         * lib/argp-help.c: Likewise.
44719         * lib/argp-namefrob.h: Likewise.
44720         * lib/argp-parse.c: Likewise.
44721         * lib/argp-pin.c: Likewise.
44722         * lib/argp-pv.c: Likewise.
44723         * lib/argp-pvh.c: Likewise.
44724         * lib/argp-xinl.c: Likewise.
44725         * lib/argp.h: Likewise.
44726         * lib/at-func.c: Likewise.
44727         * lib/atanl.c: Likewise.
44728         * lib/backupfile.c: Likewise.
44729         * lib/backupfile.h: Likewise.
44730         * lib/basename.c: Likewise.
44731         * lib/binary-io.h: Likewise.
44732         * lib/byteswap.in.h: Likewise.
44733         * lib/c-stack.c: Likewise.
44734         * lib/c-stack.h: Likewise.
44735         * lib/c-strcasestr.c: Likewise.
44736         * lib/c-strcasestr.h: Likewise.
44737         * lib/c-strstr.c: Likewise.
44738         * lib/c-strstr.h: Likewise.
44739         * lib/c-strtod.c: Likewise.
44740         * lib/calloc.c: Likewise.
44741         * lib/canon-host.c: Likewise.
44742         * lib/canon-host.h: Likewise.
44743         * lib/canonicalize-lgpl.c: Likewise.
44744         * lib/canonicalize.c: Likewise.
44745         * lib/canonicalize.h: Likewise.
44746         * lib/ceil.c: Likewise.
44747         * lib/ceilf.c: Likewise.
44748         * lib/ceill.c: Likewise.
44749         * lib/chdir-long.c: Likewise.
44750         * lib/chdir-long.h: Likewise.
44751         * lib/chdir-safer.c: Likewise.
44752         * lib/chdir-safer.h: Likewise.
44753         * lib/chown.c: Likewise.
44754         * lib/classpath.c: Likewise.
44755         * lib/classpath.h: Likewise.
44756         * lib/clean-temp.c: Likewise.
44757         * lib/clean-temp.h: Likewise.
44758         * lib/cloexec.c: Likewise.
44759         * lib/close-stream.c: Likewise.
44760         * lib/closein.c: Likewise.
44761         * lib/closein.h: Likewise.
44762         * lib/closeout.c: Likewise.
44763         * lib/closeout.h: Likewise.
44764         * lib/concat-filename.c: Likewise.
44765         * lib/copy-file.c: Likewise.
44766         * lib/copy-file.h: Likewise.
44767         * lib/count-one-bits.h: Likewise.
44768         * lib/crc.c: Likewise.
44769         * lib/crc.h: Likewise.
44770         * lib/creat-safer.c: Likewise.
44771         * lib/csharpcomp.c: Likewise.
44772         * lib/csharpcomp.h: Likewise.
44773         * lib/csharpexec.c: Likewise.
44774         * lib/csharpexec.h: Likewise.
44775         * lib/cycle-check.c: Likewise.
44776         * lib/cycle-check.h: Likewise.
44777         * lib/diacrit.c: Likewise.
44778         * lib/diacrit.h: Likewise.
44779         * lib/diffseq.h: Likewise.
44780         * lib/dirchownmod.c: Likewise.
44781         * lib/dirent.in.h: Likewise.
44782         * lib/dirfd.c: Likewise.
44783         * lib/dirfd.h: Likewise.
44784         * lib/dirname.c: Likewise.
44785         * lib/dirname.h: Likewise.
44786         * lib/dummy.c: Likewise.
44787         * lib/dup-safer.c: Likewise.
44788         * lib/dup2.c: Likewise.
44789         * lib/eealloc.h: Likewise.
44790         * lib/error.c: Likewise.
44791         * lib/error.h: Likewise.
44792         * lib/euidaccess.c: Likewise.
44793         * lib/exclude.c: Likewise.
44794         * lib/exclude.h: Likewise.
44795         * lib/execute.c: Likewise.
44796         * lib/execute.h: Likewise.
44797         * lib/exitfail.c: Likewise.
44798         * lib/exitfail.h: Likewise.
44799         * lib/expl.c: Likewise.
44800         * lib/fatal-signal.c: Likewise.
44801         * lib/fatal-signal.h: Likewise.
44802         * lib/fbufmode.c: Likewise.
44803         * lib/fbufmode.h: Likewise.
44804         * lib/fchdir.c: Likewise.
44805         * lib/fchmodat.c: Likewise.
44806         * lib/fchownat.c: Likewise.
44807         * lib/fcntl--.h: Likewise.
44808         * lib/fcntl-safer.h: Likewise.
44809         * lib/fcntl.in.h: Likewise.
44810         * lib/fd-safer.c: Likewise.
44811         * lib/fflush.c: Likewise.
44812         * lib/file-has-acl.c: Likewise.
44813         * lib/file-set.c: Likewise.
44814         * lib/file-type.c: Likewise.
44815         * lib/file-type.h: Likewise.
44816         * lib/fileblocks.c: Likewise.
44817         * lib/filemode.c: Likewise.
44818         * lib/filemode.h: Likewise.
44819         * lib/filename.h: Likewise.
44820         * lib/filenamecat.c: Likewise.
44821         * lib/filenamecat.h: Likewise.
44822         * lib/findprog.c: Likewise.
44823         * lib/findprog.h: Likewise.
44824         * lib/float.in.h: Likewise.
44825         * lib/floor.c: Likewise.
44826         * lib/floorf.c: Likewise.
44827         * lib/floorl.c: Likewise.
44828         * lib/fopen-safer.c: Likewise.
44829         * lib/fopen.c: Likewise.
44830         * lib/fpending.c: Likewise.
44831         * lib/fpending.h: Likewise.
44832         * lib/fprintf.c: Likewise.
44833         * lib/fprintftime.h: Likewise.
44834         * lib/fpucw.h: Likewise.
44835         * lib/fpurge.c: Likewise.
44836         * lib/fpurge.h: Likewise.
44837         * lib/freadable.c: Likewise.
44838         * lib/freadable.h: Likewise.
44839         * lib/freadahead.c: Likewise.
44840         * lib/freadahead.h: Likewise.
44841         * lib/freading.c: Likewise.
44842         * lib/freading.h: Likewise.
44843         * lib/free.c: Likewise.
44844         * lib/freopen.c: Likewise.
44845         * lib/frexp.c: Likewise.
44846         * lib/frexpl.c: Likewise.
44847         * lib/fseek.c: Likewise.
44848         * lib/fseterr.c: Likewise.
44849         * lib/fseterr.h: Likewise.
44850         * lib/fstatat.c: Likewise.
44851         * lib/fstrcmp.c: Likewise.
44852         * lib/fstrcmp.h: Likewise.
44853         * lib/fsusage.c: Likewise.
44854         * lib/fsusage.h: Likewise.
44855         * lib/ftell.c: Likewise.
44856         * lib/ftello.c: Likewise.
44857         * lib/fts-cycle.c: Likewise.
44858         * lib/fts.c: Likewise.
44859         * lib/fts_.h: Likewise.
44860         * lib/full-read.c: Likewise.
44861         * lib/full-read.h: Likewise.
44862         * lib/full-write.c: Likewise.
44863         * lib/full-write.h: Likewise.
44864         * lib/fwritable.c: Likewise.
44865         * lib/fwritable.h: Likewise.
44866         * lib/fwriteerror.c: Likewise.
44867         * lib/fwriteerror.h: Likewise.
44868         * lib/fwriting.c: Likewise.
44869         * lib/fwriting.h: Likewise.
44870         * lib/gcd.c: Likewise.
44871         * lib/gcd.h: Likewise.
44872         * lib/getcwd.c: Likewise.
44873         * lib/getdate.h: Likewise.
44874         * lib/getdate.y: Likewise.
44875         * lib/getdomainname.c: Likewise.
44876         * lib/getdomainname.h: Likewise.
44877         * lib/getgroups.c: Likewise.
44878         * lib/gethostname.c: Likewise.
44879         * lib/gethrxtime.c: Likewise.
44880         * lib/gethrxtime.h: Likewise.
44881         * lib/getloadavg.c: Likewise.
44882         * lib/getndelim2.c: Likewise.
44883         * lib/getndelim2.h: Likewise.
44884         * lib/getnline.c: Likewise.
44885         * lib/getnline.h: Likewise.
44886         * lib/getopt.c: Likewise.
44887         * lib/getopt.in.h: Likewise.
44888         * lib/getopt1.c: Likewise.
44889         * lib/getopt_int.h: Likewise.
44890         * lib/getpagesize.h: Likewise.
44891         * lib/getsubopt.c: Likewise.
44892         * lib/gettime.c: Likewise.
44893         * lib/getugroups.c: Likewise.
44894         * lib/getugroups.h: Likewise.
44895         * lib/getusershell.c: Likewise.
44896         * lib/gl_anyavltree_list1.h: Likewise.
44897         * lib/gl_anyavltree_list2.h: Likewise.
44898         * lib/gl_anyhash_list1.h: Likewise.
44899         * lib/gl_anyhash_list2.h: Likewise.
44900         * lib/gl_anylinked_list1.h: Likewise.
44901         * lib/gl_anylinked_list2.h: Likewise.
44902         * lib/gl_anyrbtree_list1.h: Likewise.
44903         * lib/gl_anyrbtree_list2.h: Likewise.
44904         * lib/gl_anytree_list1.h: Likewise.
44905         * lib/gl_anytree_list2.h: Likewise.
44906         * lib/gl_anytree_oset.h: Likewise.
44907         * lib/gl_anytreehash_list1.h: Likewise.
44908         * lib/gl_anytreehash_list2.h: Likewise.
44909         * lib/gl_array_list.c: Likewise.
44910         * lib/gl_array_list.h: Likewise.
44911         * lib/gl_array_oset.c: Likewise.
44912         * lib/gl_array_oset.h: Likewise.
44913         * lib/gl_avltree_list.c: Likewise.
44914         * lib/gl_avltree_list.h: Likewise.
44915         * lib/gl_avltree_oset.c: Likewise.
44916         * lib/gl_avltree_oset.h: Likewise.
44917         * lib/gl_avltreehash_list.c: Likewise.
44918         * lib/gl_avltreehash_list.h: Likewise.
44919         * lib/gl_carray_list.c: Likewise.
44920         * lib/gl_carray_list.h: Likewise.
44921         * lib/gl_linked_list.c: Likewise.
44922         * lib/gl_linked_list.h: Likewise.
44923         * lib/gl_linkedhash_list.c: Likewise.
44924         * lib/gl_linkedhash_list.h: Likewise.
44925         * lib/gl_list.c: Likewise.
44926         * lib/gl_list.h: Likewise.
44927         * lib/gl_oset.c: Likewise.
44928         * lib/gl_oset.h: Likewise.
44929         * lib/gl_rbtree_list.c: Likewise.
44930         * lib/gl_rbtree_list.h: Likewise.
44931         * lib/gl_rbtree_oset.c: Likewise.
44932         * lib/gl_rbtree_oset.h: Likewise.
44933         * lib/gl_rbtreehash_list.c: Likewise.
44934         * lib/gl_rbtreehash_list.h: Likewise.
44935         * lib/gl_sublist.c: Likewise.
44936         * lib/gl_sublist.h: Likewise.
44937         * lib/group-member.c: Likewise.
44938         * lib/group-member.h: Likewise.
44939         * lib/hard-locale.c: Likewise.
44940         * lib/hard-locale.h: Likewise.
44941         * lib/hash-pjw.c: Likewise.
44942         * lib/hash-pjw.h: Likewise.
44943         * lib/hash-triple.c: Likewise.
44944         * lib/hash.c: Likewise.
44945         * lib/hash.h: Likewise.
44946         * lib/human.c: Likewise.
44947         * lib/human.h: Likewise.
44948         * lib/i-ring.c: Likewise.
44949         * lib/i-ring.h: Likewise.
44950         * lib/idcache.c: Likewise.
44951         * lib/imaxabs.c: Likewise.
44952         * lib/imaxdiv.c: Likewise.
44953         * lib/inet_pton.c: Likewise.
44954         * lib/inet_pton.h: Likewise.
44955         * lib/intprops.h: Likewise.
44956         * lib/inttostr.c: Likewise.
44957         * lib/inttostr.h: Likewise.
44958         * lib/inttypes.in.h: Likewise.
44959         * lib/isapipe.c: Likewise.
44960         * lib/isdir.c: Likewise.
44961         * lib/isnan.c: Likewise.
44962         * lib/isnan.h: Likewise.
44963         * lib/isnanf.c: Likewise.
44964         * lib/isnanf.h: Likewise.
44965         * lib/isnanl-nolibm.h: Likewise.
44966         * lib/isnanl.c: Likewise.
44967         * lib/isnanl.h: Likewise.
44968         * lib/javacomp.c: Likewise.
44969         * lib/javacomp.h: Likewise.
44970         * lib/javaexec.c: Likewise.
44971         * lib/javaexec.h: Likewise.
44972         * lib/javaversion.c: Likewise.
44973         * lib/javaversion.h: Likewise.
44974         * lib/javaversion.java: Likewise.
44975         * lib/lbrkprop.h: Likewise.
44976         * lib/lchmod.h: Likewise.
44977         * lib/lchown.c: Likewise.
44978         * lib/ldexpl.c: Likewise.
44979         * lib/linebreak.c: Likewise.
44980         * lib/linebreak.h: Likewise.
44981         * lib/linebuffer.c: Likewise.
44982         * lib/linebuffer.h: Likewise.
44983         * lib/locale.in.h: Likewise.
44984         * lib/logl.c: Likewise.
44985         * lib/long-options.c: Likewise.
44986         * lib/long-options.h: Likewise.
44987         * lib/lstat.c: Likewise.
44988         * lib/lstat.h: Likewise.
44989         * lib/math.in.h: Likewise.
44990         * lib/mbchar.c: Likewise.
44991         * lib/mbchar.h: Likewise.
44992         * lib/mbfile.h: Likewise.
44993         * lib/mbiter.h: Likewise.
44994         * lib/mbscasecmp.c: Likewise.
44995         * lib/mbscasestr.c: Likewise.
44996         * lib/mbschr.c: Likewise.
44997         * lib/mbscspn.c: Likewise.
44998         * lib/mbslen.c: Likewise.
44999         * lib/mbsncasecmp.c: Likewise.
45000         * lib/mbsnlen.c: Likewise.
45001         * lib/mbspbrk.c: Likewise.
45002         * lib/mbspcasecmp.c: Likewise.
45003         * lib/mbsrchr.c: Likewise.
45004         * lib/mbssep.c: Likewise.
45005         * lib/mbsspn.c: Likewise.
45006         * lib/mbsstr.c: Likewise.
45007         * lib/mbstok_r.c: Likewise.
45008         * lib/mbswidth.c: Likewise.
45009         * lib/mbswidth.h: Likewise.
45010         * lib/mbuiter.h: Likewise.
45011         * lib/memcasecmp.c: Likewise.
45012         * lib/memcasecmp.h: Likewise.
45013         * lib/memchr.c: Likewise.
45014         * lib/memcmp.c: Likewise.
45015         * lib/memcoll.c: Likewise.
45016         * lib/memcoll.h: Likewise.
45017         * lib/memcpy.c: Likewise.
45018         * lib/memrchr.c: Likewise.
45019         * lib/mkancesdirs.c: Likewise.
45020         * lib/mkdir-p.c: Likewise.
45021         * lib/mkdir-p.h: Likewise.
45022         * lib/mkdir.c: Likewise.
45023         * lib/mkdirat.c: Likewise.
45024         * lib/mkdtemp.c: Likewise.
45025         * lib/mkstemp-safer.c: Likewise.
45026         * lib/mkstemp.c: Likewise.
45027         * lib/modechange.c: Likewise.
45028         * lib/modechange.h: Likewise.
45029         * lib/mountlist.c: Likewise.
45030         * lib/mountlist.h: Likewise.
45031         * lib/mpsort.c: Likewise.
45032         * lib/nanosleep.c: Likewise.
45033         * lib/obstack.c: Likewise.
45034         * lib/obstack.h: Likewise.
45035         * lib/open-safer.c: Likewise.
45036         * lib/open.c: Likewise.
45037         * lib/openat-die.c: Likewise.
45038         * lib/openat-priv.h: Likewise.
45039         * lib/openat-proc.c: Likewise.
45040         * lib/openat.c: Likewise.
45041         * lib/openat.h: Likewise.
45042         * lib/pagealign_alloc.c: Likewise.
45043         * lib/pagealign_alloc.h: Likewise.
45044         * lib/physmem.c: Likewise.
45045         * lib/physmem.h: Likewise.
45046         * lib/pipe-safer.c: Likewise.
45047         * lib/pipe.c: Likewise.
45048         * lib/pipe.h: Likewise.
45049         * lib/posixtm.c: Likewise.
45050         * lib/posixtm.h: Likewise.
45051         * lib/posixver.c: Likewise.
45052         * lib/printf-frexp.c: Likewise.
45053         * lib/printf-frexp.h: Likewise.
45054         * lib/printf-frexpl.c: Likewise.
45055         * lib/printf-frexpl.h: Likewise.
45056         * lib/printf.c: Likewise.
45057         * lib/progname.c: Likewise.
45058         * lib/progname.h: Likewise.
45059         * lib/progreloc.c: Likewise.
45060         * lib/putenv.c: Likewise.
45061         * lib/quote.c: Likewise.
45062         * lib/quote.h: Likewise.
45063         * lib/quotearg.c: Likewise.
45064         * lib/quotearg.h: Likewise.
45065         * lib/raise.c: Likewise.
45066         * lib/readline.c: Likewise.
45067         * lib/readline.h: Likewise.
45068         * lib/readlink.c: Likewise.
45069         * lib/readtokens.c: Likewise.
45070         * lib/readtokens.h: Likewise.
45071         * lib/readtokens0.c: Likewise.
45072         * lib/readtokens0.h: Likewise.
45073         * lib/readutmp.c: Likewise.
45074         * lib/readutmp.h: Likewise.
45075         * lib/realloc.c: Likewise.
45076         * lib/relocwrapper.c: Likewise.
45077         * lib/rename-dest-slash.c: Likewise.
45078         * lib/rename.c: Likewise.
45079         * lib/rmdir.c: Likewise.
45080         * lib/rpmatch.c: Likewise.
45081         * lib/safe-read.c: Likewise.
45082         * lib/safe-read.h: Likewise.
45083         * lib/safe-write.c: Likewise.
45084         * lib/safe-write.h: Likewise.
45085         * lib/same-inode.h: Likewise.
45086         * lib/same.c: Likewise.
45087         * lib/same.h: Likewise.
45088         * lib/save-cwd.c: Likewise.
45089         * lib/save-cwd.h: Likewise.
45090         * lib/savedir.c: Likewise.
45091         * lib/savedir.h: Likewise.
45092         * lib/savewd.c: Likewise.
45093         * lib/savewd.h: Likewise.
45094         * lib/search.in.h: Likewise.
45095         * lib/setenv.c: Likewise.
45096         * lib/setenv.h: Likewise.
45097         * lib/settime.c: Likewise.
45098         * lib/sh-quote.c: Likewise.
45099         * lib/sh-quote.h: Likewise.
45100         * lib/sig2str.c: Likewise.
45101         * lib/sig2str.h: Likewise.
45102         * lib/signal.in.h: Likewise.
45103         * lib/signbitd.c: Likewise.
45104         * lib/signbitf.c: Likewise.
45105         * lib/signbitl.c: Likewise.
45106         * lib/sigprocmask.c: Likewise.
45107         * lib/sincosl.c: Likewise.
45108         * lib/sleep.c: Likewise.
45109         * lib/sprintf.c: Likewise.
45110         * lib/sqrtl.c: Likewise.
45111         * lib/stat-time.h: Likewise.
45112         * lib/stdio--.h: Likewise.
45113         * lib/stdio-safer.h: Likewise.
45114         * lib/stdlib--.h: Likewise.
45115         * lib/stdlib-safer.h: Likewise.
45116         * lib/stdlib.in.h: Likewise.
45117         * lib/stpcpy.c: Likewise.
45118         * lib/stpncpy.c: Likewise.
45119         * lib/strchrnul.c: Likewise.
45120         * lib/strcspn.c: Likewise.
45121         * lib/strerror.c: Likewise.
45122         * lib/strftime.c: Likewise.
45123         * lib/strftime.h: Likewise.
45124         * lib/striconveh.c: Likewise.
45125         * lib/striconveh.h: Likewise.
45126         * lib/striconveha.c: Likewise.
45127         * lib/striconveha.h: Likewise.
45128         * lib/stripslash.c: Likewise.
45129         * lib/strnlen1.c: Likewise.
45130         * lib/strnlen1.h: Likewise.
45131         * lib/strtod.c: Likewise.
45132         * lib/strtoimax.c: Likewise.
45133         * lib/strtok_r.c: Likewise.
45134         * lib/strtol.c: Likewise.
45135         * lib/strtoll.c: Likewise.
45136         * lib/strtoul.c: Likewise.
45137         * lib/strtoull.c: Likewise.
45138         * lib/sysexits.in.h: Likewise.
45139         * lib/tempname.c: Likewise.
45140         * lib/tempname.h: Likewise.
45141         * lib/timespec.h: Likewise.
45142         * lib/tls.c: Likewise.
45143         * lib/tls.h: Likewise.
45144         * lib/tmpdir.c: Likewise.
45145         * lib/tmpdir.h: Likewise.
45146         * lib/tmpfile-safer.c: Likewise.
45147         * lib/tmpfile.c: Likewise.
45148         * lib/trigl.c: Likewise.
45149         * lib/trigl.h: Likewise.
45150         * lib/trim.c: Likewise.
45151         * lib/trim.h: Likewise.
45152         * lib/trunc.c: Likewise.
45153         * lib/truncf.c: Likewise.
45154         * lib/truncl.c: Likewise.
45155         * lib/tsearch.c: Likewise.
45156         * lib/unicodeio.c: Likewise.
45157         * lib/unicodeio.h: Likewise.
45158         * lib/unistd--.h: Likewise.
45159         * lib/unistd-safer.h: Likewise.
45160         * lib/unistdio/ulc-fprintf.c: Likewise.
45161         * lib/unistdio/ulc-vfprintf.c: Likewise.
45162         * lib/unlinkdir.c: Likewise.
45163         * lib/unlinkdir.h: Likewise.
45164         * lib/unlocked-io.h: Likewise.
45165         * lib/unsetenv.c: Likewise.
45166         * lib/userspec.c: Likewise.
45167         * lib/utime.c: Likewise.
45168         * lib/utimecmp.c: Likewise.
45169         * lib/utimecmp.h: Likewise.
45170         * lib/utimens.c: Likewise.
45171         * lib/verify.h: Likewise.
45172         * lib/verror.c: Likewise.
45173         * lib/verror.h: Likewise.
45174         * lib/version-etc-fsf.c: Likewise.
45175         * lib/version-etc.c: Likewise.
45176         * lib/version-etc.h: Likewise.
45177         * lib/vfprintf.c: Likewise.
45178         * lib/vprintf.c: Likewise.
45179         * lib/vsprintf.c: Likewise.
45180         * lib/w32spawn.h: Likewise.
45181         * lib/wait-process.c: Likewise.
45182         * lib/wait-process.h: Likewise.
45183         * lib/wcwidth.c: Likewise.
45184         * lib/write-any-file.c: Likewise.
45185         * lib/xalloc-die.c: Likewise.
45186         * lib/xalloc.h: Likewise.
45187         * lib/xasprintf.c: Likewise.
45188         * lib/xgetcwd.c: Likewise.
45189         * lib/xgetcwd.h: Likewise.
45190         * lib/xgetdomainname.c: Likewise.
45191         * lib/xgetdomainname.h: Likewise.
45192         * lib/xgethostname.c: Likewise.
45193         * lib/xmalloc.c: Likewise.
45194         * lib/xmalloca.c: Likewise.
45195         * lib/xmalloca.h: Likewise.
45196         * lib/xmemcoll.c: Likewise.
45197         * lib/xnanosleep.c: Likewise.
45198         * lib/xreadlink.c: Likewise.
45199         * lib/xreadlink.h: Likewise.
45200         * lib/xsetenv.c: Likewise.
45201         * lib/xsetenv.h: Likewise.
45202         * lib/xstriconv.c: Likewise.
45203         * lib/xstriconv.h: Likewise.
45204         * lib/xstrndup.c: Likewise.
45205         * lib/xstrndup.h: Likewise.
45206         * lib/xstrtod.c: Likewise.
45207         * lib/xstrtod.h: Likewise.
45208         * lib/xstrtol-error.c: Likewise.
45209         * lib/xstrtol.c: Likewise.
45210         * lib/xstrtol.h: Likewise.
45211         * lib/xtime.h: Likewise.
45212         * lib/xvasprintf.c: Likewise.
45213         * lib/xvasprintf.h: Likewise.
45214         * lib/yesno.c: Likewise.
45215         * lib/yesno.h: Likewise.
45216         * posix-modules: Likewise.
45217         * tests/test-alloca-opt.c: Likewise.
45218         * tests/test-arcfour.c: Likewise.
45219         * tests/test-arctwo.c: Likewise.
45220         * tests/test-argmatch.c: Likewise.
45221         * tests/test-argp-2.sh: Likewise.
45222         * tests/test-argp.c: Likewise.
45223         * tests/test-arpa_inet.c: Likewise.
45224         * tests/test-array_list.c: Likewise.
45225         * tests/test-array_oset.c: Likewise.
45226         * tests/test-atexit.c: Likewise.
45227         * tests/test-avltree_list.c: Likewise.
45228         * tests/test-avltree_oset.c: Likewise.
45229         * tests/test-avltreehash_list.c: Likewise.
45230         * tests/test-base64.c: Likewise.
45231         * tests/test-binary-io.c: Likewise.
45232         * tests/test-byteswap.c: Likewise.
45233         * tests/test-c-ctype.c: Likewise.
45234         * tests/test-c-strcasecmp.c: Likewise.
45235         * tests/test-c-strcasestr.c: Likewise.
45236         * tests/test-c-strncasecmp.c: Likewise.
45237         * tests/test-c-strstr.c: Likewise.
45238         * tests/test-canonicalize-lgpl.c: Likewise.
45239         * tests/test-canonicalize.c: Likewise.
45240         * tests/test-carray_list.c: Likewise.
45241         * tests/test-ceilf.c: Likewise.
45242         * tests/test-ceill.c: Likewise.
45243         * tests/test-count-one-bits.c: Likewise.
45244         * tests/test-crc.c: Likewise.
45245         * tests/test-dirname.c: Likewise.
45246         * tests/test-fbufmode.c: Likewise.
45247         * tests/test-fcntl.c: Likewise.
45248         * tests/test-fflush.c: Likewise.
45249         * tests/test-floorf.c: Likewise.
45250         * tests/test-floorl.c: Likewise.
45251         * tests/test-fopen.c: Likewise.
45252         * tests/test-fprintf-posix.c: Likewise.
45253         * tests/test-fprintf-posix.h: Likewise.
45254         * tests/test-fpurge.c: Likewise.
45255         * tests/test-freadable.c: Likewise.
45256         * tests/test-freadahead.c: Likewise.
45257         * tests/test-freading.c: Likewise.
45258         * tests/test-freopen.c: Likewise.
45259         * tests/test-frexp.c: Likewise.
45260         * tests/test-frexpl.c: Likewise.
45261         * tests/test-fseek.c: Likewise.
45262         * tests/test-fseeko.c: Likewise.
45263         * tests/test-fseterr.c: Likewise.
45264         * tests/test-fstrcmp.c: Likewise.
45265         * tests/test-ftell.c: Likewise.
45266         * tests/test-ftello.c: Likewise.
45267         * tests/test-fwritable.c: Likewise.
45268         * tests/test-fwriting.c: Likewise.
45269         * tests/test-getaddrinfo.c: Likewise.
45270         * tests/test-getpass.c: Likewise.
45271         * tests/test-gettimeofday.c: Likewise.
45272         * tests/test-hmac-md5.c: Likewise.
45273         * tests/test-hmac-sha1.c: Likewise.
45274         * tests/test-iconv.c: Likewise.
45275         * tests/test-iconvme.c: Likewise.
45276         * tests/test-inttypes.c: Likewise.
45277         * tests/test-isnan.c: Likewise.
45278         * tests/test-isnanf.c: Likewise.
45279         * tests/test-isnanl-nolibm.c: Likewise.
45280         * tests/test-isnanl.c: Likewise.
45281         * tests/test-isnanl.h: Likewise.
45282         * tests/test-ldexpl.c: Likewise.
45283         * tests/test-linked_list.c: Likewise.
45284         * tests/test-linkedhash_list.c: Likewise.
45285         * tests/test-locale.c: Likewise.
45286         * tests/test-localename.c: Likewise.
45287         * tests/test-lock.c: Likewise.
45288         * tests/test-lseek.c: Likewise.
45289         * tests/test-malloca.c: Likewise.
45290         * tests/test-math.c: Likewise.
45291         * tests/test-mbscasecmp.c: Likewise.
45292         * tests/test-mbscasestr1.c: Likewise.
45293         * tests/test-mbscasestr2.c: Likewise.
45294         * tests/test-mbscasestr3.c: Likewise.
45295         * tests/test-mbscasestr4.c: Likewise.
45296         * tests/test-mbschr.c: Likewise.
45297         * tests/test-mbscspn.c: Likewise.
45298         * tests/test-mbsncasecmp.c: Likewise.
45299         * tests/test-mbspbrk.c: Likewise.
45300         * tests/test-mbspcasecmp.c: Likewise.
45301         * tests/test-mbsrchr.c: Likewise.
45302         * tests/test-mbsspn.c: Likewise.
45303         * tests/test-mbsstr1.c: Likewise.
45304         * tests/test-mbsstr2.c: Likewise.
45305         * tests/test-mbsstr3.c: Likewise.
45306         * tests/test-md5.c: Likewise.
45307         * tests/test-memmem.c: Likewise.
45308         * tests/test-netinet_in.c: Likewise.
45309         * tests/test-open.c: Likewise.
45310         * tests/test-printf-frexp.c: Likewise.
45311         * tests/test-printf-frexpl.c: Likewise.
45312         * tests/test-printf-posix.c: Likewise.
45313         * tests/test-printf-posix.h: Likewise.
45314         * tests/test-rbtree_list.c: Likewise.
45315         * tests/test-rbtree_oset.c: Likewise.
45316         * tests/test-rbtreehash_list.c: Likewise.
45317         * tests/test-read-file.c: Likewise.
45318         * tests/test-rijndael.c: Likewise.
45319         * tests/test-search.c: Likewise.
45320         * tests/test-signbit.c: Likewise.
45321         * tests/test-sleep.c: Likewise.
45322         * tests/test-snprintf-posix.c: Likewise.
45323         * tests/test-snprintf-posix.h: Likewise.
45324         * tests/test-snprintf.c: Likewise.
45325         * tests/test-sprintf-posix.c: Likewise.
45326         * tests/test-sprintf-posix.h: Likewise.
45327         * tests/test-stat-time.c: Likewise.
45328         * tests/test-stdbool.c: Likewise.
45329         * tests/test-stdint.c: Likewise.
45330         * tests/test-stdio.c: Likewise.
45331         * tests/test-stdlib.c: Likewise.
45332         * tests/test-stpncpy.c: Likewise.
45333         * tests/test-strcasestr.c: Likewise.
45334         * tests/test-striconv.c: Likewise.
45335         * tests/test-striconveh.c: Likewise.
45336         * tests/test-striconveha.c: Likewise.
45337         * tests/test-string.c: Likewise.
45338         * tests/test-sys_select.c: Likewise.
45339         * tests/test-sys_socket.c: Likewise.
45340         * tests/test-sys_stat.c: Likewise.
45341         * tests/test-sys_time.c: Likewise.
45342         * tests/test-sysexits.c: Likewise.
45343         * tests/test-time.c: Likewise.
45344         * tests/test-tls.c: Likewise.
45345         * tests/test-trunc.c: Likewise.
45346         * tests/test-truncf.c: Likewise.
45347         * tests/test-truncl.c: Likewise.
45348         * tests/test-unistd.c: Likewise.
45349         * tests/test-vasnprintf-posix.c: Likewise.
45350         * tests/test-vasnprintf-posix2.c: Likewise.
45351         * tests/test-vasnprintf.c: Likewise.
45352         * tests/test-vasprintf-posix.c: Likewise.
45353         * tests/test-vasprintf.c: Likewise.
45354         * tests/test-verify.c: Likewise.
45355         * tests/test-vfprintf-posix.c: Likewise.
45356         * tests/test-vprintf-posix.c: Likewise.
45357         * tests/test-vsnprintf-posix.c: Likewise.
45358         * tests/test-vsnprintf.c: Likewise.
45359         * tests/test-vsprintf-posix.c: Likewise.
45360         * tests/test-wchar.c: Likewise.
45361         * tests/test-wctype.c: Likewise.
45362         * tests/test-wcwidth.c: Likewise.
45363         * tests/test-xstrtol.c: Likewise.
45364         * tests/test-xvasprintf.c: Likewise.
45365         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
45366         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
45367         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
45368         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
45369         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
45370         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
45371         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
45372         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
45373         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
45374         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
45375         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
45376         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
45377         * tests/uniname/test-uninames.c: Likewise.
45378         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
45379         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
45380         * tests/unistdio/test-u16-printf1.h: Likewise.
45381         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
45382         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
45383         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
45384         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
45385         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
45386         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
45387         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
45388         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
45389         * tests/unistdio/test-u32-printf1.h: Likewise.
45390         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
45391         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
45392         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
45393         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
45394         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
45395         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
45396         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
45397         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
45398         * tests/unistdio/test-u8-printf1.h: Likewise.
45399         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
45400         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
45401         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
45402         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
45403         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
45404         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
45405         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
45406         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
45407         * tests/unistdio/test-ulc-printf1.h: Likewise.
45408         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
45409         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
45410         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
45411         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
45412         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
45413         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
45414         * tests/uniwidth/test-u16-strwidth.c: Likewise.
45415         * tests/uniwidth/test-u16-width.c: Likewise.
45416         * tests/uniwidth/test-u32-strwidth.c: Likewise.
45417         * tests/uniwidth/test-u32-width.c: Likewise.
45418         * tests/uniwidth/test-u8-strwidth.c: Likewise.
45419         * tests/uniwidth/test-u8-width.c: Likewise.
45420         * tests/uniwidth/test-uc_width.c: Likewise.
45421         * config/srclist-update: Likewise.
45422         (fixlicense): Update to GPLv3+.
45423
45424         Change copyright notice from LGPLv2.1+ to LGPLv3+.
45425         * tests/test-tsearch.c: Change copyright notice.
45426
45427         Change copyright notice from LGPLv2.0+ to LGPLv3+.
45428         * lib/c-strcaseeq.h: Change copyright notice.
45429         * lib/streq.h: Likewise.
45430         * lib/uniconv.h: Likewise.
45431         * lib/uniconv/u-conv-from-enc.h: Likewise.
45432         * lib/uniconv/u-conv-to-enc.h: Likewise.
45433         * lib/uniconv/u-strconv-from-enc.h: Likewise.
45434         * lib/uniconv/u-strconv-to-enc.h: Likewise.
45435         * lib/uniconv/u16-conv-from-enc.c: Likewise.
45436         * lib/uniconv/u16-conv-to-enc.c: Likewise.
45437         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
45438         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
45439         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
45440         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
45441         * lib/uniconv/u32-conv-from-enc.c: Likewise.
45442         * lib/uniconv/u32-conv-to-enc.c: Likewise.
45443         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
45444         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
45445         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
45446         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
45447         * lib/uniconv/u8-conv-from-enc.c: Likewise.
45448         * lib/uniconv/u8-conv-to-enc.c: Likewise.
45449         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
45450         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
45451         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
45452         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
45453         * lib/uniname.h: Likewise.
45454         * lib/uniname/uniname.c: Likewise.
45455         * lib/unistdio.h: Likewise.
45456         * lib/unistdio/u-asnprintf.h: Likewise.
45457         * lib/unistdio/u-asprintf.h: Likewise.
45458         * lib/unistdio/u-printf-args.c: Likewise.
45459         * lib/unistdio/u-printf-args.h: Likewise.
45460         * lib/unistdio/u-printf-parse.h: Likewise.
45461         * lib/unistdio/u-snprintf.h: Likewise.
45462         * lib/unistdio/u-sprintf.h: Likewise.
45463         * lib/unistdio/u-vasprintf.h: Likewise.
45464         * lib/unistdio/u-vsnprintf.h: Likewise.
45465         * lib/unistdio/u-vsprintf.h: Likewise.
45466         * lib/unistdio/u16-asnprintf.c: Likewise.
45467         * lib/unistdio/u16-asprintf.c: Likewise.
45468         * lib/unistdio/u16-printf-parse.c: Likewise.
45469         * lib/unistdio/u16-snprintf.c: Likewise.
45470         * lib/unistdio/u16-sprintf.c: Likewise.
45471         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
45472         * lib/unistdio/u16-u16-asprintf.c: Likewise.
45473         * lib/unistdio/u16-u16-snprintf.c: Likewise.
45474         * lib/unistdio/u16-u16-sprintf.c: Likewise.
45475         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
45476         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
45477         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
45478         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
45479         * lib/unistdio/u16-vasnprintf.c: Likewise.
45480         * lib/unistdio/u16-vasprintf.c: Likewise.
45481         * lib/unistdio/u16-vsnprintf.c: Likewise.
45482         * lib/unistdio/u16-vsprintf.c: Likewise.
45483         * lib/unistdio/u32-asnprintf.c: Likewise.
45484         * lib/unistdio/u32-asprintf.c: Likewise.
45485         * lib/unistdio/u32-printf-parse.c: Likewise.
45486         * lib/unistdio/u32-snprintf.c: Likewise.
45487         * lib/unistdio/u32-sprintf.c: Likewise.
45488         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
45489         * lib/unistdio/u32-u32-asprintf.c: Likewise.
45490         * lib/unistdio/u32-u32-snprintf.c: Likewise.
45491         * lib/unistdio/u32-u32-sprintf.c: Likewise.
45492         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
45493         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
45494         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
45495         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
45496         * lib/unistdio/u32-vasnprintf.c: Likewise.
45497         * lib/unistdio/u32-vasprintf.c: Likewise.
45498         * lib/unistdio/u32-vsnprintf.c: Likewise.
45499         * lib/unistdio/u32-vsprintf.c: Likewise.
45500         * lib/unistdio/u8-asnprintf.c: Likewise.
45501         * lib/unistdio/u8-asprintf.c: Likewise.
45502         * lib/unistdio/u8-printf-parse.c: Likewise.
45503         * lib/unistdio/u8-snprintf.c: Likewise.
45504         * lib/unistdio/u8-sprintf.c: Likewise.
45505         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
45506         * lib/unistdio/u8-u8-asprintf.c: Likewise.
45507         * lib/unistdio/u8-u8-snprintf.c: Likewise.
45508         * lib/unistdio/u8-u8-sprintf.c: Likewise.
45509         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
45510         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
45511         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
45512         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
45513         * lib/unistdio/u8-vasnprintf.c: Likewise.
45514         * lib/unistdio/u8-vasprintf.c: Likewise.
45515         * lib/unistdio/u8-vsnprintf.c: Likewise.
45516         * lib/unistdio/u8-vsprintf.c: Likewise.
45517         * lib/unistdio/ulc-asnprintf.c: Likewise.
45518         * lib/unistdio/ulc-asprintf.c: Likewise.
45519         * lib/unistdio/ulc-printf-parse.c: Likewise.
45520         * lib/unistdio/ulc-snprintf.c: Likewise.
45521         * lib/unistdio/ulc-sprintf.c: Likewise.
45522         * lib/unistdio/ulc-vasnprintf.c: Likewise.
45523         * lib/unistdio/ulc-vasprintf.c: Likewise.
45524         * lib/unistdio/ulc-vsnprintf.c: Likewise.
45525         * lib/unistdio/ulc-vsprintf.c: Likewise.
45526         * lib/unistr.h: Likewise.
45527         * lib/unistr/u-cpy-alloc.h: Likewise.
45528         * lib/unistr/u-cpy.h: Likewise.
45529         * lib/unistr/u-endswith.h: Likewise.
45530         * lib/unistr/u-move.h: Likewise.
45531         * lib/unistr/u-set.h: Likewise.
45532         * lib/unistr/u-startswith.h: Likewise.
45533         * lib/unistr/u-stpcpy.h: Likewise.
45534         * lib/unistr/u-stpncpy.h: Likewise.
45535         * lib/unistr/u-strcat.h: Likewise.
45536         * lib/unistr/u-strcpy.h: Likewise.
45537         * lib/unistr/u-strcspn.h: Likewise.
45538         * lib/unistr/u-strdup.h: Likewise.
45539         * lib/unistr/u-strlen.h: Likewise.
45540         * lib/unistr/u-strncat.h: Likewise.
45541         * lib/unistr/u-strncpy.h: Likewise.
45542         * lib/unistr/u-strnlen.h: Likewise.
45543         * lib/unistr/u-strpbrk.h: Likewise.
45544         * lib/unistr/u-strspn.h: Likewise.
45545         * lib/unistr/u-strstr.h: Likewise.
45546         * lib/unistr/u-strtok.h: Likewise.
45547         * lib/unistr/u16-check.c: Likewise.
45548         * lib/unistr/u16-chr.c: Likewise.
45549         * lib/unistr/u16-cmp.c: Likewise.
45550         * lib/unistr/u16-cpy-alloc.c: Likewise.
45551         * lib/unistr/u16-cpy.c: Likewise.
45552         * lib/unistr/u16-endswith.c: Likewise.
45553         * lib/unistr/u16-mblen.c: Likewise.
45554         * lib/unistr/u16-mbsnlen.c: Likewise.
45555         * lib/unistr/u16-mbtouc-aux.c: Likewise.
45556         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
45557         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
45558         * lib/unistr/u16-mbtouc.c: Likewise.
45559         * lib/unistr/u16-mbtoucr.c: Likewise.
45560         * lib/unistr/u16-move.c: Likewise.
45561         * lib/unistr/u16-next.c: Likewise.
45562         * lib/unistr/u16-prev.c: Likewise.
45563         * lib/unistr/u16-set.c: Likewise.
45564         * lib/unistr/u16-startswith.c: Likewise.
45565         * lib/unistr/u16-stpcpy.c: Likewise.
45566         * lib/unistr/u16-stpncpy.c: Likewise.
45567         * lib/unistr/u16-strcat.c: Likewise.
45568         * lib/unistr/u16-strchr.c: Likewise.
45569         * lib/unistr/u16-strcmp.c: Likewise.
45570         * lib/unistr/u16-strcpy.c: Likewise.
45571         * lib/unistr/u16-strcspn.c: Likewise.
45572         * lib/unistr/u16-strdup.c: Likewise.
45573         * lib/unistr/u16-strlen.c: Likewise.
45574         * lib/unistr/u16-strmblen.c: Likewise.
45575         * lib/unistr/u16-strmbtouc.c: Likewise.
45576         * lib/unistr/u16-strncat.c: Likewise.
45577         * lib/unistr/u16-strncmp.c: Likewise.
45578         * lib/unistr/u16-strncpy.c: Likewise.
45579         * lib/unistr/u16-strnlen.c: Likewise.
45580         * lib/unistr/u16-strpbrk.c: Likewise.
45581         * lib/unistr/u16-strrchr.c: Likewise.
45582         * lib/unistr/u16-strspn.c: Likewise.
45583         * lib/unistr/u16-strstr.c: Likewise.
45584         * lib/unistr/u16-strtok.c: Likewise.
45585         * lib/unistr/u16-to-u32.c: Likewise.
45586         * lib/unistr/u16-to-u8.c: Likewise.
45587         * lib/unistr/u16-uctomb-aux.c: Likewise.
45588         * lib/unistr/u16-uctomb.c: Likewise.
45589         * lib/unistr/u32-check.c: Likewise.
45590         * lib/unistr/u32-chr.c: Likewise.
45591         * lib/unistr/u32-cmp.c: Likewise.
45592         * lib/unistr/u32-cpy-alloc.c: Likewise.
45593         * lib/unistr/u32-cpy.c: Likewise.
45594         * lib/unistr/u32-endswith.c: Likewise.
45595         * lib/unistr/u32-mblen.c: Likewise.
45596         * lib/unistr/u32-mbsnlen.c: Likewise.
45597         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
45598         * lib/unistr/u32-mbtouc.c: Likewise.
45599         * lib/unistr/u32-mbtoucr.c: Likewise.
45600         * lib/unistr/u32-move.c: Likewise.
45601         * lib/unistr/u32-next.c: Likewise.
45602         * lib/unistr/u32-prev.c: Likewise.
45603         * lib/unistr/u32-set.c: Likewise.
45604         * lib/unistr/u32-startswith.c: Likewise.
45605         * lib/unistr/u32-stpcpy.c: Likewise.
45606         * lib/unistr/u32-stpncpy.c: Likewise.
45607         * lib/unistr/u32-strcat.c: Likewise.
45608         * lib/unistr/u32-strchr.c: Likewise.
45609         * lib/unistr/u32-strcmp.c: Likewise.
45610         * lib/unistr/u32-strcpy.c: Likewise.
45611         * lib/unistr/u32-strcspn.c: Likewise.
45612         * lib/unistr/u32-strdup.c: Likewise.
45613         * lib/unistr/u32-strlen.c: Likewise.
45614         * lib/unistr/u32-strmblen.c: Likewise.
45615         * lib/unistr/u32-strmbtouc.c: Likewise.
45616         * lib/unistr/u32-strncat.c: Likewise.
45617         * lib/unistr/u32-strncmp.c: Likewise.
45618         * lib/unistr/u32-strncpy.c: Likewise.
45619         * lib/unistr/u32-strnlen.c: Likewise.
45620         * lib/unistr/u32-strpbrk.c: Likewise.
45621         * lib/unistr/u32-strrchr.c: Likewise.
45622         * lib/unistr/u32-strspn.c: Likewise.
45623         * lib/unistr/u32-strstr.c: Likewise.
45624         * lib/unistr/u32-strtok.c: Likewise.
45625         * lib/unistr/u32-to-u16.c: Likewise.
45626         * lib/unistr/u32-to-u8.c: Likewise.
45627         * lib/unistr/u32-uctomb.c: Likewise.
45628         * lib/unistr/u8-check.c: Likewise.
45629         * lib/unistr/u8-chr.c: Likewise.
45630         * lib/unistr/u8-cmp.c: Likewise.
45631         * lib/unistr/u8-cpy-alloc.c: Likewise.
45632         * lib/unistr/u8-cpy.c: Likewise.
45633         * lib/unistr/u8-endswith.c: Likewise.
45634         * lib/unistr/u8-mblen.c: Likewise.
45635         * lib/unistr/u8-mbsnlen.c: Likewise.
45636         * lib/unistr/u8-mbtouc-aux.c: Likewise.
45637         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
45638         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
45639         * lib/unistr/u8-mbtouc.c: Likewise.
45640         * lib/unistr/u8-mbtoucr.c: Likewise.
45641         * lib/unistr/u8-move.c: Likewise.
45642         * lib/unistr/u8-next.c: Likewise.
45643         * lib/unistr/u8-prev.c: Likewise.
45644         * lib/unistr/u8-set.c: Likewise.
45645         * lib/unistr/u8-startswith.c: Likewise.
45646         * lib/unistr/u8-stpcpy.c: Likewise.
45647         * lib/unistr/u8-stpncpy.c: Likewise.
45648         * lib/unistr/u8-strcat.c: Likewise.
45649         * lib/unistr/u8-strchr.c: Likewise.
45650         * lib/unistr/u8-strcmp.c: Likewise.
45651         * lib/unistr/u8-strcpy.c: Likewise.
45652         * lib/unistr/u8-strcspn.c: Likewise.
45653         * lib/unistr/u8-strdup.c: Likewise.
45654         * lib/unistr/u8-strlen.c: Likewise.
45655         * lib/unistr/u8-strmblen.c: Likewise.
45656         * lib/unistr/u8-strmbtouc.c: Likewise.
45657         * lib/unistr/u8-strncat.c: Likewise.
45658         * lib/unistr/u8-strncmp.c: Likewise.
45659         * lib/unistr/u8-strncpy.c: Likewise.
45660         * lib/unistr/u8-strnlen.c: Likewise.
45661         * lib/unistr/u8-strpbrk.c: Likewise.
45662         * lib/unistr/u8-strrchr.c: Likewise.
45663         * lib/unistr/u8-strspn.c: Likewise.
45664         * lib/unistr/u8-strstr.c: Likewise.
45665         * lib/unistr/u8-strtok.c: Likewise.
45666         * lib/unistr/u8-to-u16.c: Likewise.
45667         * lib/unistr/u8-to-u32.c: Likewise.
45668         * lib/unistr/u8-uctomb-aux.c: Likewise.
45669         * lib/unistr/u8-uctomb.c: Likewise.
45670         * lib/unitypes.h: Likewise.
45671         * lib/uniwidth.h: Likewise.
45672         * lib/uniwidth/cjk.h: Likewise.
45673         * lib/uniwidth/u16-strwidth.c: Likewise.
45674         * lib/uniwidth/u16-width.c: Likewise.
45675         * lib/uniwidth/u32-strwidth.c: Likewise.
45676         * lib/uniwidth/u32-width.c: Likewise.
45677         * lib/uniwidth/u8-strwidth.c: Likewise.
45678         * lib/uniwidth/u8-width.c: Likewise.
45679         * lib/uniwidth/width.c: Likewise.
45680
45681 2007-10-07  Bruno Haible  <bruno@clisp.org>
45682
45683         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
45684         The file is still under LGPL (see modules/inttypes).
45685
45686 2007-10-06  Bruno Haible  <bruno@clisp.org>
45687
45688         * modules/trunc (Dependencies): Add 'extensions'.
45689         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
45690         Reported by Ben Pfaff <blp@gnu.org>.
45691
45692 2007-10-06  Bruno Haible  <bruno@clisp.org>
45693
45694         * modules/freopen-tests: New file.
45695         * tests/test-freopen.c: New file.
45696
45697         * modules/fopen-tests: New file.
45698         * tests/test-fopen.c: New file.
45699
45700         * modules/fopen: New file.
45701         * lib/fopen.c: New file.
45702         * m4/fopen.m4: New file.
45703         * modules/freopen: New file.
45704         * lib/freopen.c: New file.
45705         * m4/freopen.m4: New file.
45706         * lib/stdio.in.h (fopen, freopen): New declarations.
45707         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
45708         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
45709         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
45710         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
45711         * doc/functions/fopen.texi: Mention the 'fopen' module.
45712         * doc/functions/freopen.texi: Mention the 'freopen' module.
45713
45714 2007-10-06  Bruno Haible  <bruno@clisp.org>
45715
45716         * modules/open-tests: New file.
45717         * tests/test-open.c: New file.
45718
45719         * modules/open: New file.
45720         * lib/open.c: New file.
45721         * m4/open.m4: New file.
45722         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
45723         lib/open.c does.
45724         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
45725         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
45726         macros.
45727         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
45728         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
45729         REPLACE_OPEN.
45730         * doc/functions/open.texi: Mention the 'open' module.
45731
45732 2007-10-04  Bruno Haible  <bruno@clisp.org>
45733
45734         * modules/ceill-tests: New file.
45735         * tests/test-ceill.c: New file.
45736
45737         * modules/ceill: New file.
45738         * lib/ceill.c: Replace entire file.
45739         * m4/ceill.m4: New file.
45740         * lib/math.in.h (ceill): Replace declaration.
45741         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
45742         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
45743         * doc/functions/ceill.texi: Mention the 'ceill' module.
45744         * modules/mathl (Files): Remove lib/ceill.c.
45745         (Depends-on): Add ceill.
45746
45747 2007-10-04  Bruno Haible  <bruno@clisp.org>
45748
45749         * modules/ceilf-tests: New file.
45750         * tests/test-ceilf.c: New file.
45751
45752         * modules/ceilf: New file.
45753         * lib/ceil.c: New file.
45754         * lib/ceilf.c: New file.
45755         * m4/ceilf.m4: New file.
45756         * lib/math.in.h (ceilf): New declaration.
45757         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
45758         HAVE_DECL_CEILF.
45759         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
45760         HAVE_DECL_CEILF.
45761         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
45762
45763 2007-10-04  Bruno Haible  <bruno@clisp.org>
45764
45765         * modules/floorl-tests: New file.
45766         * tests/test-floorl.c: New file.
45767
45768         * modules/floorl: New file.
45769         * lib/floorl.c: Replace entire file.
45770         * m4/floorl.m4: New file.
45771         * lib/math.in.h (floorl): Replace declaration.
45772         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
45773         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
45774         * doc/functions/floorl.texi: Mention the 'floorl' module.
45775         * modules/mathl (Files): Remove lib/floorl.c.
45776         (Depends-on): Add floorl.
45777
45778 2007-10-04  Bruno Haible  <bruno@clisp.org>
45779
45780         * modules/floorf-tests: New file.
45781         * tests/test-floorf.c: New file.
45782
45783         * modules/floorf: New file.
45784         * lib/floor.c: New file.
45785         * lib/floorf.c: New file.
45786         * m4/floorf.m4: New file.
45787         * lib/math.in.h (floorf): New declaration.
45788         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
45789         HAVE_DECL_FLOORF.
45790         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
45791         HAVE_DECL_FLOORF.
45792         * doc/functions/floorf.texi: Mention the 'floorf' module.
45793
45794 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
45795             Bruno Haible  <bruno@clisp.org>
45796
45797         Advertise for the Git server instead of the CVS server.
45798         * doc/gnulib-intro.texi (Steady Development): Mention the Git
45799         repository instead of the CVS one.
45800         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
45801         about all VCS systems generically.
45802         * doc/gnulib.texi (Introduction): Capitalize `Git'.
45803
45804 2007-10-04  Bruno Haible  <bruno@clisp.org>
45805
45806         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
45807         means.
45808         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
45809
45810 2007-10-04  Bruno Haible  <bruno@clisp.org>
45811
45812         * modules/truncl-tests: New file.
45813         * tests/test-truncl.c: New file.
45814
45815         * modules/truncl: New file.
45816         * lib/truncl.c: New file.
45817         * m4/truncl.m4: New file.
45818         * lib/math.in.h (truncl): New declaration.
45819         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
45820         HAVE_DECL_TRUNCL.
45821         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
45822         HAVE_DECL_TRUNCL.
45823         * doc/functions/truncl.texi: Mention the 'truncl' module.
45824
45825 2007-10-04  Bruno Haible  <bruno@clisp.org>
45826
45827         * modules/truncf-tests: New file.
45828         * tests/test-truncf.c: New file.
45829
45830         * modules/truncf: New file.
45831         * lib/trunc.c: Make paramerizable through USE_* macros.
45832         * lib/truncf.c: New file.
45833         * m4/truncf.m4: New file.
45834         * lib/math.in.h (truncf): New declaration.
45835         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
45836         HAVE_DECL_TRUNCF.
45837         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
45838         HAVE_DECL_TRUNCF.
45839         * doc/functions/truncf.texi: Mention the 'truncf' module.
45840
45841 2007-10-03  Bruno Haible  <bruno@clisp.org>
45842
45843         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
45844         augmentation also for tests modules.
45845         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
45846         * modules/atexit-tests (Makefile.am): Likewise.
45847         * modules/binary-io-tests (Makefile.am): Likewise.
45848         * modules/c-strcase-tests (Makefile.am): Likewise.
45849         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
45850         * modules/canonicalize-tests (Makefile.am): Likewise.
45851         * modules/closein-tests (Makefile.am): Likewise.
45852         * modules/fprintf-posix-tests (Makefile.am): Likewise.
45853         * modules/freadahead-tests (Makefile.am): Likewise.
45854         * modules/fseek-tests (Makefile.am): Likewise.
45855         * modules/fseeko-tests (Makefile.am): Likewise.
45856         * modules/ftell-tests (Makefile.am): Likewise.
45857         * modules/ftello-tests (Makefile.am): Likewise.
45858         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
45859         * modules/isnanl-tests (Makefile.am): Likewise.
45860         * modules/lseek-tests (Makefile.am): Likewise.
45861         * modules/mbscasecmp-tests (Makefile.am): Likewise.
45862         * modules/mbscasestr-tests (Makefile.am): Likewise.
45863         * modules/mbschr-tests (Makefile.am): Likewise.
45864         * modules/mbscspn-tests (Makefile.am): Likewise.
45865         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
45866         * modules/mbspbrk-tests (Makefile.am): Likewise.
45867         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
45868         * modules/mbsrchr-tests (Makefile.am): Likewise.
45869         * modules/mbsspn-tests (Makefile.am): Likewise.
45870         * modules/mbsstr-tests (Makefile.am): Likewise.
45871         * modules/printf-posix-tests (Makefile.am): Likewise.
45872         * modules/snprintf-posix-tests (Makefile.am): Likewise.
45873         * modules/sprintf-posix-tests (Makefile.am): Likewise.
45874         * modules/tsearch-tests (Makefile.am): Likewise.
45875         * modules/uniname/uniname-tests (Makefile.am): Likewise.
45876         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
45877         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
45878         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
45879         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
45880         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
45881         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
45882         * modules/vprintf-posix-tests (Makefile.am): Likewise.
45883         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
45884         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
45885         * modules/xstrtoimax-tests (Makefile.am): Likewise.
45886         * modules/xstrtol-tests (Makefile.am): Likewise.
45887         * modules/xstrtoumax-tests (Makefile.am): Likewise.
45888         * modules/yesno-tests (Makefile.am): Likewise.
45889
45890 2007-10-03  Bruno Haible  <bruno@clisp.org>
45891
45892         * modules/trunc-tests: New file.
45893         * tests/test-trunc.c: New file.
45894
45895         * modules/trunc: New file.
45896         * lib/trunc.c: New file.
45897         * m4/trunc.m4: New file.
45898         * lib/math.in.h (trunc): New declaration.
45899         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
45900         HAVE_DECL_TRUNC.
45901         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
45902         HAVE_DECL_TRUNC.
45903         * doc/functions/trunc.texi: Mention the 'trunc' module.
45904
45905 2007-10-03  Bruno Haible  <bruno@clisp.org>
45906
45907         * tests/test-fpending.c: New file, mostly copied
45908         from coreutils/lib/t-fpending.c.
45909         * modules/fpending-tests: New file.
45910
45911 2007-10-03  Bruno Haible  <bruno@clisp.org>
45912
45913         Port the stdio extensions to QNX (untested).
45914         * lib/fseterr.c (fseterr): Add support for QNX.
45915         * lib/fbufmode.c (fbufmode): Likewise.
45916         * lib/freadable.c (freadable): Likewise.
45917         * lib/fwritable.c (fwritable): Likewise.
45918         * lib/freading.c (freading): Likewise.
45919         * lib/fwriting.c (fwriting): Likewise.
45920         * lib/freadahead.c (freadahed): Likewise.
45921         * lib/fpurge.c (fpurge): Likewise.
45922         * lib/fseeko.c (rpl_fseeko): Likewise.
45923
45924 2007-10-03  Bruno Haible  <bruno@clisp.org>
45925             Jim Meyering  <jim@meyering.net>
45926             Eric Blake  <ebb9@byu.net>
45927
45928         * doc/relocatable.texi: Use @command instead of @program.
45929
45930 2007-10-02  Jim Meyering  <jim@meyering.net>
45931
45932         Perform one more "_.h" -> ".in.h" substitution.
45933         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
45934         instead of unistd_.h here, too.
45935
45936 2007-10-01  Bruno Haible  <bruno@clisp.org>
45937
45938         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
45939         Needed for the alloca-opt module.
45940
45941 2007-09-30  Bruno Haible  <bruno@clisp.org>
45942
45943         * lib/alloca.in.h: Renamed from lib/alloca_.h.
45944         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
45945         alloca_.h.
45946         * lib/argz.in.h: Renamed from lib/argz_.h.
45947         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
45948         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
45949         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
45950         byteswap_.h.
45951         * lib/dirent.in.h: Renamed from lib/dirent_.h.
45952         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
45953         dirent_.h.
45954         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
45955         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
45956         fcntl_.h.
45957         * lib/float.in.h: Renamed from lib/float_.h.
45958         * modules/float (Files, Makefile.am): Use float.in.h instead of
45959         float_.h.
45960         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
45961         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
45962         fnmatch_.h.
45963         * lib/getopt.in.h: Renamed from lib/getopt_.h.
45964         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
45965         getopt_.h.
45966         * lib/glob.in.h: Renamed from lib/glob_.h.
45967         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
45968         * lib/iconv.in.h: Renamed from lib/iconv_.h.
45969         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
45970         iconv_.h.
45971         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
45972         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
45973         inttypes_.h.
45974         * lib/locale.in.h: Renamed from lib/locale_.h.
45975         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
45976         locale_.h.
45977         * lib/math.in.h: Renamed from lib/math_.h.
45978         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
45979         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
45980         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
45981         of netinet_in_.h. Add dependency.
45982         * lib/poll.in.h: Renamed from lib/poll_.h.
45983         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
45984         * lib/search.in.h: Renamed from lib/search_.h.
45985         * modules/search (Files, Makefile.am): Use search.in.h instead of
45986         search_.h.
45987         * lib/signal.in.h: Renamed from lib/signal_.h.
45988         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
45989         _signal.h.
45990         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
45991         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
45992         stdbool_.h.
45993         * lib/stdint.in.h: Renamed from lib/stdint_.h.
45994         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
45995         stdint_.h.
45996         * lib/stdio.in.h: Renamed from lib/stdio_.h.
45997         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
45998         stdio_.h.
45999         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
46000         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
46001         stdlib_.h.
46002         * lib/string.in.h: Renamed from lib/string_.h.
46003         * modules/string (Files, Makefile.am): Use string.in.h instead of
46004         string_.h.
46005         * doc/gnulib-tool.texi (Initial import): Update.
46006         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
46007         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
46008         of sys_select_.h. Add dependency.
46009         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
46010         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
46011         of sys_socket_.h.
46012         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
46013         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
46014         sys_stat_.h.
46015         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
46016         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
46017         sys_time_.h.
46018         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
46019         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
46020         sysexits_.h.
46021         * lib/time.in.h: Renamed from lib/time_.h.
46022         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
46023         * lib/unistd.in.h: Renamed from lib/unistd_.h.
46024         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
46025         unistd_.h.
46026         * lib/wchar.in.h: Renamed from lib/wchar_.h.
46027         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
46028         wchar_.h.
46029         * lib/wctype.in.h: Renamed from lib/wctype_.h.
46030         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
46031         wctype_.h.
46032         * build-aux/bootstrap (slurp): Update.
46033         * lib/.cppi-disable: Update.
46034
46035 2007-09-30  Bruno Haible  <bruno@clisp.org>
46036
46037         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
46038         Needed on BeOS.
46039
46040 2007-09-30  Bruno Haible  <bruno@clisp.org>
46041
46042         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
46043
46044 2007-09-29  Bruno Haible  <bruno@clisp.org>
46045
46046         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
46047
46048 2007-09-29  Bruno Haible  <bruno@clisp.org>
46049
46050         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
46051         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
46052         * build-aux/install-reloc: Compile also areadlink.c.
46053         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
46054
46055 2007-09-29  Bruno Haible  <bruno@clisp.org>
46056
46057         * gnulib-tool (func_emit_initmacro_done): Indentation.
46058
46059 2007-09-29  Bruno Haible  <bruno@clisp.org>
46060
46061         * README: Add CVS checkout update instructions.
46062         Info from Bob Proulx <bob@proulx.com>.
46063
46064 2007-09-28  Eric Blake  <ebb9@byu.net>
46065
46066         Provide move-if-change.
46067         * build-aux/move-if-change: New file, based on best practice
46068         rather than any canonical upstream location.
46069
46070 2007-09-28  Jim Meyering  <jim@meyering.net>
46071
46072         Fix canonicalize loop-detection corner case.
46073         Do not attempt to stat the symlink values stored via seen_triple.
46074         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
46075         on linux-2.6.18, (but not 2.6.22).
46076         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
46077         triple_compare.  The former compares dev,ino,filename, while the latter
46078         would actually stat dirname(filename) when dev and ino were equal.
46079         * lib/hash-triple.c: Install <string.h>.
46080         (STREQ): Define.
46081         (triple_compare_ino_str): New function.
46082         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
46083
46084 2007-09-28  Eric Blake  <ebb9@byu.net>
46085
46086         Enforce that AC_REPLACE_FUNCS files exist.
46087         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
46088         override check for typos.
46089
46090         Fix test-closein on Solaris 10.
46091         * tests/test-closein.c (main): Don't assume stdin can be inherited
46092         closed on all systems.
46093         * tests/test-closein.sh: Likewise.
46094         Reported by Piotr Tarnowski.
46095
46096 2007-09-28  Jim Meyering  <jim@meyering.net>
46097
46098         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
46099
46100 2007-09-27  Jim Meyering  <jim@meyering.net>
46101
46102         canonicalize: Avoid a false-positive cycle failure.
46103         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
46104         Sort.  Remove cycle-check.
46105         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
46106         not cycle-check.h.
46107         (seen_triple): New function.
46108         (canonicalize_filename_mode): Use it instead of cycle-check.
46109         * tests/test-canonicalize.c: Add a test for this bug.
46110         * tests/test-canonicalize.sh: Set up and run the test.
46111
46112         New module, file-set, from coreutils.
46113         * modules/file-set: Define it.
46114         * lib/file-set.c, lib/file-set.h: Implement.
46115
46116         New module, hash-triple, from coreutils.
46117         * modules/hash-triple: Define it.
46118         * lib/hash-triple.c, lib/hash-triple.h: Implement.
46119
46120 2007-09-25  Eric Blake  <ebb9@byu.net>
46121
46122         Fix strerror on Interix.
46123         * lib/string_.h (strerror): Declare replacement.
46124         * doc/functions/strerror.texi (strerror): Document the Interix
46125         shortcoming.
46126         * modules/string (Makefile.am): Support new hooks.
46127         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
46128         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
46129         gl_FUNC_STRERROR_SEPARATE.
46130         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
46131         * lib/strerror.c (rpl_strerror): Provide replacement.
46132         * modules/strerror (Depends-on): Add string.
46133         (configure.ac): Detect use of module.
46134         * tests/test-strerror.c: New file.
46135         * modules/strerror-tests: New test module.
46136         * modules/argp (Depends-on): Add strerror.
46137         * modules/error (Depends-on): Likewise.
46138         Reported by Martin Koeppe.
46139
46140 2007-09-24  Bruno Haible  <bruno@clisp.org>
46141
46142         * README: Update git instructions.
46143
46144 2007-09-24  Eric Blake  <ebb9@byu.net>
46145
46146         Revert fpending breakage from 2007-09-08.
46147         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
46148         __fpending.c.
46149
46150 2007-09-24  Jim Meyering  <jim@meyering.net>
46151
46152         filenamecat.c: Add a test.
46153         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
46154         showing how the function works when DIR is the empty string.
46155
46156 2007-09-21  Simon Josefsson  <simon@josefsson.org>
46157
46158         * tests/test-canonicalize.sh: Turn on executable bit.
46159
46160 2007-09-19  Eric Blake  <ebb9@byu.net>
46161
46162         * README: Update CVS instructions.
46163
46164 2007-09-18  Bruno Haible  <bruno@clisp.org>
46165
46166         * modules/areadlink: New file.
46167         * lib/areadlink.h (areadlink): New declaration.
46168         * lib/areadlink.c: New file, based on lib/xreadlink.c.
46169
46170 2007-09-17  Jim Meyering  <jim@meyering.net>
46171
46172         * lib/savewd.c (ESTALE) [!defined]: Define.
46173         Reported to be required on Interix by Martin Koeppe.
46174
46175 2007-09-17  Bruno Haible  <bruno@clisp.org>
46176
46177         * gnulib-tool (func_version): Use $version.
46178
46179 2007-09-16  Bruno Haible  <bruno@clisp.org>
46180
46181         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
46182         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
46183         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
46184         Reported by Greg Schafer <gschafer@zip.com.au>.
46185
46186 2007-09-15  Bruno Haible  <bruno@clisp.org>
46187
46188         * gnulib-tool (sed): Try a little harder to make bash understand the
46189         alias.
46190         Reported by Bruce Korb <bruce.korb@gmail.com>.
46191
46192 2007-09-13  Eric Blake  <ebb9@byu.net>
46193
46194         * ChangeLog: Remove conflict markers.
46195
46196 2007-09-13  Simon Josefsson  <simon@josefsson.org>
46197
46198         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
46199         Reported by Bruno Haible <bruno@clisp.org>.
46200
46201 2007-09-12  Bruno Haible  <bruno@clisp.org>
46202
46203         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
46204         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
46205         is not defined.
46206
46207 2007-09-12  Eric Blake  <ebb9@byu.net>
46208
46209         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
46210         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
46211         Autoconf definition.
46212         * modules/euidaccess (Depends-on): Add extensions, for
46213         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
46214         * modules/fnmatch (Depends-on): Likewise.
46215         * modules/getaddrinfo (Depends-on): Likewise.
46216         * modules/getdelim (Depends-on): Likewise.
46217         * modules/getline (Depends-on): Likewise.
46218         * modules/getsubopt (Depends-on): Likewise.
46219         * modules/gettext (Depends-on): Likewise.
46220         * modules/group-member (Depends-on): Likewise.
46221         * modules/mbchar (Depends-on): Likewise.
46222         * modules/memmem (Depends-on): Likewise.
46223         * modules/mempcpy (Depends-on): Likewise.
46224         * modules/memrchr (Depends-on): Likewise.
46225         * modules/pagealign_alloc (Depends-on): Likewise.
46226         * modules/readutmp (Depends-on): Likewise.
46227         * modules/stpcpy (Depends-on): Likewise.
46228         * modules/stpncpy (Depends-on): Likewise.
46229         * modules/strchrnul (Depends-on): Likewise.
46230         * modules/strndup (Depends-on): Likewise.
46231         * modules/strsep (Depends-on): Likewise.
46232         * modules/strverscmp (Depends-on): Likewise.
46233         * modules/vasprintf (Depends-on): Likewise.
46234         * modules/wcwidth (Depends-on): Likewise.
46235         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
46236         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
46237         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
46238         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
46239         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
46240         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
46241         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
46242         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
46243         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
46244         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
46245         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
46246         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
46247         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
46248         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
46249         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
46250         * m4/readutmp.m4 (gl_READUTMP): Likewise.
46251         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
46252         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
46253         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
46254         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
46255         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
46256         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
46257         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
46258         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
46259         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
46260         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
46261         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
46262         so that lock.m4 can be used in gettext without extensions module.
46263
46264 2007-09-11  Bruno Haible  <bruno@clisp.org>
46265
46266         * m4/isc-posix.m4: Remove file.
46267         Suggested by Eric Blake.
46268
46269 2007-09-11  Eric Blake  <ebb9@byu.net>
46270
46271         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
46272
46273 2007-09-10  Bruno Haible  <bruno@clisp.org>
46274
46275         * posix-modules: Fix typo in error message.
46276         Reported by Matt <mkraai@beckman.com>.
46277
46278 2007-09-09  Bruno Haible  <bruno@clisp.org>
46279
46280         * doc/functions/getdelim.texi: Update list of platforms lacking the
46281         function.
46282         * doc/functions/getline.texi: Likewise.
46283
46284 2007-09-09  Jim Meyering  <jim@meyering.net>
46285
46286         * lib/hash.c (hash_initialize): Detect calloc failure.
46287         Reported by Bruno Haible.
46288
46289 2007-09-09  Bruno Haible  <bruno@clisp.org>
46290
46291         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
46292         malloc or realloc fails.
46293
46294 2007-09-09  Bruno Haible  <bruno@clisp.org>
46295
46296         * modules/getcwd (Depends-on): Add malloc-posix.
46297         * modules/glob (Depends-on): Likewise.
46298         * modules/putenv (Depends-on): Likewise.
46299         * modules/strdup (Depends-on): Likewise.
46300         * modules/getdelim (Depends-on): Add realloc-posix.
46301         * modules/read-file (Depends-on): Likewise.
46302
46303 2007-09-09  Bruno Haible  <bruno@clisp.org>
46304
46305         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
46306         (gl_FUNC_MALLOC_POSIX): Require it.
46307         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
46308         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
46309         * modules/realloc (Files): Add m4/malloc.m4.
46310         * modules/calloc (Files): Likewise.
46311
46312 2007-09-09  Bruno Haible  <bruno@clisp.org>
46313
46314         * modules/malloc-posix: New file.
46315         * modules/malloc (Depends-on): Add malloc-posix.
46316         * lib/malloc.c: Include errno.h.
46317         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
46318         and a POSIX-compatible malloc into a single function. Set ENOMEM
46319         when returning NULL.
46320         * m4/malloc.m4: New file.
46321         * doc/functions/malloc.texi: Mention the malloc-posix module.
46322         * lib/stdlib_.h (malloc): New declaration.
46323         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
46324         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
46325         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
46326         and HAVE_MALLOC_POSIX.
46327
46328 2007-09-09  Bruno Haible  <bruno@clisp.org>
46329
46330         * modules/realloc-posix: New file.
46331         * modules/realloc (Depends-on): Add realloc-posix.
46332         * lib/realloc.c: Include errno.h.
46333         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
46334         and a POSIX-compatible realloc into a single function. Set ENOMEM
46335         when returning NULL.
46336         * m4/realloc.m4: New file.
46337         * doc/functions/realloc.texi: Mention the realloc-posix module.
46338         * lib/stdlib_.h (realloc): New declaration.
46339         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
46340         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
46341         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
46342         and HAVE_REALLOC_POSIX.
46343
46344 2007-09-09  Bruno Haible  <bruno@clisp.org>
46345
46346         * modules/calloc-posix: New file.
46347         * modules/calloc (Depends-on): Add calloc-posix.
46348         * lib/calloc.c: Include errno.h.
46349         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
46350         and a POSIX-compatible calloc into a single function. Set ENOMEM
46351         when returning NULL.
46352         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
46353         * doc/functions/calloc.texi: Mention the calloc-posix module.
46354         * lib/stdlib_.h (calloc): New declaration.
46355         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
46356         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
46357         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
46358         and HAVE_CALLOC_POSIX.
46359
46360 2007-09-09  Bruno Haible  <bruno@clisp.org>
46361
46362         Allow for modules to show an arbitrary notice.
46363         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
46364         * gnulib-tool: New option --extract-notice.
46365         (func_usage): Document it.
46366         (sed_extract_prog): Update.
46367         (func_get_notice): New function.
46368         (func_modules_notice): New function.
46369         (func_import, func_create_testdir): Invoke it.
46370         Suggested by Jim Meyering.
46371
46372 2007-09-09  Bruno Haible  <bruno@clisp.org>
46373
46374         * gnulib-tool: New options --verbose, --quiet.
46375         (func_usage): Document them.
46376         (verbose): New variable.
46377         (func_execute_command): New function.
46378         (func_import): Don't show the module list and the file list if
46379         $verbose < 0.
46380         (func_create_testdir): Likewise. Use func_execute_command.
46381         (func_create_megatestdir): Use func_execute_command.
46382
46383 2007-09-08  Bruno Haible  <bruno@clisp.org>
46384
46385         * gnulib-tool (func_import): Prefer rsync over wget when available,
46386         for fetching the PO files.
46387
46388 2007-09-08  Bruno Haible  <bruno@clisp.org>
46389
46390         * posix-modules: New file. Portions copied from gnulib-tool.
46391         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
46392
46393 2007-09-08  Jim Meyering  <jim@meyering.net>
46394
46395         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
46396         * lib/fpending.h: Rename from __fpending.h.
46397         * lib/fpending.c: Rename from __fpending.c.
46398         Include "fpending.h", not "__fpending.h".
46399         * lib/__fpending.h, lib/__fpending.c: Remove files.
46400         * modules/fpending (Files): Reflect new file names.
46401         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
46402
46403 2007-09-08  Bruno Haible  <bruno@clisp.org>
46404
46405         * m4/inttypes-h.m4: Remove stub file.
46406
46407 2007-09-07  Simon Josefsson  <simon@josefsson.org>
46408
46409         * doc/headers/stdint.texi: Discuss #include_next issue.
46410
46411 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
46412
46413         * build-aux/bootstrap: Remove obsolete comment about wget --help.
46414
46415 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46416
46417         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
46418         in variable name.
46419
46420 2007-09-03  Jim Meyering  <jim@meyering.net>
46421
46422         New module: git-version-gen.
46423         * modules/git-version-gen: New file.
46424
46425         Import changes from coreutils for bootstrap script.
46426
46427         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
46428
46429         bootstrap: uses rsync to download the .po files
46430         * build-aux/bootstrap (po_download_command_format): New global.
46431         (download_po_files): Use rsync.
46432         (update_po_files): Don't remove .po files after download,
46433         so future rsync runs can take advantage of the copies.
46434
46435         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
46436
46437         Solve the unnecessary-.po-file-regeneration problem once and for all.
46438         * build-aux/bootstrap (download_po_files): New function, renamed from
46439         get_translations.  Now, downloads, but doesn't update LINGUAS.
46440         (update_po_files): New function.
46441
46442         bootstrap: Ignore more.
46443         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
46444         uniwidth to e.g., lib/.gitignore.
46445         (slurp): Handle the sys_stat_.h -> sys mapping, too.
46446
46447         * build-aux/bootstrap: New setting: vc_ignore.
46448         (insert_sorted_if_absent): Create $file if absent.
46449         Adapt to new, possibly empty, list: $vc_ignore.
46450
46451         bootstrap: generate more ignorable names
46452         * build-aux/bootstrap (slurp): When generating ignorable names,
46453         also map .sin to .sed, .gperf to .c, and .y to .c.
46454
46455 2007-09-03  Jim Meyering  <jim@meyering.net>
46456
46457         * build-aux/git-version-gen: New file, from coreutils.  For details, see
46458         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
46459
46460 2007-09-02  Bruno Haible  <bruno@clisp.org>
46461
46462         Fix mis-recognition of 'mcs' on QNX 6.
46463         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
46464         output contains the string "Mono".
46465         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
46466         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
46467
46468 2007-09-01  Bruno Haible  <bruno@clisp.org>
46469
46470         Fix collision between uniwidth/* and linebreak modules.
46471         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
46472         u32_width): Remove declarations.
46473         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
46474         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
46475         streq3, streq2, streq1, streq0): Remove functions.
46476         (STREQ): Remove macro.
46477         (is_cjk_encoding): Remove function.
46478         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
46479         (uc_width, u8_width, u16_width, u32_width): Remove functions.
46480         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
46481         * NEWS: Document the change.
46482
46483 2007-09-01  Bruno Haible  <bruno@clisp.org>
46484
46485         * lib/streq.h: Add double-inclusion guard.
46486
46487 2007-09-01  Karl Berry  <karl@gnu.org>
46488
46489         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
46490
46491 2007-08-28  Jim Meyering  <jim@meyering.net>
46492
46493         Rename mreadlink_with_size to areadlink_with_size.
46494         * NEWS: Document the change.
46495         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
46496         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
46497         * lib/mreadlink.h: Rename this to...
46498         * lib/areadlink.h: ...this.
46499         * modules/mreadlink-with-size: Rename this to...
46500         * modules/areadlink-with-size: ...this.
46501         * lib/canonicalize.c: Reflect the renaming.
46502         * modules/canonicalize: Likewise.
46503
46504 2007-08-26  Bruno Haible  <bruno@clisp.org>
46505
46506         * gnulib-tool (func_import): When deciding which files to remove,
46507         consider also dangling symbolic links.
46508         Reported by Eric Blake.
46509
46510 2007-08-26  Bruno Haible  <bruno@clisp.org>
46511
46512         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
46513
46514 2007-08-23  Simon Josefsson  <simon@josefsson.org>
46515
46516         * lib/readline.c: Don't include getline.h, the prototype is now
46517         found in stdio.h.
46518
46519 2007-08-23  Jim Meyering  <jim@meyering.net>
46520
46521         Getdelim touchup.
46522         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
46523         around the funlockfile call, since funlockfile never sets errno.
46524         Don't set errno upon failed realloc.
46525
46526 2007-08-22  Eric Blake  <ebb9@byu.net>
46527
46528         Getline touchups.
46529         * lib/getdelim.c (getdelim): Revert regression that required *n to
46530         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
46531         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
46532         getdelim, rather than whether implementation is missing.
46533         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
46534         * lib/stdio_.h (getline): Also declare if replacement is
46535         required.
46536         * doc/functions/getdelim.texi: New file.
46537         * doc/functions/getline.texi: Likewise.
46538         * doc/gnulib.texi (Function Substitutes): Add new files.
46539         Reported by Bruno Haible.
46540
46541 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
46542
46543         * users.txt: Add Guile.
46544
46545 2007-08-22  Eric Blake  <ebb9@byu.net>
46546
46547         * tests/test-getdelim.c (main): Use remove, not unlink.
46548         * tests/test-getline.c (main): Likewise.
46549
46550         Move getline and getdelim into stdio.h, per POSIX 200x.
46551         * modules/getline (Files): Remove getline.h.
46552         (Depends-on): Add stdio.
46553         (configure.ac): Add module indicator.
46554         * modules/getdelim (Files): Remove getdelim.h.
46555         (Depends-on): Add stdio.
46556         (configure.ac): Add module indicator.
46557         * modules/stdio (Makefile.am): Work with new indicators.
46558         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
46559         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
46560         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
46561         * lib/getdelim.h: Delete.
46562         * lib/getline.h: Delete.
46563         * lib/stdio_.h (getdelim, getline): Declare.
46564         * modules/getdelim-tests: New module.
46565         * modules/getline-tests: Likewise.
46566         * tests/test-getdelim.c: New file.
46567         * tests/test-getline.c: Likewise.
46568         * NEWS: Document the change.
46569         * lib/getline.c: Update choice of header.
46570         * lib/csharpcomp.c: Likewise.
46571         * lib/getpass.c: Likewise.
46572         * lib/javacomp.c: Likewise.
46573         * lib/javaversion.c: Likewise.
46574         * lib/yesno.c: Likewise.
46575         * lib/getdelim.c: Likewise.
46576         (getdelim): Set errno on failure, and avoid memory leak.
46577
46578 2007-08-19  Bruno Haible  <bruno@clisp.org>
46579
46580         * modules/closein (Depends-on): Add freadahead.
46581         * lib/closein.c: Include freadahead.h.
46582         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
46583         is zero.
46584
46585 2007-08-19  Bruno Haible  <bruno@clisp.org>
46586
46587         * modules/freadahead-tests: New file.
46588         * tests/test-freadahead.sh: New file.
46589         * tests/test-freadahead.c: New file.
46590
46591         * modules/freadahead: New file.
46592         * lib/freadahead.h: New file.
46593         * lib/freadahead.c: New file.
46594         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
46595         fbufmode, fpurge, freadable, fwritable.
46596
46597 2007-08-19  Eric Blake  <ebb9@byu.net>
46598
46599         Test yesno in combination with closein.
46600         * lib/yesno.c (yesno): Document use of stdin.
46601         * modules/yesno-tests (Files): New module.
46602         * tests/test-yesno.c (main): New file.
46603         * tests/test-yesno.sh: Likewise.
46604
46605 2007-08-19  Bruno Haible  <bruno@clisp.org>
46606
46607         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
46608         * lib/fseeko.c (rpl_fseeko): Likewise.
46609         * lib/fseterr.c (fseterr): Likewise.
46610
46611 2007-08-19  Bruno Haible  <bruno@clisp.org>
46612
46613         * tests/test-lseek.c (main): Disable a test for BeOS.
46614         * doc/functions/lseek.texi: Document the BeOS bug.
46615
46616 2007-08-19  Bruno Haible  <bruno@clisp.org>
46617             Eric Blake  <ebb9@byu.net>
46618
46619         * lib/lseek.c: Include <sys/stat.h>.
46620         (rpl_lseek): Add workaround code also for Unix platforms.
46621         Needed for BeOS.
46622         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
46623         * doc/functions/lseek.texi: Document BeOS definiency.
46624
46625 2007-08-18  Bruno Haible  <bruno@clisp.org>
46626
46627         * modules/fstrcmp-tests: New file.
46628         * tests/test-fstrcmp.c: New file.
46629
46630 2007-08-18  Bruno Haible  <bruno@clisp.org>
46631
46632         * modules/fstrcmp: New file, from GNU gettext with modifications.
46633         * lib/fstrcmp.h: New file, from GNU gettext.
46634         * lib/fstrcmp.c: New file, from GNU gettext.
46635         * MODULES.html.sh (String handling): Add fstrcmp.
46636
46637 2007-08-18  Bruno Haible  <bruno@clisp.org>
46638
46639         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
46640         'bool'.
46641         (diag, compareseq): Remove const from the ctxt argument.
46642         (USE_HEURISTIC): Undefine at the end.
46643
46644 2007-08-18  Jim Meyering  <jim@meyering.net>
46645
46646         New file: lib/idcache.h
46647         * NEWS: Mention the addition.
46648         * modules/idcache (Files): Add lib/idcache.h
46649         * lib/idcache.c: Include "idcache.h".
46650         Don't include <sys/types.h>.
46651         Add a FIXME comment.
46652         Move file-scoped "static" declarations to the top.
46653         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
46654
46655 2007-08-17  Bruno Haible  <bruno@clisp.org>
46656         and Paul Eggert  <eggert@cs.ucla.edu>
46657
46658         * MODULES.html.sh: Add diffseq.
46659         * modules/diffseq: New file.
46660         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
46661         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
46662
46663 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
46664
46665         Import changes from coreutils for bootstrap script.
46666
46667         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
46668
46669         * build-aux/bootstrap (slurp): Work even in environments where
46670         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
46671         current code does not slurp files whose names start with ".", and
46672         this looks like it might be a troublesome area.
46673
46674         2007-07-11  Jim Meyering  <jim@meyering.net>
46675
46676         If there's a GPL vN copyright comment, require that N == 3.
46677
46678         2007-07-08  Jim Meyering  <jim@meyering.net>
46679
46680         Run the coreutils-specific code only if tests/Makefile.am.in exists.
46681         * build-aux/bootstrap (mam_template): Move definition out of loop.
46682
46683         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
46684
46685         * build-aux/bootstrap (symlink_to_dir): Rename function from
46686         symlink_to_gnulib.  Add a directory parameter.  Update all
46687         callers.
46688         (cp_mark_as_generated): Also check for -- and link to -- files in
46689         gl/.
46690
46691         2007-07-08  Jim Meyering  <jim@meyering.net>
46692
46693         Adapt to deeper hierarchy in gnulib.
46694         * build-aux/bootstrap (symlink_to_dir): If the destination
46695         directory doesn't exist, create it. This is required at least for
46696         "lib/uniwidth/cjk.h".
46697
46698         2007-05-15  Jim Meyering  <jim@meyering.net>
46699
46700         * build-aux/bootstrap: Now that generated Makefile.am files
46701         are no longer under version control, they must be created at
46702         bootstrap time.
46703
46704 2007-08-14  Ben Pfaff  <blp@gnu.org>
46705
46706         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
46707
46708 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
46709
46710         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
46711         given the changes below.
46712         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
46713         even on hosts that have padding bits beyond the supported 64.
46714
46715 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
46716
46717         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
46718         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
46719         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
46720         depends on it.
46721         (xstrtol_error): Remove.
46722         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
46723         but with a different signature.
46724         (ATTRIBUTE_NORETURN, __attribute__): New macros.
46725         * lib/xstrtol-error.c: Include exitfail.h.
46726         (xstrtol_fatal): New function, with a different signature from the
46727         old xstrtol_error, so that the caller need not worry about passing
46728         in an exit status, or about storage management of the option argument.
46729         (xstrtol_error): Now a static function.  Redo signature to
46730         implement xstrtol_fatal.  Output the correct number of hyphens in
46731         front of the option so that the caller need not worry about
46732         storage management.
46733         (N_): New macro.
46734         (_): Remove; not used now.
46735         * modules/xstrtol: Depend on getopt.
46736         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
46737         of old STRTOL_FATAL_ERROR macro.
46738         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
46739         of test program.
46740         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
46741         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
46742
46743 2007-08-08  Eric Blake  <ebb9@byu.net>
46744
46745         * lib/xstrtol-error.c: Add missing include.
46746
46747         Move xstrtol messages into gnulib domain, when --pobase is used.
46748         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
46749         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
46750         * modules/xstrtol (Files): Distribute new file.
46751         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
46752         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
46753         * tests/test-xstrtol.c: ...into new file.
46754         * tests/test-xstrtoul.c: Also test xstrtoul.
46755         * tests/test-xstrtoimax.c: Also test xstrtoimax.
46756         * tests/test-xstrtoumax.c: Also test xstrtoumax.
46757         * tests/test-xstrtol.sh: Drive the tests.
46758         * tests/test-xstrtoimax.sh: Likewise.
46759         * tests/test-xstrtoumax.sh: Likewise.
46760         * modules/xstrtol-tests: New module.
46761         * modules/xstrtoimax-tests: Likewise.
46762         * modules/xstrtoumax-tests: Likewise.
46763
46764 2007-08-08  Jim Meyering  <jim@meyering.net>
46765
46766         New function: mfile_name_concat.
46767         * lib/filenamecat.c (mfile_name_concat): New function, just like
46768         file_name_concat, but return NULL upon failure rather than exiting
46769         with a diagnostic.
46770         * lib/filenamecat.h: Declare it.
46771
46772 2007-08-07  Bruno Haible  <bruno@clisp.org>
46773
46774         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
46775         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
46776         warning from gcc.
46777         Reported by Eric Blake.
46778
46779 2007-08-07  Simon Josefsson  <simon@josefsson.org>
46780
46781         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
46782         * modules/crypto/arcfour (License): Likewise.
46783         * modules/crypto/des-tests (License): Likewise.
46784         * modules/crypto/gc-arctwo-tests (License): Likewise.
46785         * modules/crypto/gc-des-tests (License): Likewise.
46786         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
46787         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
46788         * modules/crypto/gc-md2-tests (License): Likewise.
46789         * modules/crypto/gc-md4-tests (License): Likewise.
46790         * modules/crypto/gc-md5-tests (License): Likewise.
46791         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
46792         * modules/crypto/gc-rijndael-tests (License): Likewise.
46793         * modules/crypto/gc-sha1-tests (License): Likewise.
46794         * modules/crypto/gc-tests (License): Likewise.
46795         * modules/crypto/hmac-md5 (License): Likewise.
46796         * modules/crypto/hmac-sha1 (License): Likewise.
46797         * modules/crypto/md2-tests (License): Likewise.
46798         * modules/crypto/md4-tests (License): Likewise.
46799         * modules/crypto/md5 (License): Likewise.
46800         * modules/crypto/rijndael (License): Likewise.
46801         * modules/crypto/sha1 (License): Likewise.
46802         * modules/memxor (License): Likewise.
46803
46804 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
46805         and Bruno Haible  <bruno@clisp.org>
46806
46807         * NEWS: Describe interface changes to human, xstrtol.
46808         * lib/human.h: Include <xstrtol.h>.
46809         (human_options): Return enum strtol_error, not int.  Remove
46810         bool arg; take int * instead.
46811         * lib/human.c: Don't include "gettext.h".
46812         (_): Remove; no longer used.
46813         Don't include <xstrtol.h>, since human.h does it.
46814         (human_options): Adjust to abovementioned interface changes.
46815         Do not report error to stderr; that's now the caller's
46816         responsibility.
46817         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
46818         interface change.
46819         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
46820         Str, Argument_type_string.  All uses changed.  Put " argument"
46821         in diagnostics to make them clearer.  Change wording of suffix
46822         message for clarity.
46823         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
46824         Argument_type_string.
46825         (STRTOL_FATAL_WARN): Remove; no longer used.
46826         * modules/human (Depends-on): Remove gettext-h.
46827
46828 2007-08-06  Simon Josefsson  <simon@josefsson.org>
46829
46830         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
46831
46832 2007-07-31  Bruno Haible  <bruno@clisp.org>
46833
46834         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
46835         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
46836         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
46837
46838 2007-07-31  Bruno Haible  <bruno@clisp.org>
46839
46840         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
46841         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
46842
46843 2007-07-30  Bruno Haible  <bruno@clisp.org>
46844
46845         * modules/base64 (License): Use the synonymous term "LGPLv2+".
46846         * modules/c-ctype (License): Likewise.
46847         * modules/c-strcase (License): Likewise.
46848         * modules/check-version (License): Likewise.
46849         * modules/iconv (License): Likewise.
46850         * modules/iconv_open (License): Likewise.
46851         * modules/read-file (License): Likewise.
46852         * modules/striconv (License): Likewise.
46853         * modules/strverscmp (License): Likewise.
46854         * modules/vasprintf (License): Likewise.
46855         * modules/crypto/des (License): Likewise.
46856         * modules/crypto/gc (License): Likewise.
46857         * modules/crypto/gc-arcfour (License): Likewise.
46858         * modules/crypto/gc-arctwo (License): Likewise.
46859         * modules/crypto/gc-des (License): Likewise.
46860         * modules/crypto/gc-hmac-md5 (License): Likewise.
46861         * modules/crypto/gc-hmac-sha1 (License): Likewise.
46862         * modules/crypto/gc-md2 (License): Likewise.
46863         * modules/crypto/gc-md4 (License): Likewise.
46864         * modules/crypto/gc-md5 (License): Likewise.
46865         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
46866         * modules/crypto/gc-random (License): Likewise.
46867         * modules/crypto/gc-rijndael (License): Likewise.
46868         * modules/crypto/gc-sha1 (License): Likewise.
46869         * modules/crypto/md2 (License): Likewise.
46870         * modules/crypto/md4 (License): Likewise.
46871
46872 2007-07-30  Jim Meyering  <jim@meyering.net>
46873
46874         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
46875         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
46876         it has valid stat data.  This bug would cause du not to count the
46877         sizes of inaccessible directories.
46878         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
46879         in <http://bugzilla.redhat.com/250077>.
46880
46881 2007-07-25  Peter O'Gorman  <peter@pogma.com>
46882             Bruno Haible  <bruno@clisp.org>
46883
46884         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
46885         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
46886         #include_next, gives a diagnostic about it, but reports no error in
46887         the exit code.
46888         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
46889
46890 2007-07-24  Ben Pfaff  <blp@gnu.org>
46891
46892         Improve name: "count-one-bits" is better than "popcount".
46893         * MODULES.html.sh: Update name.
46894         * lib/popcount.h: Renamed lib/count-one-bits.h.
46895         (popcount): Renamed count_one_bits.
46896         (popcountl): Renamed count_one_bits_l.
46897         (popcountll): Renamed count_one_bits_ll.
46898         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
46899         * modules/popcount: Renamed module/count-one-bits.
46900         * modules/popcount-tests: Renamed module/count-one-bits-tests.
46901         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
46902
46903 2007-07-23  Ben Pfaff  <blp@gnu.org>
46904
46905         * lib/popcount.h (popcount32): Reduce size of constants, to allow
46906         better code generation, and add U to large constants to avoid
46907         warnings, in non-GCC case.
46908         Suggested by Bruno Haible.
46909
46910 2007-07-23  Ben Pfaff  <blp@gnu.org>
46911
46912         * lib/popcount.h: Use verify_true instead of if...abort.
46913         * modules/popcount: Depend on verify module.
46914         Suggested by Jim Meyering.
46915
46916 2007-07-23  Bruno Haible  <bruno@clisp.org>
46917
46918         * gnulib-tool (func_import): Create a .cvsignore file also when the
46919         directory is not yet in CVS but the toplevel directory is. When
46920         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
46921         Reported by Karl Berry.
46922
46923 2007-07-22  Ben Pfaff  <blp@gnu.org>
46924
46925         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
46926         case.
46927         Suggested by Eric Blake.
46928
46929 2007-07-22  Ben Pfaff  <blp@gnu.org>
46930
46931         New module: popcount.
46932         * MODULES.html.sh: Add popcount.
46933         * modules/popcount: New file.
46934         * modules/popcount-tests: New file.
46935         * tests/test-popcount.c: New file.
46936         * lib/popcount.h: New file.
46937         * m4/popcount.m4: New file.
46938
46939 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
46940
46941         * build-aux/announce-gen: Update to GPLv3.
46942
46943         * build-aux/config.guess: Update from config.
46944
46945 2007-07-21  Bruno Haible  <bruno@clisp.org>
46946
46947         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
46948         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
46949
46950 2007-07-20  Jim Meyering  <jim@meyering.net>
46951
46952         * check-module: Diagnose a self-dependency.
46953
46954 2007-07-19  Bruno Haible  <bruno@clisp.org>
46955
46956         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
46957         empty.
46958         Reported by Eric Blake.
46959
46960 2007-07-18  Bruno Haible  <bruno@clisp.org>
46961
46962         * gnulib-tool: New options --po-base, --po-domain.
46963         (func_usage): Document them.
46964         (pobase, po_domain): New variables.
46965         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
46966         DEFAULT_TEXT_DOMAIN.
46967         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
46968         (func_import): Consider pobase and po_domain. Create a po/ directory.
46969         (func_create_testdir): Set pobase and po_domain to empty.
46970         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
46971         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
46972
46973 2007-07-18  Bruno Haible  <bruno@clisp.org>
46974
46975         * gnulib-tool (func_get_automake_snippet): Synthesize also an
46976         EXTRA_DIST augmentation for files in build-aux/.
46977
46978 2007-07-16  Bruno Haible  <bruno@clisp.org>
46979
46980         * modules/lseek (License): Use the synonymous term "LGPLv2+".
46981         * modules/getdelim (License): Likewise.
46982
46983 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46984
46985         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
46986         * modules/d-type (License): Likewise.
46987         * modules/extensions (License): Likewise.
46988         * modules/fnmatch (License): Likewise.
46989         * modules/fseeko (License): Likewise.
46990         * modules/getaddrinfo (License): Likewise.
46991         * modules/getline (License): Likewise.
46992         * modules/getlogin_r (License): Likewise.
46993         * modules/getpass (License): Likewise.
46994         * modules/gettimeofday (License): Likewise.
46995         * modules/glob (License): Likewise.
46996         * modules/inet_ntop (License): Likewise.
46997         * modules/malloc (License): Likewise.
46998         * modules/malloca (License): Likewise.
46999         * modules/memmem (License): Likewise.
47000         * modules/mempcpy (License): Likewise.
47001         * modules/memset (License): Likewise.
47002         * modules/minmax (License): Likewise.
47003         * modules/mktime (License): Likewise.
47004         * modules/netinet_in (License): Likewise.
47005         * modules/pathmax (License): Likewise.
47006         * modules/poll (License): Likewise.
47007         * modules/regex (License): Likewise.
47008         * modules/snprintf (License): Likewise.
47009         * modules/stdbool (License): Likewise.
47010         * modules/stdint (License): Likewise.
47011         * modules/stdio (License): Likewise.
47012         * modules/strcase (License): Likewise.
47013         * modules/strcasestr (License): Likewise.
47014         * modules/strdup (License): Likewise.
47015         * modules/string (License): Likewise.
47016         * modules/strndup (License): Likewise.
47017         * modules/strnlen (License): Likewise.
47018         * modules/strpbrk (License): Likewise.
47019         * modules/strptime (License): Likewise.
47020         * modules/strsep (License): Likewise.
47021         * modules/sys_select (License): Likewise.
47022         * modules/sys_socket (License): Likewise.
47023         * modules/sys_stat (License): Likewise.
47024         * modules/sys_time (License): Likewise.
47025         * modules/time (License): Likewise.
47026         * modules/time_r (License): Likewise.
47027         * modules/timegm (License): Likewise.
47028         * modules/unistd (License): Likewise.
47029         * modules/vsnprintf (License): Likewise.
47030         * modules/wctype (License): Likewise.
47031
47032 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47033
47034         * modules/argz (License): LGPLv2+.
47035
47036 2007-07-15  Karl Berry  <karl@gnu.org>
47037
47038         * doc/gnulib.texi: revise node structure per new fdl.texi.
47039
47040 2007-07-14  Bruno Haible  <bruno@clisp.org>
47041
47042         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
47043         the output file.
47044         * lib/uniname/uninames.h: Regenerated.
47045
47046 2007-07-14  Karl Berry  <karl@gnu.org>
47047
47048         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
47049         omitting sectioning and index commands.
47050
47051 2007-07-13  Bruno Haible  <bruno@clisp.org>
47052
47053         New gnulib-tool option --more-symlinks.
47054         * gnulib-tool (func_usage): Document --more-symlinks.
47055         (do_copyrights): New variable.
47056         Recognize option --more-symlinks.
47057         (func_import): Don't add a copyright notice transform to
47058         sed_transform_lib_file if do_copyrights is empty.
47059
47060 2007-07-13  Bruno Haible  <bruno@clisp.org>
47061
47062         * lib/vasnprintf.c (decimal_point_char): Define also if
47063         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
47064         && !NEED_PRINTF_DIRECTIVE_A.
47065         Reported by Clemens Koller <clemens.koller@anagramm.de> via
47066         Gary V. Vaughan <gary@gnu.org>.
47067
47068 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
47069
47070         * lib/inttypes_.h: Undo previous change, since it was fixed
47071         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
47072
47073 2007-07-13  Bruno Haible  <bruno@clisp.org>
47074
47075         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
47076         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
47077
47078 2007-07-13  Jim Meyering  <jim@meyering.net>
47079
47080         df: Don't fail for Tru64's "file-on-file mount".
47081         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
47082         so we fall through and use statfs instead.  Details here:
47083         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
47084         Reported by Albert Chin.
47085
47086 2007-07-13  Bruno Haible  <bruno@clisp.org>
47087
47088         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
47089         * modules/configmake (License): Likewise.
47090         * modules/gettext (License): Likewise.
47091         * modules/gettext-h (License): Likewise.
47092         * modules/include_next (License): Likewise.
47093         * modules/link-warning (License): Likewise.
47094         * modules/localcharset (License): Likewise.
47095         * modules/localename (License): Likewise.
47096         * modules/lock (License): Likewise.
47097         * modules/relocatable-lib-lgpl (License): Likewise.
47098         * modules/size_max (License): Likewise.
47099         * modules/vasnprintf (License): Likewise.
47100         * modules/wchar (License): Likewise.
47101         * modules/xsize (License): Likewise.
47102
47103 2007-07-13  Bruno Haible  <bruno@clisp.org>
47104
47105         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
47106         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
47107
47108 2007-07-12  Bruno Haible  <bruno@clisp.org>
47109
47110         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
47111         in the modules files.
47112
47113 2007-07-11  Karl Berry  <karl@gnu.org>
47114
47115         * MODULES.html.sh (func_module): use
47116          sed -e '\|^'"${includefile}"'$|d'
47117          instead of /.../d, to avoid errors on $includefile's containing /.
47118
47119 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
47120
47121         * gnulib-tool (func_import): Avoid duplication of --avoid
47122         statements
47123         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
47124         names to `_' in variable names.
47125
47126 2007-07-10  Eric Blake  <ebb9@byu.net>
47127
47128         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
47129         * NEWS: Document this change.
47130
47131 2007-07-08  Bruno Haible  <bruno@clisp.org>
47132
47133         Update to Unicode 5.0.
47134         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
47135         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
47136         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
47137         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
47138         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
47139         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
47140         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
47141         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
47142         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
47143         U+10A3F, U+1D242..U+1D244.
47144         (nonspacing_table_ind): Update.
47145         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
47146         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
47147
47148 2007-07-08  Bruno Haible  <bruno@clisp.org>
47149
47150         Update to Unicode 5.0.
47151         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
47152         code transform. Extend the name index field of unicode_name_to_code and
47153         unicode_code_to_name from 16 to 24 bits.
47154         * lib/uniname/uniname.c (unicode_character_name,
47155         unicode_name_character): Add the range 0x12xxx to the code transform.
47156         * lib/uniname/uninames.h: Regenerated.
47157         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
47158
47159 2007-07-07  Bruno Haible  <bruno@clisp.org>
47160
47161         * modules/wcwidth-tests: New file.
47162         * tests/test-wcwidth.c: New file.
47163
47164         Work around MacOS X wcwidth() bug.
47165         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
47166         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
47167         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
47168         original wcwidth in non-UTF-8 locales.
47169         * modules/wcwidth (Depends-on): Add localcharset, streq,
47170         uniwidth/width.
47171         * doc/functions/wcwidth.texi: Update.
47172
47173 2007-07-07  Bruno Haible  <bruno@clisp.org>
47174
47175         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
47176         (wcwidth): New declaration.
47177         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
47178         macros.
47179         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
47180         here. Prepare for creating <wchar.h> unconditionally.
47181         * modules/wchar (Depends-on): Add link-warning.
47182         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
47183         REPLACE_WCWIDTH, and GL_LINK_WARNING.
47184         * lib/wcwidth.h: Remove file.
47185         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
47186         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
47187         * modules/wcwidth (Files): Remove lib/wcwidth.h.
47188         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
47189         (Include): Replace wcwidth.h with <wchar.h>.
47190         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
47191         * lib/mbchar.h: Don't include wcwidth.h.
47192         * lib/mbswidth.c: Likewise.
47193         * NEWS: Mention the change.
47194
47195 2007-07-07  Bruno Haible  <bruno@clisp.org>
47196
47197         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
47198         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
47199         definition with an external declaration.
47200         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
47201         defined as a function. Remove AC_C_INLINE requirement.
47202         * modules/wcwidth (Files): Add lib/wcwidth.c.
47203         (Makefile.am): Remove redundant statement.
47204
47205 2007-07-07  Bruno Haible  <bruno@clisp.org>
47206
47207         * MODULES.html.sh (Unicode string functions): Add the new modules.
47208
47209         * tests/uniwidth/test-u32-strwidth.c: New file.
47210         * modules/uniwidth/u32-strwidth-tests: New file.
47211
47212         * lib/uniwidth/u32-strwidth.c: New file.
47213         * modules/uniwidth/u32-strwidth: New file.
47214
47215         * tests/uniwidth/test-u16-strwidth.c: New file.
47216         * modules/uniwidth/u16-strwidth-tests: New file.
47217
47218         * lib/uniwidth/u16-strwidth.c: New file.
47219         * modules/uniwidth/u16-strwidth: New file.
47220
47221         * tests/uniwidth/test-u8-strwidth.c: New file.
47222         * modules/uniwidth/u8-strwidth-tests: New file.
47223
47224         * lib/uniwidth/u8-strwidth.c: New file.
47225         * modules/uniwidth/u8-strwidth: New file.
47226
47227         * tests/uniwidth/test-u32-width.c: New file.
47228         * modules/uniwidth/u32-width-tests: New file.
47229
47230         * lib/uniwidth/u32-width.c: New file.
47231         * modules/uniwidth/u32-width: New file.
47232
47233         * tests/uniwidth/test-u16-width.c: New file.
47234         * modules/uniwidth/u16-width-tests: New file.
47235
47236         * lib/uniwidth/u16-width.c: New file.
47237         * modules/uniwidth/u16-width: New file.
47238
47239         * tests/uniwidth/test-u8-width.c: New file.
47240         * modules/uniwidth/u8-width-tests: New file.
47241
47242         * lib/uniwidth/u8-width.c: New file.
47243         * modules/uniwidth/u8-width: New file.
47244
47245         * tests/uniwidth/test-uc_width.c: New file.
47246         * modules/uniwidth/width-tests: New file.
47247
47248         * lib/uniwidth/width.c: New file, from GNU libiconv.
47249         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
47250         * modules/uniwidth/width: New file.
47251
47252         * lib/uniwidth.h: New file, from GNU libiconv.
47253         * modules/uniwidth/base: New file.
47254
47255 2007-07-07  Bruno Haible  <bruno@clisp.org>
47256
47257         * lib/uniname.h: New file, from GNU gettext.
47258         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
47259         * lib/uniname/uninames.h: New file, from GNU gettext.
47260         * lib/uniname/uniname.c: New file, from GNU gettext.
47261         * tests/uniname/test-uninames.sh: New file.
47262         * tests/uniname/test-uninames.c: New file, from GNU gettext.
47263         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
47264         * modules/uniname/base: New file.
47265         * modules/uniname/uniname: New file.
47266         * modules/uniname/uniname-tests: New file.
47267         * MODULES.html.sh (Unicode string functions): Add the new modules.
47268
47269 2007-07-06  Bruno Haible  <bruno@clisp.org>
47270
47271         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
47272
47273 2007-07-06  Bruno Haible  <bruno@clisp.org>
47274
47275         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
47276         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
47277         includes <cygwin/sys_time.h> which includes <sys/select.h> which
47278         include <sys/time.h>.
47279         Reported by Eric Blake.
47280
47281 2007-07-06  Eric Blake  <ebb9@byu.net>
47282
47283         Fix testing canonicalize on cygwin.
47284         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
47285         Revert patch from 2007-06-19.
47286         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
47287         canonicalize module is also in use.
47288         * tests/test-canonicalize.c: New file.
47289         * tests/test-canonicalize.sh: Likewise.
47290         * modules/canonicalize-tests: Likewise.
47291
47292 2007-07-06  Jim Meyering  <jim@meyering.net>
47293
47294         * lib/getugroups.c (getugroups): Detect getgrent failure.
47295         Adjust comment to reflect reality: this function may return -1.
47296
47297 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
47298
47299         * build-aux/bootstrap (TP_URL,get_translations): Update to use
47300         the new TP address.
47301         (usage): Fix typo
47302         (gnulib_mk): New variable.
47303
47304 2007-07-05  Jim Meyering  <jim@meyering.net>
47305
47306         Don't let endgrent clobber errno, no matter how improbable.
47307         * lib/getugroups.c (getugroups): Save and restore errno around
47308         endgrent call.
47309
47310         Close the group DB even when failing with 2^31 or more members.
47311         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
47312
47313 2007-07-04  Jim Meyering  <jim@meyering.net>
47314
47315         * lib/getugroups.h: New file.
47316         * lib/getugroups.c: Include "getugroups.h".
47317         Remove uses of "register" keyword.
47318         Move local variable, "cp", down into scope where used.
47319         Give "username" parameter the "const" attribute.
47320         * modules/getugroups (Files): Add lib/getugroups.h
47321
47322 2007-07-04  Karl Berry  <karl@gnu.org>
47323
47324         * MODULES.html.sh (func_all_modules): Complete rename of
47325         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
47326
47327 2007-07-02  Bruno Haible  <bruno@clisp.org>
47328
47329         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
47330         mode, when inttypes.h comes from gnulib.
47331         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
47332
47333 2007-07-02  Simon Josefsson  <simon@josefsson.org>
47334
47335         * NEWS: Mention lgpl module name change.
47336
47337         * modules/lgpl-2.1: Renamed from lgpl.
47338
47339         * NEWS: Mention gpl module name change.
47340
47341         * modules/gpl-3.0: New file, based on gpl-2.0.
47342
47343         * modules/gpl-2.0: Renamed from gpl.
47344
47345         * modules/gpl: Fix filename, doc/gpl.texi is now found at
47346         doc/gpl-2.0.texi.
47347
47348 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
47349
47350         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
47351         #define __STDC_LIMIT_MACROS temporarily while including
47352         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
47353         Problem reported by Joel E. Denny in
47354         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
47355
47356 2007-07-01  Bruno Haible  <bruno@clisp.org>
47357
47358         * lib/unistdio.h: New file.
47359         * lib/unistdio/u-asnprintf.h: New file.
47360         * lib/unistdio/u-asprintf.h: New file.
47361         * lib/unistdio/u-printf-args.c: New file.
47362         * lib/unistdio/u-printf-args.h: New file.
47363         * lib/unistdio/u-printf-parse.h: New file.
47364         * lib/unistdio/u-snprintf.h: New file.
47365         * lib/unistdio/u-sprintf.h: New file.
47366         * lib/unistdio/u-vasprintf.h: New file.
47367         * lib/unistdio/u-vsnprintf.h: New file.
47368         * lib/unistdio/u-vsprintf.h: New file.
47369         * lib/unistdio/ulc-asnprintf.c: New file.
47370         * lib/unistdio/ulc-asprintf.c: New file.
47371         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
47372         * lib/unistdio/ulc-printf-parse.c: New file.
47373         * lib/unistdio/ulc-snprintf.c: New file.
47374         * lib/unistdio/ulc-sprintf.c: New file.
47375         * lib/unistdio/ulc-vasnprintf.c: New file.
47376         * lib/unistdio/ulc-vasprintf.c: New file.
47377         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
47378         * lib/unistdio/ulc-vsnprintf.c: New file.
47379         * lib/unistdio/ulc-vsprintf.c: New file.
47380         * lib/unistdio/u8-asnprintf.c: New file.
47381         * lib/unistdio/u8-asprintf.c: New file.
47382         * lib/unistdio/u8-printf-parse.c: New file.
47383         * lib/unistdio/u8-snprintf.c: New file.
47384         * lib/unistdio/u8-sprintf.c: New file.
47385         * lib/unistdio/u8-vasnprintf.c: New file.
47386         * lib/unistdio/u8-vasprintf.c: New file.
47387         * lib/unistdio/u8-vsnprintf.c: New file.
47388         * lib/unistdio/u8-vsprintf.c: New file.
47389         * lib/unistdio/u8-u8-asnprintf.c: New file.
47390         * lib/unistdio/u8-u8-asprintf.c: New file.
47391         * lib/unistdio/u8-u8-snprintf.c: New file.
47392         * lib/unistdio/u8-u8-sprintf.c: New file.
47393         * lib/unistdio/u8-u8-vasnprintf.c: New file.
47394         * lib/unistdio/u8-u8-vasprintf.c: New file.
47395         * lib/unistdio/u8-u8-vsnprintf.c: New file.
47396         * lib/unistdio/u8-u8-vsprintf.c: New file.
47397         * lib/unistdio/u16-asnprintf.c: New file.
47398         * lib/unistdio/u16-asprintf.c: New file.
47399         * lib/unistdio/u16-printf-parse.c: New file.
47400         * lib/unistdio/u16-snprintf.c: New file.
47401         * lib/unistdio/u16-sprintf.c: New file.
47402         * lib/unistdio/u16-vasnprintf.c: New file.
47403         * lib/unistdio/u16-vasprintf.c: New file.
47404         * lib/unistdio/u16-vsnprintf.c: New file.
47405         * lib/unistdio/u16-vsprintf.c: New file.
47406         * lib/unistdio/u16-u16-asnprintf.c: New file.
47407         * lib/unistdio/u16-u16-asprintf.c: New file.
47408         * lib/unistdio/u16-u16-snprintf.c: New file.
47409         * lib/unistdio/u16-u16-sprintf.c: New file.
47410         * lib/unistdio/u16-u16-vasnprintf.c: New file.
47411         * lib/unistdio/u16-u16-vasprintf.c: New file.
47412         * lib/unistdio/u16-u16-vsnprintf.c: New file.
47413         * lib/unistdio/u16-u16-vsprintf.c: New file.
47414         * lib/unistdio/u32-asnprintf.c: New file.
47415         * lib/unistdio/u32-asprintf.c: New file.
47416         * lib/unistdio/u32-printf-parse.c: New file.
47417         * lib/unistdio/u32-snprintf.c: New file.
47418         * lib/unistdio/u32-sprintf.c: New file.
47419         * lib/unistdio/u32-vasnprintf.c: New file.
47420         * lib/unistdio/u32-vasprintf.c: New file.
47421         * lib/unistdio/u32-vsnprintf.c: New file.
47422         * lib/unistdio/u32-vsprintf.c: New file.
47423         * lib/unistdio/u32-u32-asnprintf.c: New file.
47424         * lib/unistdio/u32-u32-asprintf.c: New file.
47425         * lib/unistdio/u32-u32-snprintf.c: New file.
47426         * lib/unistdio/u32-u32-sprintf.c: New file.
47427         * lib/unistdio/u32-u32-vasnprintf.c: New file.
47428         * lib/unistdio/u32-u32-vasprintf.c: New file.
47429         * lib/unistdio/u32-u32-vsnprintf.c: New file.
47430         * lib/unistdio/u32-u32-vsprintf.c: New file.
47431         * tests/unistdio/test-ulc-asnprintf1.c: New file.
47432         * tests/unistdio/test-ulc-asnprintf1.h: New file.
47433         * tests/unistdio/test-ulc-printf1.h: New file.
47434         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
47435         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
47436         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
47437         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
47438         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
47439         * tests/unistdio/test-ulc-vasprintf1.c: New file.
47440         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
47441         * tests/unistdio/test-ulc-vsprintf1.c: New file.
47442         * tests/unistdio/test-u8-asnprintf1.c: New file.
47443         * tests/unistdio/test-u8-asnprintf1.h: New file.
47444         * tests/unistdio/test-u8-printf1.h: New file.
47445         * tests/unistdio/test-u8-vasnprintf1.c: New file.
47446         * tests/unistdio/test-u8-vasnprintf2.c: New file.
47447         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
47448         * tests/unistdio/test-u8-vasnprintf3.c: New file.
47449         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
47450         * tests/unistdio/test-u8-vasprintf1.c: New file.
47451         * tests/unistdio/test-u8-vsnprintf1.c: New file.
47452         * tests/unistdio/test-u8-vsprintf1.c: New file.
47453         * tests/unistdio/test-u16-asnprintf1.c: New file.
47454         * tests/unistdio/test-u16-asnprintf1.h: New file.
47455         * tests/unistdio/test-u16-printf1.h: New file.
47456         * tests/unistdio/test-u16-vasnprintf1.c: New file.
47457         * tests/unistdio/test-u16-vasnprintf2.c: New file.
47458         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
47459         * tests/unistdio/test-u16-vasnprintf3.c: New file.
47460         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
47461         * tests/unistdio/test-u16-vasprintf1.c: New file.
47462         * tests/unistdio/test-u16-vsnprintf1.c: New file.
47463         * tests/unistdio/test-u16-vsprintf1.c: New file.
47464         * tests/unistdio/test-u32-asnprintf1.c: New file.
47465         * tests/unistdio/test-u32-asnprintf1.h: New file.
47466         * tests/unistdio/test-u32-printf1.h: New file.
47467         * tests/unistdio/test-u32-vasnprintf1.c: New file.
47468         * tests/unistdio/test-u32-vasnprintf2.c: New file.
47469         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
47470         * tests/unistdio/test-u32-vasnprintf3.c: New file.
47471         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
47472         * tests/unistdio/test-u32-vasprintf1.c: New file.
47473         * tests/unistdio/test-u32-vsnprintf1.c: New file.
47474         * tests/unistdio/test-u32-vsprintf1.c: New file.
47475         * modules/unistdio/base: New file.
47476         * modules/unistdio/u-printf-args: New file.
47477         * modules/unistdio/ulc-asnprintf: New file.
47478         * modules/unistdio/ulc-asprintf: New file.
47479         * modules/unistdio/ulc-fprintf: New file.
47480         * modules/unistdio/ulc-printf-parse: New file.
47481         * modules/unistdio/ulc-snprintf: New file.
47482         * modules/unistdio/ulc-sprintf: New file.
47483         * modules/unistdio/ulc-vasnprintf: New file.
47484         * modules/unistdio/ulc-vasprintf: New file.
47485         * modules/unistdio/ulc-vfprintf: New file.
47486         * modules/unistdio/ulc-vsnprintf: New file.
47487         * modules/unistdio/ulc-vsprintf: New file.
47488         * modules/unistdio/u8-asnprintf: New file.
47489         * modules/unistdio/u8-asprintf: New file.
47490         * modules/unistdio/u8-printf-parse: New file.
47491         * modules/unistdio/u8-snprintf: New file.
47492         * modules/unistdio/u8-sprintf: New file.
47493         * modules/unistdio/u8-vasnprintf: New file.
47494         * modules/unistdio/u8-vasprintf: New file.
47495         * modules/unistdio/u8-vsnprintf: New file.
47496         * modules/unistdio/u8-vsprintf: New file.
47497         * modules/unistdio/u8-u8-asnprintf: New file.
47498         * modules/unistdio/u8-u8-asprintf: New file.
47499         * modules/unistdio/u8-u8-snprintf: New file.
47500         * modules/unistdio/u8-u8-sprintf: New file.
47501         * modules/unistdio/u8-u8-vasnprintf: New file.
47502         * modules/unistdio/u8-u8-vasprintf: New file.
47503         * modules/unistdio/u8-u8-vsnprintf: New file.
47504         * modules/unistdio/u8-u8-vsprintf: New file.
47505         * modules/unistdio/u16-asnprintf: New file.
47506         * modules/unistdio/u16-asprintf: New file.
47507         * modules/unistdio/u16-printf-parse: New file.
47508         * modules/unistdio/u16-snprintf: New file.
47509         * modules/unistdio/u16-sprintf: New file.
47510         * modules/unistdio/u16-vasnprintf: New file.
47511         * modules/unistdio/u16-vasprintf: New file.
47512         * modules/unistdio/u16-vsnprintf: New file.
47513         * modules/unistdio/u16-vsprintf: New file.
47514         * modules/unistdio/u16-u16-asnprintf: New file.
47515         * modules/unistdio/u16-u16-asprintf: New file.
47516         * modules/unistdio/u16-u16-snprintf: New file.
47517         * modules/unistdio/u16-u16-sprintf: New file.
47518         * modules/unistdio/u16-u16-vasnprintf: New file.
47519         * modules/unistdio/u16-u16-vasprintf: New file.
47520         * modules/unistdio/u16-u16-vsnprintf: New file.
47521         * modules/unistdio/u16-u16-vsprintf: New file.
47522         * modules/unistdio/u32-asnprintf: New file.
47523         * modules/unistdio/u32-asprintf: New file.
47524         * modules/unistdio/u32-printf-parse: New file.
47525         * modules/unistdio/u32-snprintf: New file.
47526         * modules/unistdio/u32-sprintf: New file.
47527         * modules/unistdio/u32-vasnprintf: New file.
47528         * modules/unistdio/u32-vasprintf: New file.
47529         * modules/unistdio/u32-vsnprintf: New file.
47530         * modules/unistdio/u32-vsprintf: New file.
47531         * modules/unistdio/u32-u32-asnprintf: New file.
47532         * modules/unistdio/u32-u32-asprintf: New file.
47533         * modules/unistdio/u32-u32-snprintf: New file.
47534         * modules/unistdio/u32-u32-sprintf: New file.
47535         * modules/unistdio/u32-u32-vasnprintf: New file.
47536         * modules/unistdio/u32-u32-vasprintf: New file.
47537         * modules/unistdio/u32-u32-vsnprintf: New file.
47538         * modules/unistdio/u32-u32-vsprintf: New file.
47539         * modules/unistdio/ulc-asnprintf-tests: New file.
47540         * modules/unistdio/ulc-vasnprintf-tests: New file.
47541         * modules/unistdio/ulc-vasprintf-tests: New file.
47542         * modules/unistdio/ulc-vsnprintf-tests: New file.
47543         * modules/unistdio/ulc-vsprintf-tests: New file.
47544         * modules/unistdio/u8-asnprintf-tests: New file.
47545         * modules/unistdio/u8-vasnprintf-tests: New file.
47546         * modules/unistdio/u8-vasprintf-tests: New file.
47547         * modules/unistdio/u8-vsnprintf-tests: New file.
47548         * modules/unistdio/u8-vsprintf-tests: New file.
47549         * modules/unistdio/u16-asnprintf-tests: New file.
47550         * modules/unistdio/u16-vasnprintf-tests: New file.
47551         * modules/unistdio/u16-vasprintf-tests: New file.
47552         * modules/unistdio/u16-vsnprintf-tests: New file.
47553         * modules/unistdio/u16-vsprintf-tests: New file.
47554         * modules/unistdio/u32-asnprintf-tests: New file.
47555         * modules/unistdio/u32-vasnprintf-tests: New file.
47556         * modules/unistdio/u32-vasprintf-tests: New file.
47557         * modules/unistdio/u32-vsnprintf-tests: New file.
47558         * modules/unistdio/u32-vsprintf-tests: New file.
47559         * MODULES.html.sh (Unicode string functions): Add the new modules.
47560
47561 2007-07-01  Bruno Haible  <bruno@clisp.org>
47562
47563         * lib/sprintf.c (sprintf): Limit the available length estimation,
47564         to avoid address wraparound.
47565         * lib/vsprintf.c (vsprintf): Likewise.
47566         * modules/sprintf-posix (Dependencies): Add stdint.
47567         * modules/vsprintf-posix (Dependencies): Likewise.
47568
47569 2007-07-01  Bruno Haible  <bruno@clisp.org>
47570
47571         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
47572         Windows PATH as well. Conservative double-quoting. Comments.
47573
47574 2007-07-01  Bruno Haible  <bruno@clisp.org>
47575             Eric Blake  <ebb9@byu.net>
47576             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47577
47578         * gnulib-tool (self_abspathname): Fix algorithm to cope with
47579         empty components in $PATH, denoting '.'.
47580
47581 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47582
47583         * gnulib-tool: Fix indentation.
47584         (func_create_megatestdir): Likewise.
47585         Report by Bruno Haible.
47586
47587 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47588
47589         Sync from Automake.
47590         * build-aux/gnupload: Fix shell portability issues with for loops.
47591         Report by Karl Berry.
47592
47593 2007-06-29  Simon Josefsson  <simon@josefsson.org>
47594
47595         * build-aux/maint.mk (POURL): Use translationproject.org.
47596
47597 2007-06-27  Simon Josefsson  <simon@josefsson.org>
47598             Bruno Haible  <bruno@clisp.org>
47599
47600         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
47601         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
47602         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
47603         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
47604         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
47605
47606 2007-06-27  Bruno Haible  <bruno@clisp.org>
47607
47608         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
47609         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
47610
47611 2007-06-26  Karl Berry  <karl@gnu.org>
47612
47613         * MODULES.html.sh: remove xreadlink-with-size.
47614
47615 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
47616
47617         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
47618         method that I hope also handles the double-include problem noted
47619         by Bruno Haible in
47620         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
47621
47622 2007-06-23  Bruno Haible  <bruno@clisp.org>
47623
47624         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
47625         Don't let the 'mostlyclean' target fail if the last subdirectory could
47626         not be removed.
47627         Reported by Karl Berry.
47628
47629 2007-06-23  Bruno Haible  <bruno@clisp.org>
47630
47631         * gnulib-tool (echo): Add a speedier workaround for ksh.
47632         * tests/test-echo.sh: Likewise.
47633
47634 2007-06-23  Bruno Haible  <bruno@clisp.org>
47635
47636         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
47637         * tests/test-echo.sh: Likewise.
47638
47639 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47640
47641         * gnulib-tool (IFS): Initialize early, so we don't set it to
47642         empty later.
47643         (self_abspathname): Rewrite algorithm to set it, reindent.
47644         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
47645         (func_create_megatestdir): Merge some sed scripts.
47646
47647 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
47648
47649         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
47650         exposed by Sun Studio 11 cc on Solaris 8.
47651
47652 2007-06-22  Bruno Haible  <bruno@clisp.org>
47653
47654         * gnulib-tool (echo): Ensure the echo primitive does not interpret
47655         backslashes.
47656         * tests/test-echo.sh: New file.
47657
47658 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47659
47660         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
47661         simplify `sed_replace_build_aux' scripts, they are portable but
47662         echoing them with `echo' is not.
47663         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
47664
47665 2007-06-21  Karl Berry  <karl@gnu.org>
47666
47667         * config/srclist.txt: guess we can't handle the licenses via
47668         srclist at the moment.
47669
47670 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
47671
47672         * MODULES.html.sh: Add include_next.
47673         * modules/include_next: New file.
47674
47675 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
47676
47677         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
47678         INCLUDE_NEXT.
47679         (gl_CHECK_NEXT_HEADERS): New macro.
47680         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
47681         the obsolescent gl_ABSOLUTE_HEADER.
47682         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
47683         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
47684         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
47685         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
47686         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
47687         * m4/math_h.m4 (gl_MATH_H): Likewise.
47688         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
47689         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
47690         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
47691         * m4/stdint.m4 (gl_STDINT_H): Likewise.
47692         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
47693         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
47694         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
47695         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
47696         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
47697         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
47698         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
47699         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
47700         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
47701         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
47702         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
47703         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
47704         * m4/inttypes.m4 (gl_INTTYPES_H): Define
47705         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
47706         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
47707         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
47708         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
47709         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
47710         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
47711         * lib/float_.h: Likewise.
47712         * lib/inttypes_.h: Likewise.
47713         * lib/math_.h: Likewise.
47714         * lib/search_.h: Likewise.
47715         * lib/signal_.h: Likewise.
47716         * lib/stdint_.h: Likewise.
47717         * lib/stdio_.h: Likewise.
47718         * lib/stdlib_.h: Likewise.
47719         * lib/string_.h: Likewise.
47720         * lib/sys_stat_.h: Likewise.
47721         * lib/sys_time_.h: Likewise.
47722         * lib/time_.h: Likewise.
47723         * lib/unistd_.h: Likewise.
47724         * lib/wchar_.h: Likewise.
47725         * lib/wctype_.h: Likewise.
47726         * lib/dirent_.h: Likewise.
47727         * lib/iconv_.h: Likewise.
47728         * lib/locale_.h: Likewise.
47729         * lib/netinet_in_.h: Likewise.
47730         * lib/sys_select_.h: Likewise.
47731         * lib/sys_socket_.h: Likewise.
47732         * lib/sysexits_.h: Likewise.
47733         * modules/fcntl (Depends-on): Depend on include_next, not
47734         absolute_header.
47735         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
47736         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
47737         * modules/fchdir: Likewise.
47738         * modules/float: Likewise.
47739         * modules/iconv_open: Likewise.
47740         * modules/inttypes: Likewise.
47741         * modules/locale: Likewise.
47742         * modules/math: Likewise.
47743         * modules/netinet_in: Likewise.
47744         * modules/search: Likewise.
47745         * modules/signal: Likewise.
47746         * modules/stdint: Likewise.
47747         * modules/stdio: Likewise.
47748         * modules/stdlib: Likewise.
47749         * modules/string: Likewise.
47750         * modules/sys_select: Likewise.
47751         * modules/sys_socket: Likewise.
47752         * modules/sys_stat: Likewise.
47753         * modules/sys_time: Likewise.
47754         * modules/sysexits: Likewise.
47755         * modules/time: Likewise.
47756         * modules/unistd: Likewise.
47757         * modules/wchar: Likewise.
47758         * modules/wctype: Likewise.
47759         * modules/sys_stat: Change maintainer to "all".
47760         * modules/unistd: Likewise.
47761
47762 2007-06-20  Karl Berry  <karl@gnu.org>
47763
47764         * config/srclist.txt: track www changes in license files.
47765
47766 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
47767
47768         * build-aux/bootstrap: Remove stray dot.
47769         Make sure build_aux settings are honored when linking
47770         gnulib_extra_files.
47771
47772 2007-06-19  Eric Blake  <ebb9@byu.net>
47773
47774         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
47775         Allow compilation on cygwin.
47776
47777 2007-06-19  Jim Meyering  <jim@meyering.net>
47778
47779         xreadlink-with-size: Remove module.  No longer used.
47780         Ex-callers now use xreadlink or mreadlink-with-size.
47781         * modules/xreadlink-with-size: Remove module.
47782         * lib/xreadlink-with-size.c: Remove file.
47783         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
47784         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
47785         just before the function definition *is* accurate.
47786
47787         Eliminate one way canonicalize_filename_mode could exit.
47788         * lib/canonicalize.c (canonicalize_filename_mode):
47789         Use mreadlink_with_size, not xreadlink_with_size.
47790
47791 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
47792
47793         Detect porting problems to FreeBSD/arm, which has time_t wider than
47794         long int.  Original problem reported for GNU diff by Xin Li in
47795         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
47796         * modules/getdate (Depends-on): Add intprops, verify.
47797         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
47798         is an integer type no wider than long int.
47799
47800 2007-06-18  Jim Meyering  <jim@meyering.net>
47801
47802         New module: mreadlink-with-size.
47803         * MODULES.html.sh: Add mreadlink-with-size.
47804         * modules/mreadlink-with-size: New module
47805         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
47806         not xreadlink-with-size.
47807         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
47808
47809 2007-06-16  Bruno Haible  <bruno@clisp.org>
47810
47811         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
47812         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
47813         Reported by Gary V. Vaughan <gary@gnu.org>.
47814
47815 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
47816
47817         Revamp lchown so that it lives in unistd.h where it belongs.
47818         * lib/lchown.h: Remove.
47819         * lib/dirchownmod.c: Don't include lib/lchown.h.
47820         * lib/fchownat.c: Likewise.
47821         * lib/openat.c: Likewise.
47822         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
47823         does not follow symlinks.
47824         (EOPNOTSUPP): Define if not defined.
47825         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
47826         is defined to 0.
47827         (lchown): New decl.
47828         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
47829         Do not check for lchown decl.
47830         Set REPLACE_LCHOWN.
47831         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
47832         REPLACE_LCHOWN.
47833         * modules/chown: Make it clear it follows symlinks.
47834         * modules/lchown: Make it clear it doesn't follow symlinks.
47835         (Files): Remove lib/lchown.h
47836         (Depends-on): Add unistd.
47837         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
47838         (Include): Include <unistd.h>, not "lchown.h".
47839         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
47840         REPLACE_LCHOWN.
47841
47842 2007-06-15  Jim Meyering  <jim@meyering.net>
47843
47844         Change license (GPL to LGPL) of fsusage and dependents.
47845         * modules/fsusage (License): Change to LGPL.
47846         * modules/full-read (License): Likewise.
47847         * modules/full-write (License): Likewise.
47848         * modules/safe-read (License): Likewise.
47849         * modules/safe-write (License): Likewise.
47850
47851 2007-06-14  Ben Pfaff  <blp@gnu.org>
47852
47853         Missing part of allocsa -> malloca transition.
47854         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
47855         gl_MALLOCA.
47856
47857 2007-06-12  Bruno Haible  <bruno@clisp.org>
47858
47859         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
47860         to ia64, x86_64, i386.
47861         Reported by Eric Blake.
47862
47863 2007-06-12  Bruno Haible  <bruno@clisp.org>
47864
47865         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
47866         cross-compiling to x86_64.
47867
47868 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
47869
47870         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
47871         glitch reported by Ralf Wildenhues in
47872         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
47873
47874         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
47875         Vin Shelton.
47876
47877 2007-06-11  Bruno Haible  <bruno@clisp.org>
47878
47879         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
47880         replacement string.
47881         Reported by Eric Blake.
47882
47883 2007-06-10  Bruno Haible  <bruno@clisp.org>
47884
47885         Prepare vasnprintf code for use with Unicode strings.
47886         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
47887         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
47888         TYPE_U32_STRING.
47889         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
47890         a_u32_string variants.
47891         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
47892         * lib/printf-args.c: Don't include config.h and the specification
47893         header if PRINTF_FETCHARGS is already defined.
47894         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
47895         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
47896         TYPE_U16_STRING, TYPE_U32_STRING.
47897         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
47898         u16_directive, u16_directives, u32_directive, u32_directives): New
47899         types.
47900         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
47901         New declarations.
47902         * lib/printf-parse.c: Don't include config.h and the specification
47903         header if PRINTF_PARSE is already defined. Eliminate the set of
47904         parameters for WIDE_CHAR_VERSION; the user of this file must provide
47905         them now. Include c-ctype.h.
47906         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
47907         directive and CHAR_T_ONLY_ASCII.
47908         * lib/vasnprintf.c: Don't include config.h and the specification header
47909         if VASNPRINTF is already defined.
47910         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
47911         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
47912         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
47913         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
47914         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
47915         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
47916         code accordingly.
47917         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
47918         pad_ourselves also in this case, with the 'c' and 's' directives, and
47919         with a different notion of "width".
47920         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
47921
47922 2007-06-10  Bruno Haible  <bruno@clisp.org>
47923
47924         * modules/unistr/u32-mbsnlen: New file.
47925         * lib/unistr/u32-mbsnlen.c: New file.
47926
47927         * modules/unistr/u16-mbsnlen: New file.
47928         * lib/unistr/u16-mbsnlen.c: New file.
47929
47930         * modules/unistr/u8-mbsnlen: New file.
47931         * lib/unistr/u8-mbsnlen.c: New file.
47932
47933         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
47934         declarations.
47935
47936 2007-06-10  Bruno Haible  <bruno@clisp.org>
47937
47938         * lib/string_.h (mbsnlen): New declaration.
47939         * lib/mbsnlen.c: New file.
47940         * m4/mbsnlen.m4: New file.
47941         * modules/mbsnlen: New file.
47942         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
47943         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
47944         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
47945
47946 2007-06-10  Bruno Haible  <bruno@clisp.org>
47947
47948         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
47949
47950 2007-06-10  Bruno Haible  <bruno@clisp.org>
47951
47952         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
47953         * lib/mbuiter.h: Likewise.
47954
47955 2007-06-10  Bruno Haible  <bruno@clisp.org>
47956
47957         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
47958         declaration.
47959
47960 2007-06-10  Karl Berry  <karl@gnu.org>
47961
47962         * config/srclist.txt: remove gettext entries, Bruno prefers
47963         to update individually.
47964
47965 2007-06-10  Bruno Haible  <bruno@clisp.org>
47966
47967         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
47968         'maxlen'. Ensure only length + width bytes are allocated, not
47969         length + 1 + width.
47970
47971 2007-06-09  Bruno Haible  <bruno@clisp.org>
47972
47973         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
47974         (CHAR_T): Remove macro.
47975         (VASNPRINTF): Update.
47976
47977 2007-06-09  Bruno Haible  <bruno@clisp.org>
47978
47979         * MODULES.html.sh (Unicode string functions): Add the new modules.
47980
47981         * modules/uniconv/u32-conv-to-enc: New file.
47982         * lib/uniconv/u32-conv-to-enc.c: New file.
47983         * modules/uniconv/u32-conv-to-enc-tests: New file.
47984         * tests/uniconv/test-u32-conv-to-enc.c: New file.
47985
47986         * modules/uniconv/u16-conv-to-enc: New file.
47987         * lib/uniconv/u16-conv-to-enc.c: New file.
47988         * lib/uniconv/u-conv-to-enc.h: New file.
47989         * modules/uniconv/u16-conv-to-enc-tests: New file.
47990         * tests/uniconv/test-u16-conv-to-enc.c: New file.
47991
47992         * modules/uniconv/u8-conv-to-enc: New file.
47993         * lib/uniconv/u8-conv-to-enc.c: New file.
47994         * modules/uniconv/u8-conv-to-enc-tests: New file.
47995         * tests/uniconv/test-u8-conv-to-enc.c: New file.
47996
47997         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
47998         u32_conv_to_encoding): New declarations.
47999
48000 2007-06-09  Bruno Haible  <bruno@clisp.org>
48001
48002         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
48003
48004 2007-06-09  Bruno Haible  <bruno@clisp.org>
48005
48006         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
48007         * modules/malloca: Renamed from modules/allocsa, updated.
48008         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
48009         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
48010         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
48011         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
48012         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
48013         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
48014         * modules/xmalloca: Renamed from modules/xallocsa, updated.
48015         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
48016         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
48017         * modules/c-strcasestr (Depends-on): Update.
48018         * lib/c-strcasestr.c: Update.
48019         * modules/c-strstr (Depends-on): Update.
48020         * lib/c-strstr.c: Update.
48021         * modules/canonicalize-lgpl (Depends-on): Update.
48022         * lib/canonicalize-lgpl.c: Update.
48023         * modules/clean-temp (Depends-on): Update.
48024         * lib/clean-temp.c: Update.
48025         * modules/csharpcomp (Depends-on): Update.
48026         * lib/csharpcomp.c: Update.
48027         * modules/csharpexec (Depends-on): Update.
48028         * lib/csharpexec.c: Update.
48029         * modules/javacomp (Depends-on): Update.
48030         * lib/javacomp.c: Update.
48031         * modules/javaexec (Depends-on): Update.
48032         * lib/javaexec.c: Update.
48033         * modules/mbscasestr (Depends-on): Update.
48034         * lib/mbscasestr.c: Update.
48035         * modules/mbsstr (Depends-on): Update.
48036         * lib/mbsstr.c: Update.
48037         * modules/setenv (Depends-on): Update.
48038         * lib/setenv.c: Update.
48039         * modules/strcasestr (Depends-on): Update.
48040         * lib/strcasestr.c: Update.
48041         * modules/striconveha (Depends-on): Update.
48042         * lib/striconveha.c: Update.
48043         * modules/relocatable-prog-wrapper (Files): Update.
48044         * lib/relocwrapper.c: Update.
48045         * build-aux/install-reloc: Update.
48046         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
48047
48048 2007-06-08  Bruno Haible  <bruno@clisp.org>
48049
48050         Port to uClibc.
48051         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
48052         * lib/fpurge.c (fpurge): Likewise.
48053         * lib/freading.c (freading): Likewise.
48054         * lib/fseeko.c (rpl_fseeko): Likewise.
48055         * lib/fseterr.c (fseterr): Likewise.
48056         * lib/fwriting.c (fwriting): Likewise.
48057         * tests/test-fflush.c (main): Avoid a failure on uClibc.
48058
48059 2007-06-08  Bruno Haible  <bruno@clisp.org>
48060
48061         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
48062         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
48063         * modules/gettext (Files): Add m4/intlmacosx.m4.
48064
48065 2007-06-07  Bruno Haible  <bruno@clisp.org>
48066
48067         * modules/localename-tests: New file.
48068         * tests/test-localename.c: New file.
48069
48070         New module 'localename'.
48071         * lib/localename.h: New file.
48072         * lib/localename.c: New file, from GNU gettext.
48073         * m4/localename.m4: New file.
48074         * modules/localename: New file.
48075
48076 2007-06-07  Bruno Haible  <bruno@clisp.org>
48077
48078         Work around the lack of <wchar.h> on some builds of uClibc.
48079         * doc/headers/wchar.texi: Update.
48080         * lib/wchar_.h: Include <wchar.h> only if it exists.
48081         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
48082         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
48083         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
48084         doesn't exist.
48085         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
48086         * modules/mbfile (Depends-on): Add wchar.
48087         * modules/mbiter (Depends-on): Likewise.
48088         * modules/mbuiter (Depends-on): Likewise.
48089         Reported by Simon Josefsson.
48090
48091 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
48092
48093         Work around problem reported by Steven M. Schweda in
48094         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
48095         Tru64 5.1B with the Compaq compiler environment installed declares
48096         an 'isblank' function but does not define it in the C library.
48097         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
48098         * lib/regex_internal.h (isblank): Likewise.
48099         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
48100         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
48101
48102 2007-06-05  Bruno Haible  <bruno@clisp.org>
48103
48104         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
48105         ia64.
48106         * modules/printf-safe: New file.
48107         * modules/fprintf-posix (Depends-on): Add printf-safe.
48108         * modules/printf-posix (Depends-on): Likewise.
48109         * modules/snprintf-posix (Depends-on): Likewise.
48110         * modules/sprintf-posix (Depends-on): Likewise.
48111         * modules/vasnprintf-posix (Depends-on): Likewise.
48112         * modules/vasprintf-posix (Depends-on): Likewise.
48113         * modules/vfprintf-posix (Depends-on): Likewise.
48114         * modules/vprintf-posix (Depends-on): Likewise.
48115         * modules/vsnprintf-posix (Depends-on): Likewise.
48116         * modules/vsprintf-posix (Depends-on): Likewise.
48117         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
48118         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
48119         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
48120         "no" on i386, x86_64, ia64.
48121         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
48122         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
48123         on i386, x86_64, ia64.
48124         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
48125         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
48126         on i386, x86_64, ia64.
48127         * tests/test-vasnprintf-posix.c: Include float.h.
48128         (LDBL80_WORDS): New macro.
48129         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
48130         on i386, x86_64, ia64.
48131         * tests/test-vasprintf-posix.c: Include float.h.
48132         (LDBL80_WORDS): New macro.
48133         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
48134         on i386, x86_64, ia64.
48135         * tests/test-snprintf-posix.c: Include float.h.
48136         * tests/test-sprintf-posix.c: Likewise.
48137         * tests/test-vsnprintf-posix.c: Likewise.
48138         * tests/test-vsprintf-posix.c: Likewise.
48139
48140 2007-06-05  Bruno Haible  <bruno@clisp.org>
48141
48142         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
48143         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
48144         non-IEEE numbers on i386, x86_64, ia64.
48145         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
48146         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
48147         * tests/test-isnanl.h: Include float.h.
48148         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
48149
48150 2007-06-05  Bruno Haible  <bruno@clisp.org>
48151
48152         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
48153         also the %a / %A. Handle the %a / %A code before this extra handling.
48154
48155 2007-06-05  Bruno Haible  <bruno@clisp.org>
48156
48157         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
48158         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
48159
48160 2007-06-05  Bruno Haible  <bruno@clisp.org>
48161
48162         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
48163         typo in variable name.
48164
48165 2007-06-05  Eric Blake  <ebb9@byu.net>
48166
48167         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
48168         Reported by Simon Josefsson.
48169
48170 2007-06-04  Bruno Haible  <bruno@clisp.org>
48171
48172         Avoid test failures on some PowerPC platforms.
48173         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
48174         Define differently for PowerPC.
48175         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
48176         Reported by Gary V. Vaughan <gary@gnu.org>.
48177
48178 2007-06-02  Bruno Haible  <bruno@clisp.org>
48179
48180         Fix test-stdint failure on FreeBSD/ia64.
48181         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
48182         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
48183         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
48184         * doc/headers/stdint.texi: Update.
48185
48186 2007-06-01  Bruno Haible  <bruno@clisp.org>
48187
48188         * tests/test-binary-io.c (main): Pass a third argument to open().
48189         Reported by Gary V. Vaughan <gary@gnu.org>.
48190
48191 2007-06-01  Bruno Haible  <bruno@clisp.org>
48192
48193         * doc/functions/frexpl.texi: Update for mingw.
48194
48195 2007-06-01  Bruno Haible  <bruno@clisp.org>
48196
48197         * tests/test-lseek.c (main): Disable test of errno for invalid third
48198         argument.
48199         * doc/functions/lseek.texi: Update.
48200         Reported by Gary V. Vaughan <gary@gnu.org>.
48201
48202 2007-05-28  Bruno Haible  <bruno@clisp.org>
48203
48204         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
48205
48206 2007-05-31  Eric Blake  <ebb9@byu.net>
48207
48208         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
48209         cross compiling.
48210
48211 2007-05-30  Eric Blake  <ebb9@byu.net>
48212         and Bruno Haible  <bruno@clisp.org>
48213
48214         Work around mingw test failures exposed by m4-1.4.9b.
48215         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
48216         * tests/test-unistd.c: Disable uid_t and git_t tests for the
48217         moment.
48218
48219 2007-05-30  Bruno Haible  <bruno@clisp.org>
48220
48221         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
48222         assuming that they are closed. Needed on HP-UX 11.
48223
48224 2007-05-29  Bruno Haible  <bruno@clisp.org>
48225
48226         Fix a problem with #include_next.
48227         * lib/dirent_.h: Split the double-inclusion guard.
48228         * lib/fcntl_.h: Likewise.
48229         * lib/float_.h: Likewise.
48230         * lib/iconv_.h: Likewise.
48231         * lib/inttypes_.h: Likewise.
48232         * lib/locale_.h: Likewise.
48233         * lib/math_.h: Likewise.
48234         * lib/netinet_in_.h: Likewise.
48235         * lib/search_.h: Likewise.
48236         * lib/signal_.h: Likewise.
48237         * lib/stdint_.h: Likewise.
48238         * lib/stdio_.h: Likewise.
48239         * lib/stdlib_.h: Likewise.
48240         * lib/string_.h: Likewise.
48241         * lib/sys_select_.h: Likewise.
48242         * lib/sys_socket_.h: Likewise.
48243         * lib/sys_stat_.h: Likewise.
48244         * lib/sys_time_.h: Likewise.
48245         * lib/sysexits_.h: Likewise.
48246         * lib/time_.h: Likewise.
48247         * lib/unistd_.h: Likewise.
48248         * lib/wchar_.h: Likewise.
48249         * lib/wctype_.h: Likewise.
48250
48251 2007-05-29  Bruno Haible  <bruno@clisp.org>
48252
48253         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
48254         for the moment.
48255
48256 2007-05-29  Bruno Haible  <bruno@clisp.org>
48257
48258         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
48259         invocation.
48260         Reported by Eric Blake.
48261
48262 2007-05-29  Bruno Haible  <bruno@clisp.org>
48263
48264         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
48265         compiling case.
48266
48267 2007-05-29  Eric Blake  <ebb9@byu.net>
48268             Bruno Haible  <bruno@clisp.org>
48269
48270         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
48271         cross compiles.
48272
48273 2007-05-28  Eric Blake  <ebb9@byu.net>
48274
48275         * modules/closein-tests (test_closein_LDADD): Support test on
48276         cygwin with libtool.
48277
48278 2007-05-28  Bruno Haible  <bruno@clisp.org>
48279
48280         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
48281         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
48282         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
48283         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
48284         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
48285         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
48286         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
48287         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
48288         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
48289
48290 2007-05-28  Eric Blake  <ebb9@byu.net>
48291
48292         Unconditionally include <config.h> in unit tests.
48293         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
48294         * tests/test-allocsa.c, tests/test-arcfour.c,
48295         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
48296         tests/test-array_list.c, tests/test-array_oset.c,
48297         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
48298         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
48299         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
48300         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
48301         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
48302         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
48303         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
48304         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
48305         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
48306         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
48307         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
48308         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
48309         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
48310         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
48311         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
48312         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
48313         test-md5.c, test-memmem.c, test-printf-posix.c,
48314         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
48315         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
48316         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
48317         test-strcasestr.c, test-striconv.c, test-striconveh.c,
48318         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
48319         test-vasnprintf-posix2.c, test-vasnprintf.c,
48320         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
48321         test-vfprintf-posix.c, test-vprintf-posix.c,
48322         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
48323         test-xvasprintf.c: Likewise.
48324
48325 2007-05-28  Bruno Haible  <bruno@clisp.org>
48326
48327         * gnulib-tool (func_import): Remember the --with-tests command-line
48328         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
48329         Reported by Eric Blake.
48330
48331 2007-05-28  Bruno Haible  <bruno@clisp.org>
48332
48333         * modules/ftell-tests: New file.
48334         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
48335         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
48336
48337         * lib/ftell.c: New file.
48338         * modules/ftell: New file.
48339         * m4/ftell.m4: New file.
48340         * doc/functions/ftell.texi: Update.
48341         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
48342         REPLACE_FTELL.
48343         * lib/stdio_.h (rpl_ftell): New declaration.
48344         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
48345         REPLACE_FTELL.
48346
48347 2007-05-28  Eric Blake  <ebb9@byu.net>
48348
48349         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
48350
48351 2007-05-28  Bruno Haible  <bruno@clisp.org>
48352
48353         * modules/fseek-tests: New file.
48354         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
48355         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
48356
48357         * lib/fseek.c: New file.
48358         * modules/fseek: New file.
48359         * m4/fseek.m4: New file.
48360         * doc/functions/fseek.texi: Update.
48361         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
48362         REPLACE_FSEEK.
48363         * lib/stdio_.h (rpl_fseek): New declaration.
48364         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
48365         REPLACE_FSEEK.
48366
48367 2007-05-28  Bruno Haible  <bruno@clisp.org>
48368
48369         * lib/stdio_.h (fflush): More comments.
48370
48371 2007-05-28  Bruno Haible  <bruno@clisp.org>
48372
48373         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
48374         runtime test.
48375
48376 2007-05-28  Eric Blake  <ebb9@byu.net>
48377
48378         Improve lseek module.
48379         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
48380         * lib/unistd_.h (lseek): Scale back link warning message.
48381         * tests/test-lseek.c: Beef up test.
48382         * tests/test-lseek.sh: Exercise more facets of lseek.
48383         Reported by Bruno Haible.
48384
48385 2007-05-28  Bruno Haible  <bruno@clisp.org>
48386
48387         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
48388         to define.
48389
48390 2007-05-27  Bruno Haible  <bruno@clisp.org>
48391
48392         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
48393
48394 2007-05-27  Bruno Haible  <bruno@clisp.org>
48395
48396         * modules/openmp: New file.
48397         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
48398         Noah Misch.
48399
48400 2007-05-26  Bruno Haible  <bruno@clisp.org>
48401
48402         * modules/chdir-long (Depends-on): Add fchdir.
48403         * modules/chdir-safer (Depends-on): Likewise.
48404         * modules/fts (Depends-on): Likewise.
48405         * modules/fts-lgpl (Depends-on): Likewise.
48406         * modules/openat (Depends-on): Likewise.
48407         * modules/savewd (Depends-on): Likewise.
48408
48409 2007-05-24  Eric Blake  <ebb9@byu.net>
48410
48411         Fix lseek on mingw.
48412         * modules/lseek: New module.
48413         * m4/lseek.m4: New file.
48414         * lib/lseek.c: New file.
48415         * modules/lseek-tests: New file.
48416         * tests/test-lseek.c: New file.
48417         * tests/test-lseek.sh: New file.
48418         * MODULES.html.sh: Document lseek module.
48419         * modules/fflush (Depends-on): Add lseek, fseeko.
48420         * modules/fseeko (Depends-on): Likewise.
48421         * modules/ftello (Depends-on): Likewise.
48422         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
48423         broken.
48424         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
48425         broken.
48426         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
48427         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
48428         * lib/ftello.c (rpl_ftello): Likewise.
48429         * tests/test-fseeko.c (main): Test this.
48430         * tests/test-fseeko.sh: Likewise.
48431         * tests/test-ftello.c (main): Likewise.
48432         * tests/test-ftello.sh: Likewise.
48433         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
48434         implies replacing fseek.
48435         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
48436         HAVE_FTELLO.
48437         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
48438         * modules/unistd (Makefile.am): Likewise.
48439         * lib/unistd_.h (lseek): Declare a replacement.
48440         * doc/functions/lseek.texi (lseek): Document this fix.
48441         * doc/functions/fseek.texi (fseek): Likewise.
48442         * doc/functions/ftell.texi (ftell): Likewise.
48443
48444 2007-05-24  Bruno Haible  <bruno@clisp.org>
48445
48446         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
48447         in the printed representation of a NaN.
48448         * tests/test-vasprintf-posix.c (test_function): Likewise.
48449         * tests/test-snprintf-posix.h (test_function): Likewise.
48450         * tests/test-sprintf-posix.h (test_function): Likewise.
48451         Reported by Eric Blake.
48452
48453 2007-05-23  Eric Blake  <ebb9@byu.net>
48454
48455         Fix fseeko/ftello on cygwin 1.5.24.
48456         * doc/functions/fseeko.texi (fseeko): Document the fix.
48457         * doc/functions/ftello.texi (ftello): Document the fix.
48458         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
48459         * doc/functions/stdout.text (stdout): New file.
48460         * doc/functions/stderr.text (stderr): New file.
48461         * doc/gnulib.texi (Function Substitutes): Use new files.
48462         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
48463         prior to 1.7.0.
48464         * tests/test-ftello.c (main): Likewise for ftello.
48465         * tests/test-fseeko.sh: New file.
48466         * tests/test-ftello.sh: New file.
48467         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
48468         with seekable stdin.
48469         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
48470         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
48471         (gl_REPLACE_FSEEKO): New macro.
48472         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
48473         * modules/fseeko (Files): Distribute fseeko.c.
48474         * modules/ftello (Files): Distribute ftello.c.
48475         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
48476         mode.
48477         * lib/ftello.c (rpl_ftello): New file.
48478         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
48479         fseeko, ftello.
48480         (gl_STDIN_LARGE_OFFSET): New macro.
48481         * modules/stdio (Makefile.am): Perform the replacement.
48482         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
48483
48484 2007-05-23  Bruno Haible  <bruno@clisp.org>
48485
48486         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
48487         GNULIB_POSIXCHECK is defined.
48488
48489 2007-05-21  Bruno Haible  <bruno@clisp.org>
48490
48491         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
48492         Check also the output for NaN arguments. When cross-compiling, guess
48493         no on IRIX.
48494         * lib/vasnprintf.c: Update comments.
48495         * tests/test-vasnprintf-posix.c (strisnan): New function.
48496         (test_function): Use it.
48497         * tests/test-vasprintf-posix.c (strisnan): New function.
48498         (test_function): Use it.
48499         * tests/test-snprintf-posix.h (strisnan): New function.
48500         (test_function): Use it.
48501         * tests/test-sprintf-posix.h (strisnan): New function.
48502         (test_function): Use it.
48503         Reported by Eric Blake.
48504
48505 2007-05-20  Bruno Haible  <bruno@clisp.org>
48506
48507         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
48508         numbers that fails on BeOS.
48509         * doc/functions/frexpl.texi: Update.
48510
48511 2007-05-20  Jim Meyering  <jim@meyering.net>
48512
48513         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
48514         forced upon us by glibc-2.6.
48515
48516 2007-05-20  Bruno Haible  <bruno@clisp.org>
48517
48518         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
48519         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
48520         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
48521         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
48522         NEED_PRINTF_INFINITE.
48523         (is_infinitel): New function.
48524         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
48525         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
48526         gl_PREREQ_VASNPRINTF_INFINITE.
48527         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
48528         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
48529         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
48530         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
48531         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
48532         gl_PREREQ_VASNPRINTF_INFINITE.
48533         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
48534         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
48535         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
48536         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
48537         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
48538         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
48539         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
48540         * doc/functions/fprintf.texi: Update.
48541         * doc/functions/printf.texi: Update.
48542         * doc/functions/snprintf.texi: Update.
48543         * doc/functions/sprintf.texi: Update.
48544         * doc/functions/vfprintf.texi: Update.
48545         * doc/functions/vprintf.texi: Update.
48546         * doc/functions/vsnprintf.texi: Update.
48547         * doc/functions/vsprintf.texi: Update.
48548
48549 2007-05-20  Bruno Haible  <bruno@clisp.org>
48550
48551         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
48552         was not found in libc.
48553         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
48554
48555 2007-05-20  Bruno Haible  <bruno@clisp.org>
48556
48557         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
48558         printed as "-nan" instead of "nan".
48559         * tests/test-vasprintf-posix.c (test_function): Likewise.
48560         * tests/test-snprintf-posix.h (test_function): Likewise.
48561         * tests/test-sprintf-posix.h (test_function): Likewise.
48562         Needed for HP-UX 11.
48563
48564 2007-05-20  Jim Meyering  <jim@meyering.net>
48565
48566         Fix buggy test for the fchownat-deref bug.
48567         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
48568         symlink required for the run-test.  Without it, this test would
48569         always declare that fchownat doesn't work, and client code would
48570         unnecessarily use the replacement function with fixed libc.
48571         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
48572         Reported by Greg Schafer.
48573
48574 2007-05-19  Bruno Haible  <bruno@clisp.org>
48575
48576         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
48577         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
48578         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
48579         Needed for IRIX 6.5 and Solaris 2.5.1.
48580
48581 2007-05-19  Bruno Haible  <bruno@clisp.org>
48582
48583         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
48584         (test_function): Skip tests involving -0.0 on platforms where
48585         -0.0 = 0.0.
48586         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
48587         (test_function): Skip tests involving -0.0 on platforms where
48588         -0.0 = 0.0.
48589         * tests/test-snprintf-posix.h (have_minus_zero): New function.
48590         (test_function): Skip tests involving -0.0 on platforms where
48591         -0.0 = 0.0.
48592         * tests/test-sprintf-posix.h (have_minus_zero): New function.
48593         (test_function): Skip tests involving -0.0 on platforms where
48594         -0.0 = 0.0.
48595         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
48596         tests.
48597         * tests/test-printf-posix.h (test_function): Likewise.
48598         * tests/test-printf-posix.output: Remove all -0.0 related results.
48599         Needed for IRIX 6.5.
48600
48601 2007-05-19  Bruno Haible  <bruno@clisp.org>
48602
48603         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
48604         printed as "nan0x7fffffff" instead of "nan".
48605         * tests/test-vasprintf-posix.c (test_function): Likewise.
48606         * tests/test-snprintf-posix.h (test_function): Likewise.
48607         * tests/test-sprintf-posix.h (test_function): Likewise.
48608         * tests/test-fprintf-posix.h (NaN): Remove macro.
48609         (test_function): Remove all NaN related tests.
48610         * tests/test-printf-posix.h (NaN): Remove macro.
48611         (test_function): Remove all NaN related tests.
48612         * tests/test-printf-posix.output: Remove all NaN related results.
48613         Needed for IRIX 6.5.
48614
48615 2007-05-19  Bruno Haible  <bruno@clisp.org>
48616
48617         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
48618         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
48619
48620 2007-05-19  Bruno Haible  <bruno@clisp.org>
48621
48622         * lib/float_.h: New file.
48623         * m4/float_h.m4: New file.
48624         * modules/float: New file.
48625         * modules/isnanl (Dependencies): Add float.
48626         * modules/isnanl-nolibm (Dependencies): Likewise.
48627         * modules/mathl (Dependencies): Likewise.
48628         * modules/printf-frexpl (Dependencies): Likewise.
48629         * modules/signbit (Dependencies): Likewise.
48630         * modules/vasnprintf (Dependencies): Likewise.
48631         * doc/headers/float.texi: Update.
48632
48633 2007-05-19  Jim Meyering  <jim@meyering.net>
48634
48635         * lib/utimens.c (gl_futimens): Rename from futimens,
48636         now that glibc-2.6 declares futimens.
48637         * lib/utimens.h: Likewise.
48638
48639 2007-05-19  Bruno Haible  <bruno@clisp.org>
48640
48641         Avoid test failures on mingw.
48642         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
48643         * tests/test-printf-posix.sh: Likewise.
48644         * tests/test-vfprintf-posix.sh: Likewise.
48645         * tests/test-vprintf-posix.sh: Likewise.
48646
48647 2007-05-19  Bruno Haible  <bruno@clisp.org>
48648
48649         Fix *printf result for NaN, Inf, -0.0 on mingw.
48650         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
48651         * lib/vasnprintf.c: Include math.h and isnan.h.
48652         (is_infinite_or_zero): New function.
48653         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
48654         values in the %f, %F, %e, %E, %g, %G directives.
48655         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
48656         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
48657         gl_PRINTF_INFINITE and test its result. Invoke
48658         gl_PREREQ_VASNPRINTF_INFINITE.
48659         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
48660         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
48661         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
48662         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
48663         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
48664         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
48665         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
48666         * doc/functions/fprintf.texi: Update.
48667         * doc/functions/printf.texi: Update.
48668         * doc/functions/snprintf.texi: Update.
48669         * doc/functions/sprintf.texi: Update.
48670         * doc/functions/vfprintf.texi: Update.
48671         * doc/functions/vprintf.texi: Update.
48672         * doc/functions/vsnprintf.texi: Update.
48673         * doc/functions/vsprintf.texi: Update.
48674
48675 2007-05-19  Bruno Haible  <bruno@clisp.org>
48676
48677         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
48678         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
48679         Instead of multiplying with 10^k, set extra_zeroes to k.
48680         (scale10_round_long_double): Remove function.
48681
48682 2007-05-18  Bruno Haible  <bruno@clisp.org>
48683
48684         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
48685         introduced on 2007-05-06.
48686
48687 2007-05-18  Bruno Haible  <bruno@clisp.org>
48688
48689         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
48690         %g directives.
48691         * tests/test-vasprintf-posix.c (test_function): Likewise.
48692         * tests/test-snprintf-posix.h (test_function): Likewise.
48693         * tests/test-sprintf-posix.h (test_function): Likewise.
48694
48695 2007-05-18  Bruno Haible  <bruno@clisp.org>
48696
48697         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
48698         (strmatch): New function.
48699         (test_function): Test the %f directive on numbers of various exponents.
48700         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
48701         (strmatch): New function.
48702         (test_function): Test the %f directive on numbers of various exponents.
48703         * tests/test-snprintf-posix.h (strmatch): New function.
48704         (test_function): Test the %f directive on numbers of various exponents.
48705         * tests/test-sprintf-posix.h (strmatch): New function.
48706         (test_function): Test the %f directive on numbers of various exponents.
48707         * tests/test-snprintf-posix.c (SIZEOF): New macro.
48708         * tests/test-sprintf-posix.c (SIZEOF): New macro.
48709         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
48710         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
48711
48712 2007-05-18  Bruno Haible  <bruno@clisp.org>
48713
48714         Add support for 'long double' number output.
48715         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
48716         * lib/vasnprintf.c: Include math.h and float+.h.
48717         (mp_limb_t): New type.
48718         (GMP_LIMB_BITS): New macro.
48719         (mp_twolimb_t): New type.
48720         (GMP_TWOLIMB_BITS): New macro.
48721         (mpn_t): New type.
48722         (multiply, divide, convert_to_decimal, decode_long_double,
48723         scale10_round_long_double, scale10_round_decimal_long_double,
48724         floorlog10l): New functions.
48725         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
48726         for the %f, %F, %e, %E, %g, %G directives.
48727         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
48728         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
48729         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
48730         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
48731         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
48732         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
48733         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
48734         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
48735         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
48736         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
48737         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
48738         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
48739         * modules/snprintf-posix (Depends-on): Likewise.
48740         * modules/sprintf-posix (Depends-on): Likewise.
48741         * modules/vasnprintf-posix (Depends-on): Likewise.
48742         * modules/vasprintf-posix (Depends-on): Likewise.
48743         * modules/vfprintf-posix (Depends-on): Likewise.
48744         * modules/vsnprintf-posix (Depends-on): Likewise.
48745         * modules/vsprintf-posix (Depends-on): Likewise.
48746         * modules/vasnprintf (Files): Add lib/float+.h.
48747         * doc/functions/fprintf.texi: Update.
48748         * doc/functions/printf.texi: Update.
48749         * doc/functions/snprintf.texi: Update.
48750         * doc/functions/sprintf.texi: Update.
48751         * doc/functions/vfprintf.texi: Update.
48752         * doc/functions/vprintf.texi: Update.
48753         * doc/functions/vsnprintf.texi: Update.
48754         * doc/functions/vsprintf.texi: Update.
48755
48756 2007-05-18  Bruno Haible  <bruno@clisp.org>
48757
48758         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
48759
48760 2007-05-18  Bruno Haible  <bruno@clisp.org>
48761
48762         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
48763         for printing 64-bit integers. Needed for mingw.
48764
48765 2007-05-18  Bruno Haible  <bruno@clisp.org>
48766
48767         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
48768         gl_FUNC_FREXPL_WORKS.
48769         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
48770
48771 2007-05-18  Bruno Haible  <bruno@clisp.org>
48772
48773         * modules/frexpl-nolibm-tests: New file.
48774
48775         * modules/frexpl-nolibm: New file.
48776         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
48777
48778 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
48779
48780         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
48781         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
48782         GCC 4.2, which otherwise issues a lot of warnings.
48783         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
48784         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
48785         Likewise.
48786         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
48787         * modules/iconv_open (iconv.h): Likewise.
48788         * modules/locale (locale.h): Likewise.
48789         * modules/netinet_in (netinet/in.h): Likewise.
48790         * modules/sys_select (sys_select.h): Likewise.
48791         * modules/sys_socket (sys/socket.h): Likewise.
48792         * modules/sys_stat (sys/stat.h): Likewise.
48793         * modules/sysexits (sysexits.h): Likewise.
48794         * modules/unistd (unistd.h): Likewise.
48795
48796 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48797
48798         * modules/closein-tests (Makefile.am): Distribute
48799         `test-closein.sh'.
48800
48801 2007-05-17  Bruno Haible  <bruno@clisp.org>
48802
48803         * tests/test-printf-posix.output: Renamed from
48804         tests/test-fprintf-posix.out.
48805         * modules/fprintf-posix-tests: Update.
48806         * modules/printf-posix-tests: Update.
48807         * modules/vfprintf-posix-tests: Update.
48808         * modules/vprintf-posix-tests: Update.
48809         * tests/test-fprintf-posix.sh: Update.
48810         * tests/test-printf-posix.sh: Update.
48811         * tests/test-vfprintf-posix.sh: Update.
48812         * tests/test-vprintf-posix.sh: Update.
48813         Reported by Ralf Wildenhues.
48814
48815 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
48816
48817         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
48818         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
48819         GCC 4.2, which otherwise issues a lot of warnings.
48820         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
48821         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
48822         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
48823         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
48824         it should no longer be needed.
48825         * lib/string_.h: Likewise.
48826         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
48827         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
48828         * modules/inttypes (inttypes.h): Likewise.
48829         * modules/math (math.h): Likewise.
48830         * modules/search (search.h): Likewise.
48831         * modules/signal (signal.h): Likewise.
48832         * modules/stdint (stdint.h): Likewise.
48833         * modules/stdio (stdio.h): Likewise.
48834         * modules/stdlib (stdlib.h): Likewise.
48835         * modules/string (string.h): Likewise.
48836         * modules/sys_time (sys/time.h): Likewise.
48837         * modules/time (time.h): Likewise.
48838         * modules/wchar (wchar.h): Likewise.
48839         * modules/wctype (wtype.h): Likewise.
48840
48841 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
48842
48843         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
48844
48845 2007-05-13  Bruno Haible  <bruno@clisp.org>
48846
48847         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
48848         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
48849         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
48850         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
48851         (gl_PREREQ_STRTOK_R): Don't require it here.
48852
48853 2007-05-13  Bruno Haible  <bruno@clisp.org>
48854
48855         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
48856         when used in C++ mode.
48857
48858 2007-05-12  Bruno Haible  <bruno@clisp.org>
48859
48860         * lib/linebuffer.h: Tweak doc.
48861         * lib/linebuffer.c: Likewise.
48862
48863 2007-05-12  James Youngman  <jay@gnu.org>
48864
48865         * lib/linebuffer.c (readlinebuffer_delim): New function,
48866         like readlinebuffer, but use a caller-specified delimiter.
48867         (readlinebuffer): Just call readlinebuffer_delim with '\n'
48868         as the delimiter.
48869         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
48870
48871 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
48872
48873         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
48874         * modules/openat (Files): Remove openat-die.c.
48875         (Depends-on): Add openat-die.
48876         * modules/openat-die: New module.
48877
48878 2007-05-06  Bruno Haible  <bruno@clisp.org>
48879
48880         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
48881         Update with info about Cygwin.
48882         * doc/functions/fprintf.texi: Update.
48883         * doc/functions/printf.texi: Update.
48884         * doc/functions/snprintf.texi: Update.
48885         * doc/functions/sprintf.texi: Update.
48886         * doc/functions/vfprintf.texi: Update.
48887         * doc/functions/vprintf.texi: Update.
48888         * doc/functions/vsnprintf.texi: Update.
48889         * doc/functions/vsprintf.texi: Update.
48890         Reported by Eric Blake.
48891
48892 2007-05-06  Bruno Haible  <bruno@clisp.org>
48893
48894         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
48895         padding ourselves for the floating-point directives.
48896         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
48897         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
48898         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
48899         gl_PRINTF_FLAG_ZERO and test its result. Invoke
48900         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
48901         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
48902         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
48903         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
48904         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
48905         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
48906         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
48907         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
48908         * tests/test-snprintf-posix.h (test_function): Also check the width
48909         and some flags in the %f directive.
48910         * tests/test-sprintf-posix.h (test_function): Likewise.
48911         * tests/test-vasnprintf-posix.c (test_function): Likewise.
48912         * tests/test-vasprintf-posix.c (test_function): Likewise.
48913         * doc/functions/fprintf.texi: Update.
48914         * doc/functions/printf.texi: Update.
48915         * doc/functions/snprintf.texi: Update.
48916         * doc/functions/sprintf.texi: Update.
48917         * doc/functions/vfprintf.texi: Update.
48918         * doc/functions/vprintf.texi: Update.
48919         * doc/functions/vsnprintf.texi: Update.
48920         * doc/functions/vsprintf.texi: Update.
48921
48922 2007-05-06  Bruno Haible  <bruno@clisp.org>
48923
48924         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
48925         pass the ' flag character to sprintf or snprintf.
48926         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
48927         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
48928         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
48929         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
48930         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
48931         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
48932         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
48933         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
48934         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
48935         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
48936         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
48937         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
48938         * tests/test-snprintf-posix.h (test_function): Also check the grouping
48939         flag.
48940         * tests/test-sprintf-posix.h (test_function): Likewise.
48941         * tests/test-vasnprintf-posix.c (test_function): Likewise.
48942         * tests/test-vasprintf-posix.c (test_function): Likewise.
48943         * doc/functions/fprintf.texi: Update.
48944         * doc/functions/printf.texi: Update.
48945         * doc/functions/snprintf.texi: Update.
48946         * doc/functions/sprintf.texi: Update.
48947         * doc/functions/vfprintf.texi: Update.
48948         * doc/functions/vprintf.texi: Update.
48949         * doc/functions/vsnprintf.texi: Update.
48950         * doc/functions/vsprintf.texi: Update.
48951
48952 2007-05-01  Bruno Haible  <bruno@clisp.org>
48953
48954         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
48955
48956 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
48957
48958         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
48959         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
48960
48961 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
48962
48963         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
48964         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
48965         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
48966
48967 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
48968
48969         * lib/argp-help.c (struct hol_entry): New member `ord'.
48970         (HOL_ENTRY_PTRCMP): Use ord for comparison
48971         (hol_sort): Initialize ord.
48972
48973 2007-05-01  Bruno Haible  <bruno@clisp.org>
48974
48975         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
48976         Reported by Eric Blake.
48977         * doc/gnulib.texi (Function Substitutes): Update.
48978
48979 2007-05-01  Bruno Haible  <bruno@clisp.org>
48980
48981         * doc/functions.texi: Remove file, now redundant through
48982         doc/functions/*.texi.
48983
48984 2007-05-01  Bruno Haible  <bruno@clisp.org>
48985
48986         * modules/argp (Depends-on): Add sleep.
48987
48988 2007-05-01  Bruno Haible  <bruno@clisp.org>
48989
48990         * modules/sleep-tests: New file.
48991         * tests/test-sleep.c: New file.
48992
48993         * modules/sleep: New file.
48994         * lib/sleep.c: New file.
48995         * m4/sleep.m4: New file.
48996         * lib/unistd_.h (sleep): New declaration.
48997         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
48998         HAVE_SLEEP.
48999         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
49000         * doc/functions/sleep.texi: Document the sleep module.
49001
49002 2007-05-01  Bruno Haible  <bruno@clisp.org>
49003
49004         * lib/sigprocmask.h: Remove file.
49005         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
49006         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
49007         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
49008         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
49009         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
49010         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
49011         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
49012         HAVE_SIGSET_T as a shell variable.
49013         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
49014         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
49015         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
49016         (Depends-on): Add signal. Remove verify.
49017         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
49018         (Include): Mention <signal.h> instead of sigprocmask.h.
49019         * NEWS: Mention the change.
49020         * lib/fatal-signal.c: Don't include sigprocmask.h.
49021
49022 2007-05-01  Bruno Haible  <bruno@clisp.org>
49023
49024         * modules/signal: New file.
49025         * lib/signal_.h: New file.
49026         * m4/signal_h.m4: New file.
49027
49028 2007-05-01  Bruno Haible  <bruno@clisp.org>
49029
49030         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
49031         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
49032         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
49033         HAVE_WCTYPE_CTMP_BUG into wctype.h.
49034
49035 2007-05-01  Bruno Haible  <bruno@clisp.org>
49036
49037         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
49038         configure time.
49039         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
49040         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
49041         * modules/sys_stat (Makefile.am): Substitute their values into
49042         sys/stat.h.
49043
49044 2007-05-01  Bruno Haible  <bruno@clisp.org>
49045
49046         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
49047         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
49048         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
49049
49050 2007-05-01  Bruno Haible  <bruno@clisp.org>
49051
49052         * doc/header/assert.texi: Undo last change: don't mention the gnulib
49053         'assert' module here.
49054
49055 2007-05-01  Bruno Haible  <bruno@clisp.org>
49056
49057         * doc/functions/*.texi: New files.
49058         * doc/functions/google-ranking.txt: New file.
49059         * doc/gnulib.texi (Function Substitutes): New chapter.
49060         (ctime, inet_ntoa): Remove sections.
49061         * doc/ctime.texi: Remove file.
49062         * doc/inet_ntoa.texi: Remove file.
49063         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
49064         dependencies.
49065         (%.info): New rule, specifying a --reference-limit.
49066
49067 2007-05-01  Bruno Haible  <bruno@clisp.org>
49068
49069         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
49070
49071 2007-05-01  Bruno Haible  <bruno@clisp.org>
49072
49073         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
49074         the portability of 'mkdir' to mingw systems.
49075
49076 2007-05-01  Bruno Haible  <bruno@clisp.org>
49077
49078         * doc/headers/google-ranking.txt: New file.
49079
49080 2007-04-30  Eric Blake  <ebb9@byu.net>
49081
49082         Prefer fseeko to fseek.
49083         * modules/getpass (Depends-on): Add fseeko.
49084         * lib/getpass.c (getpass): Use fseeko, not fseek.
49085
49086 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
49087
49088         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
49089         assumes the sorting is stable, while most qsort implementations
49090         are not.  Use argument addresses to ensure they never compare as
49091         equal.
49092
49093         * tests/test-argp-2.sh (usage-indent test): Fix output
49094         (func_compare): Restore diff options
49095         * tests/test-argp.c: Restore #include "progname.h"
49096
49097 2007-04-29  Bruno Haible  <bruno@clisp.org>
49098
49099         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
49100         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
49101         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
49102         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
49103         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
49104         (configure.ac): Define CHECK_SNPRINTF_POSIX.
49105         (TESTS, check_PROGRAMS): Add test-snprintf.
49106         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
49107         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
49108         (TESTS, check_PROGRAMS): Add test-vsnprintf.
49109         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
49110         assertions that fail on HP-UX, OSF/1, or IRIX.
49111         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
49112
49113 2007-04-29  Bruno Haible  <bruno@clisp.org>
49114
49115         * MODULES.html.sh (posix_functions): Remove 'contents'.
49116
49117 2007-04-29  Karl Berry  <karl@gnu.org>
49118
49119         * config/srclist.txt (gendocs_template_min): new entry.
49120
49121 2007-04-29  Bruno Haible  <bruno@clisp.org>
49122
49123         Work around fpurge bug on BSD systems.
49124         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
49125         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
49126         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
49127         fpurge to rpl_fpurge if the system already has this function.
49128         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
49129         the case where the system already has this function. Correct invariants
49130         on BSD systems.
49131         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
49132         BSD systems.
49133
49134 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
49135
49136         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
49137         proposed by Sven Verdoolaege.
49138
49139         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
49140         options.
49141         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
49142         (usage and help tests): Update
49143
49144 2007-04-29  Bruno Haible  <bruno@clisp.org>
49145
49146         * tests/test-fflush.c (main): Use a file of size 17, not 10.
49147         Print more information in case of failure. Disable a test on BeOS.
49148
49149 2007-04-29  Bruno Haible  <bruno@clisp.org>
49150
49151         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
49152         This helps debugging on systems on which no gdb is available.
49153
49154 2007-04-29  Bruno Haible  <bruno@clisp.org>
49155
49156         * lib/freading.h: Improve comments.
49157         * lib/fwriting.h: Likewise.
49158         * tests/test-freading.c (main): Don't check freading immediately after
49159         repositioning. Needed for glibc.
49160
49161 2007-04-29  Bruno Haible  <bruno@clisp.org>
49162
49163         * lib/freading.c (freading): Trivial simplification.
49164
49165 2007-04-28  Bruno Haible  <bruno@clisp.org>
49166
49167         * tests/test-fwriting.c (main): Also test the interaction between
49168         fflush and fwriting.
49169         * modules/fwriting-tests (Depends-on): Add fflush.
49170
49171         * tests/test-freading.c (main): Also test the interaction between
49172         fflush and freading.
49173         * modules/freading-tests (Depends-on): Add fflush.
49174
49175 2007-04-28  Bruno Haible  <bruno@clisp.org>
49176
49177         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
49178         fseeko and ftello.
49179         Suggested by Eric Blake.
49180
49181 2007-04-28  Jim Meyering  <jim@meyering.net>
49182
49183         Avoid false-negative in gl_STDINT_H's C99 conformance test.
49184         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
49185         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
49186
49187 2007-04-27  Eric Blake  <ebb9@byu.net>
49188
49189         * doc/headers/assert.texi (assert.h): Document assert module use.
49190
49191 2007-04-27  Bruno Haible  <bruno@clisp.org>
49192
49193         * doc/headers/*.texi: New files.
49194         * doc/gnulib.texi (Header File Substitutes): New chapter.
49195         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
49196         dependencies.
49197         (standards.info ,standards.html, standards.dvi): Update dependencies.
49198         (mostlyclean, clean): New targets.
49199
49200 2007-04-27  Bruno Haible  <bruno@clisp.org>
49201
49202         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
49203         * modules/sysexits (Files, Makefile.am): Update.
49204
49205         * lib/sys_socket_.h: Renamed from lib/socket_.h.
49206         * modules/sys_socket (Files, Makefile.am): Update.
49207
49208         * lib/sys_stat_.h: Renamed from lib/stat_.h.
49209         * modules/sys_stat (Files, Makefile.am): Update.
49210
49211 2007-04-27  Eric Blake  <ebb9@byu.net>
49212
49213         * lib/freading.h: Improve comments.
49214         * lib/fwriting.h: Likewise.
49215         * lib/fflush.c: Likewise.
49216
49217         Fix closein for mingw.
49218         * modules/closein-tests: Add tests for closein.
49219         * tests/test-closein.c: New file.
49220         * tests/test-closein.sh: Likewise.
49221         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
49222         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
49223
49224 2007-04-27  Bruno Haible  <bruno@clisp.org>
49225
49226         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
49227         version is < 6.
49228         * lib/math_.h [__DECC]: Likewise.
49229         * lib/stdio_.h [__DECC]: Likewise.
49230         * lib/stdlib_.h [__DECC]: Likewise.
49231         * lib/string_.h [__DECC]: Likewise.
49232         * lib/time_.h [__DECC]: Likewise.
49233         * lib/wchar_.h [__DECC]: Likewise.
49234         * lib/wctype_.h [__DECC]: Likewise.
49235
49236 2007-04-27  Bruno Haible  <bruno@clisp.org>
49237
49238         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
49239
49240 2007-04-27  Bruno Haible  <bruno@clisp.org>
49241
49242         * lib/fflush.c: Add comments.
49243         * modules/fpurge-tests (Depends-on): Add fflush.
49244         * modules/freadable-tests (Depends-on): Likewise.
49245         * modules/fwritable-tests (Depends-on): Likewise.
49246
49247 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
49248
49249         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
49250         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
49251         Report by Bruno Haible <bruno@clisp.org>.
49252
49253 2007-04-26  Eric Blake  <ebb9@byu.net>
49254
49255         Fix fflush on mingw.
49256         * modules/fflush (Depends-on): Add freading.
49257         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
49258         but unread data.
49259
49260 2007-04-26  Eric Blake  <ebb9@byu.net>
49261         and Bruno Haible  <bruno@clisp.org>
49262
49263         Implement freading and fwriting.
49264         * lib/freading.c: New file.
49265         * lib/freading.h: Likewise.
49266         * m4/freading.m4: Likewise.
49267         * modules/freading: Likewise.
49268         * modules/freading-tests: Likewise.
49269         * tests/test-freading.c: Likewise.
49270         * lib/fwriting.c: New file.
49271         * lib/fwriting.h: Likewise.
49272         * m4/fwriting.m4: Likewise.
49273         * modules/fwriting: Likewise.
49274         * modules/fwriting-tests: Likewise.
49275         * tests/test-fwriting.c: Likewise.
49276         * MODULES.html.sh (File stream based Input/Output): Mention them.
49277
49278 2007-04-26  Bruno Haible  <bruno@clisp.org>
49279
49280         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
49281         'long' when we assume it.
49282         Suggested by Eric Blake.
49283
49284 2007-04-26  Bruno Haible  <bruno@clisp.org>
49285
49286         Ensure fseeko, ftello are declared on glibc systems.
49287         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
49288         * modules/fseeko (configure.ac-early): Likewise.
49289         * modules/ftello (configure.ac-early): Likewise.
49290         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
49291         AC_FUNC_FSEEKO for this.
49292         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
49293         (gl_CHECK_FSEEKO): Remove macro.
49294
49295 2007-04-26  Bruno Haible  <bruno@clisp.org>
49296
49297         * tests/test-fflush.c (main): Also check the ftell result after
49298         fflush and fseek/fseeko.
49299         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
49300         file descriptor position cache in the stream.
49301         * lib/fseeko.c (rpl_fseeko): Likewise.
49302
49303 2007-04-26  Bruno Haible  <bruno@clisp.org>
49304
49305         * modules/fflush-tests (Depends-on): Add fseeko.
49306
49307 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
49308             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49309
49310         * lib/argz_.h: ensure error_t definition is obtained in same
49311         mechanism system argz.h would have.
49312         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
49313         argz facilities are known bad.  Err on the side of caution if
49314         cross-compiling.
49315
49316 2007-04-25  Eric Blake  <ebb9@byu.net>
49317
49318         * lib/fpurge.c (includes): Use stdlib.h for free.
49319         * tests/test-fflush.c (main): Also test fflush-fseeko.
49320
49321 2007-04-25  Bruno Haible  <bruno@clisp.org>
49322
49323         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
49324         * lib/fseeko.c: New file.
49325         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
49326         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
49327         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
49328         gl_FUNC_FSEEKO.
49329         (gl_FUNC_FSEEKO): Invoke it.
49330         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
49331         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
49332         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
49333
49334 2007-04-25  Bruno Haible  <bruno@clisp.org>
49335
49336         * modules/fflush (Depends-on): Add ftello.
49337
49338 2007-04-25  Bruno Haible  <bruno@clisp.org>
49339
49340         * modules/ftello-tests: New file.
49341         * tests/test-ftello.c: New file.
49342
49343         * modules/ftello: New file.
49344         * m4/ftello.m4: New file.
49345         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
49346         HAVE_FTELLO.
49347         * lib/stdio_.h (ftello): New declaration.
49348         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
49349         HAVE_FTELLO.
49350
49351 2007-04-25  Bruno Haible  <bruno@clisp.org>
49352
49353         * modules/fseeko-tests: New file.
49354         * tests/test-fseeko.c: New file.
49355
49356         * modules/fseeko: New file.
49357         * m4/fseeko.m4: New file.
49358         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
49359         HAVE_FSEEKO.
49360         * lib/stdio_.h (fseeko): New declaration.
49361         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
49362         HAVE_FSEEKO.
49363
49364 2007-04-25  Bruno Haible  <bruno@clisp.org>
49365
49366         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
49367
49368 2007-04-25  Bruno Haible  <bruno@clisp.org>
49369
49370         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
49371         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
49372         * tests/test-unistd.c: Likewise.
49373         * tests/test-fcntl.c: Likewise.
49374
49375 2007-04-23  Eric Blake  <ebb9@byu.net>
49376
49377         * lib/fflush.c: Fix missing include.
49378         Reported by Bruno Haible.
49379
49380 2007-04-23  Bruno Haible  <bruno@clisp.org>
49381
49382         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
49383         Reported by Eric Blake.
49384
49385 2007-04-23  Bruno Haible  <bruno@clisp.org>
49386
49387         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
49388
49389 2007-04-23  Bruno Haible  <bruno@clisp.org>
49390
49391         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
49392
49393 2007-04-23  Bruno Haible  <bruno@clisp.org>
49394
49395         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
49396         Needed on HP-UX 11.
49397
49398 2007-04-16  Eric Blake  <ebb9@byu.net>
49399
49400         Make fflush rely on fpurge.
49401         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
49402         open coding all variants.
49403         * modules/fflush (Depends-on): Add fpurge and unistd.
49404         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
49405         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
49406
49407         Fix --with-tests compilation on cygwin.
49408         * modules/argmatch-tests (Makefile.am): List gnulib library first
49409         in LDADD.
49410         * modules/argp-tests (Makefile.am): Likewise.
49411         * modules/array-list-tests (Makefile.am): Likewise.
49412         * modules/array-oset-tests (Makefile.am): Likewise.
49413         * modules/avltree-list-tests (Makefile.am): Likewise.
49414         * modules/avltree-oset-tests (Makefile.am): Likewise.
49415         * modules/avltreehash-list-tests (Makefile.am): Likewise.
49416         * modules/carray-list-tests (Makefile.am): Likewise.
49417         * modules/dirname-tests (Makefile.am): Likewise.
49418         * modules/frexp-tests (Makefile.am): Likewise.
49419         * modules/isnanl-tests (Makefile.am): Likewise.
49420         * modules/linked-list-tests (Makefile.am): Likewise.
49421         * modules/linkedhash-list-tests (Makefile.am): Likewise.
49422         * modules/lock-tests (Makefile.am): Likewise.
49423         * modules/rbtree-list-tests (Makefile.am): Likewise.
49424         * modules/rbtree-oset-tests (Makefile.am): Likewise.
49425         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
49426         * modules/tls-tests (Makefile.am): Likewise.
49427         * modules/tsearch-tests (Makefile.am): Likewise.
49428         * modules/xvasprintf-tests (Makefile.am): Likewise.
49429
49430         Fix fpurge for cygwin.
49431         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
49432         value.
49433         * modules/fpurge-tests (Depends-on): Clean up trash.
49434
49435 2007-04-16  Simon Josefsson  <simon@josefsson.org>
49436
49437         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
49438
49439         * m4/autobuild.m4: Re-indent.
49440
49441 2007-04-13  Bruno Haible  <bruno@clisp.org>
49442
49443         * modules/fpurge-tests: New file.
49444         * tests/test-fpurge.c: New file.
49445
49446         * modules/fpurge: New file.
49447         * lib/fpurge.h: New file.
49448         * lib/fpurge.c: New file.
49449         * m4/fpurge.m4: New file.
49450
49451 2007-04-13  Bruno Haible  <bruno@clisp.org>
49452
49453         * modules/fbufmode-tests: New file.
49454         * tests/test-fbufmode.c: New file.
49455
49456         * modules/fbufmode: New file.
49457         * lib/fbufmode.h: New file.
49458         * lib/fbufmode.c: New file.
49459         * m4/fbufmode.m4: New file.
49460
49461 2007-04-13  Bruno Haible  <bruno@clisp.org>
49462
49463         * modules/fwritable-tests: New file.
49464         * tests/test-fwritable.c: New file.
49465
49466         * modules/fwritable: New file.
49467         * lib/fwritable.h: New file.
49468         * lib/fwritable.c: New file.
49469         * m4/fwritable.m4: New file.
49470
49471 2007-04-13  Bruno Haible  <bruno@clisp.org>
49472
49473         * modules/freadable-tests: New file.
49474         * tests/test-freadable.c: New file.
49475
49476         * modules/freadable: New file.
49477         * lib/freadable.h: New file.
49478         * lib/freadable.c: New file.
49479         * m4/freadable.m4: New file.
49480
49481 2007-04-13  Bruno Haible  <bruno@clisp.org>
49482
49483         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
49484         MOSTLYCLEANFILES.
49485
49486 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
49487
49488         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
49489         gzip bootstrap.conf to avoid dragging in i18n machinery.
49490         (gnulib_tool_option): Use it.
49491
49492 2007-04-13  Bruno Haible  <bruno@clisp.org>
49493
49494         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
49495         %F directives.
49496         * tests/test-vasprintf-posix.c (test_function): Likewise.
49497         * tests/test-snprintf-posix.h (test_function): Likewise.
49498         * tests/test-sprintf-posix.h (test_function): Likewise.
49499         * tests/test-fprintf-posix.h (test_function): Likewise.
49500         * tests/test-printf-posix.h (test_function): Likewise.
49501         * tests/test-fprintf-posix.out: Likewise.
49502
49503 2007-04-13  Bruno Haible  <bruno@clisp.org>
49504
49505         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
49506         * modules/tls-tests (configure.ac): Likewise.
49507         Reported by Arto C. Nirkko <anirkko@insel.ch>.
49508
49509 2007-04-13  Bruno Haible  <bruno@clisp.org>
49510
49511         * lib/tls.c (glthread_tls_get): Fix return type.
49512         Patch by Arto C. Nirkko <anirkko@insel.ch>.
49513
49514 2007-04-12  Eric Blake  <ebb9@byu.net>
49515
49516         * modules/gettime (Depends-on): Remove gettime.
49517         Reported by Dmitry V. Levin.
49518
49519 2007-04-12  Bruno Haible  <bruno@clisp.org>
49520
49521         * modules/fflush (Include): Mention <stdio.h>.
49522         * modules/strtoimax (Include): Mention <inttypes.h>.
49523         * modules/strtoumax (Include): Likewise.
49524
49525 2007-04-12  Eric Blake  <ebb9@byu.net>
49526
49527         * .cvsignore: New file.
49528         * .gitignore: Likewise.
49529
49530 2007-04-12  Bruno Haible  <bruno@clisp.org>
49531
49532         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
49533         not before, since $(LDADD) often contains libgnu.a.
49534         * modules/striconv-tests (test_striconv_LDADD): Likewise.
49535         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
49536         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
49537         Needed on Cygwin.
49538
49539 2007-04-12  Eric Blake  <ebb9@byu.net>
49540
49541         Work around glibc's failure to flush stdin on fclose.
49542         * lib/closein.c (close_stdin): Flush stdin before closing.
49543
49544         Work around glibc's failure to reset seekable stdin on exit.
49545         * modules/closein: New module.
49546         * lib/closein.c: New file.
49547         * lib/closein.h: Likewise.
49548         * m4/closein.m4: Likewise.
49549         * MODULES.html.sh (File stream based Input/Output): Document it.
49550
49551 2007-04-12  Simon Josefsson  <simon@josefsson.org>
49552
49553         * gnulib-tool: Rename generated 'autobuild' script to
49554         'do-autobuild' in --create-megatestdir output.
49555
49556         * doc/gnulib.texi (Build robot for gnulib): Fix.
49557
49558 2007-04-12  Simon Josefsson  <simon@josefsson.org>
49559
49560         * modules/sysexits (Depends-on): Add absolute-header.
49561
49562 2007-04-12  Eric Blake  <ebb9@byu.net>
49563
49564         No need to preserve errno on success.
49565         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
49566         Reported by Bruno Haible.
49567
49568 2007-04-12  Simon Josefsson  <simon@josefsson.org>
49569
49570         * MODULES.html.sh (Support for maintaining and releasing
49571         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
49572
49573 2007-04-12  Simon Josefsson  <simon@josefsson.org>
49574
49575         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
49576
49577 2007-04-12  Simon Josefsson  <simon@josefsson.org>
49578
49579         * modules/autobuild: New module.
49580
49581         * m4/autobuild.m4: New file.
49582
49583 2007-04-11  Bruno Haible  <bruno@clisp.org>
49584
49585         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
49586         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
49587         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
49588         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
49589         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
49590         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
49591         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
49592         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
49593         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
49594         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
49595         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
49596         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
49597         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
49598         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
49599         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
49600         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
49601         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
49602         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
49603         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
49604         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
49605         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
49606         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
49607         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
49608         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
49609         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
49610         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
49611         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
49612         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
49613         Reported by Eric Blake.
49614
49615 2007-04-11  Bruno Haible  <bruno@clisp.org>
49616
49617         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
49618
49619 2007-04-10  Bruno Haible  <bruno@clisp.org>
49620
49621         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
49622         for NaN and Infinity. Needed on FreeBSD 6.1.
49623         * tests/test-vasnprintf-posix.c (test_function): Undo last change
49624         regarding results for "%010a" of Infinity and NaN.
49625         * tests/test-vasprintf-posix.c (test_function): Likewise.
49626         * tests/test-snprintf-posix.h (test_function): Likewise.
49627         * tests/test-sprintf-posix.h (test_function): Likewise.
49628         * tests/test-fprintf-posix.h (test_function): Likewise.
49629         * tests/test-printf-posix.h (test_function): Likewise.
49630         * tests/test-fprintf-posix.out: Likewise.
49631
49632 2007-04-10  Bruno Haible  <bruno@clisp.org>
49633
49634         * modules/locale-tests: New file.
49635         * tests/test-locale.c: New file.
49636
49637         * modules/locale: New file.
49638         * lib/locale_.h: New file.
49639         * m4/locale_h.m4: New file.
49640
49641 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
49642             Bruno Haible  <bruno@clisp.org>
49643
49644         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
49645         be determined, test for availability of the copysignf, copysign,
49646         copysignl functions.
49647         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
49648         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
49649         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
49650
49651 2007-04-09  Eric Blake  <ebb9@byu.net>
49652
49653         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
49654         * modules/stdio (Makefile.am): Support fflush.
49655         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
49656         * modules/fflush: New file.
49657         * lib/fflush.c: Likewise.
49658         * m4/fflush.m4: Likewise.
49659         * modules/fflush-tests: New test.
49660         * tests/test-fflush.c: Likewise.
49661         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
49662
49663 2007-04-06  Bruno Haible  <bruno@clisp.org>
49664
49665         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
49666         (VASNPRINTF): Use signbit for faster determination whether to print a
49667         minus sign.
49668         * modules/vasnprintf (Files): Remove lib/float+.h.
49669         * modules/fprintf-posix (Depends-on): Add signbit.
49670         * modules/snprintf-posix (Depends-on): Likewise.
49671         * modules/sprintf-posix (Depends-on): Likewise.
49672         * modules/vasnprintf-posix (Depends-on): Likewise.
49673         * modules/vasprintf-posix (Depends-on): Likewise.
49674         * modules/vfprintf-posix (Depends-on): Likewise.
49675         * modules/vsnprintf-posix (Depends-on): Likewise.
49676         * modules/vsprintf-posix (Depends-on): Likewise.
49677
49678 2007-04-06  Bruno Haible  <bruno@clisp.org>
49679
49680         * tests/test-frexp.c (main): Test also the sign bit of zero results.
49681         * tests/test-frexpl.c (main): Likewise.
49682         * tests/test-ldexpl.c (main): Likewise.
49683         * modules/frexp-tests (Depends-on): Add signbit.
49684         * modules/frexpl-tests (Depdends-on): Likewise.
49685         * modules/ldexpl-tests (Depdends-on): Likewise.
49686
49687 2007-04-06  Bruno Haible  <bruno@clisp.org>
49688
49689         * modules/signbit-tests: New file.
49690         * tests/test-signbit.c: New file.
49691
49692         * modules/signbit: New file.
49693         * lib/signbitf.c: New file.
49694         * lib/signbitd.c: New file.
49695         * lib/signbitl.c: New file.
49696         * m4/signbit.m4: New file.
49697         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
49698         (signbit): New macro.
49699         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
49700         REPLACE_SIGNBIT.
49701         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
49702         REPLACE_FREXPL into math.h.
49703
49704 2007-04-06  Bruno Haible  <bruno@clisp.org>
49705
49706         * modules/isnanf-nolibm-tests: New file.
49707         * tests/test-isnanf.c: New file.
49708
49709         * modules/isnanf-nolibm: New file.
49710         * lib/isnanf.h: New file.
49711         * lib/isnanf.c: New file.
49712         * lib/isnan.c: Consider the USE_FLOAT macro.
49713         * m4/isnanf.m4: New file.
49714
49715 2007-04-06  Bruno Haible  <bruno@clisp.org>
49716
49717         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
49718         (Link): New section.
49719
49720         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
49721
49722 2007-04-06  Bruno Haible  <bruno@clisp.org>
49723
49724         Assume the 'long double' type.
49725         * m4/longdouble.m4: Remove file.
49726         * config/srclist.txt: Don't mention longdouble.m4.
49727         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
49728         * lib/float+.h: Likewise.
49729         * lib/frexp.c: Likewise.
49730         * lib/printf-args.h: Likewise.
49731         * lib/printf-args.c: Likewise.
49732         * lib/printf-frexp.c: Likewise.
49733         * lib/printf-parse.c: Likewise.
49734         * lib/vasnprintf.c: Likewise.
49735         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
49736         * m4/intl.m4: Likewise.
49737         * m4/isnanl.m4: Likewise.
49738         * m4/printf.m4: Likewise.
49739         * m4/printf-frexpl.m4: Likewise.
49740         * m4/vasnprintf.m4: Likewise.
49741         * modules/allocsa (Files): Remove m4/longdouble.m4.
49742         * modules/gettext (Files): Likewise.
49743         * modules/relocatable-prog-wrapper (Files): Likewise.
49744         * modules/vasnprintf (Files): Likewise.
49745         * modules/isnanl (Files): Likewise.
49746         (Include): Simplify.
49747         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
49748         (Include): Simplify.
49749         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
49750         (Include): Simplify.
49751         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
49752         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
49753         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
49754         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
49755         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
49756         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
49757         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
49758         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
49759         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
49760         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
49761         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
49762         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
49763         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
49764         * tests/test-isnanl.c: Likewise.
49765         * tests/test-snprintf-posix.h: Likewise.
49766         * tests/test-sprintf-posix.h: Likewise.
49767         * tests/test-vasnprintf-posix.c: Likewise.
49768         * tests/test-vasnprintf-posix2.c: Likewise.
49769         * tests/test-vasprintf-posix.c: Likewise.
49770
49771 2007-04-06  Bruno Haible  <bruno@clisp.org>
49772
49773         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
49774         * lib/math_.h [__DECC]: Include the overridden include file through
49775         #include_next, outside the double-inclusion guard.
49776         * lib/stdio_.h [__DECC]: Likewise.
49777         * lib/stdlib_.h [__DECC]: Likewise.
49778         * lib/string_.h [__DECC]: Likewise.
49779         * lib/time_.h [__DECC]: Likewise.
49780         * lib/wchar_.h [__DECC]: Likewise.
49781         * lib/wctype_.h [__DECC]: Likewise.
49782         * lib/inttypes_.h [__DECC]: Likewise.
49783         Reported by Albert Chin <china@thewrittenword.com> in
49784         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
49785
49786 2007-04-04  Eric Blake  <ebb9@byu.net>
49787
49788         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
49789         1.5.x.
49790
49791 2007-04-04  Bruno Haible  <bruno@clisp.org>
49792
49793         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
49794         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
49795
49796 2007-04-04  Bruno Haible  <bruno@clisp.org>
49797
49798         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
49799         results for "%010a" of Infinity and NaN.
49800         * tests/test-vasprintf-posix.c (test_function): Likewise.
49801         * tests/test-snprintf-posix.h (test_function): Likewise.
49802         * tests/test-sprintf-posix.h (test_function): Likewise.
49803         * tests/test-fprintf-posix.h (test_function): Remove these tests.
49804         * tests/test-printf-posix.h (test_function): Likewise.
49805         * tests/test-fprintf-posix.out: Update.
49806         Needed for FreeBSD 6.1.
49807
49808 2007-04-04  Bruno Haible  <bruno@clisp.org>
49809
49810         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
49811         directly used by the gnulib modules nor by gnulib-tool.
49812
49813 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
49814
49815         * DEPENDENCIES: Give overall description of version dependency
49816         desirability.  Use more-typical names for apps.
49817         Add shell, coreutils, diffutils, grep, tar, gzip.
49818
49819 2007-04-04  Simon Josefsson  <simon@josefsson.org>
49820
49821         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
49822
49823 2007-04-04  Karl Berry  <karl@gnu.org>
49824
49825         * MODULES.html.sh (func_module): missing '.
49826
49827 2007-04-03  Bruno Haible  <bruno@clisp.org>
49828
49829         * modules/argmatch-tests (Makefile.am): New variable
49830         test_argmatch_LDADD.
49831         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
49832         * modules/array-list-tests (Makefile.am): New variable
49833         test_array_list_LDADD.
49834         * modules/array-oset-tests (Makefile.am): New variable
49835         test_array_oset_LDADD.
49836         * modules/avltree-list-tests (Makefile.am): New variable
49837         test_avltree_list_LDADD.
49838         * modules/avltree-oset-tests (Makefile.am): New variable
49839         test_avltree_oset_LDADD.
49840         * modules/avltreehash-list-tests (Makefile.am): New variable
49841         test_avltreehash_list_LDADD.
49842         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
49843         test_canonicalize_lgpl_LDADD.
49844         * modules/carray-list-tests (Makefile.am): New variable
49845         test_carray_list_LDADD.
49846         * modules/dirname-tests (Makefile.am): New variable
49847         test_dirname_LDADD.
49848         * modules/linked-list-tests (Makefile.am): New variable
49849         test_linked_list_LDADD.
49850         * modules/linkedhash-list-tests (Makefile.am): New variable
49851         test_linkedhash_list_LDADD.
49852         * modules/rbtree-list-tests (Makefile.am): New variable
49853         test_rbtree_list_LDADD.
49854         * modules/rbtree-oset-tests (Makefile.am): New variable
49855         test_rbtree_oset_LDADD.
49856         * modules/rbtreehash-list-tests (Makefile.am): New variable
49857         test_rbtreehash_list_LDADD.
49858         * modules/xvasprintf-tests (Makefile.am): New variable
49859         test_xvasprintf_LDADD.
49860         Reported by Eric Blake.
49861
49862 2007-04-03  Eric Blake  <ebb9@byu.net>
49863
49864         * DEPENDENCIES: Weaken m4 requirements.
49865
49866 2007-04-03  Bruno Haible  <bruno@clisp.org>
49867
49868         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
49869         * modules/isnanl-tests (configure.ac): Likewise.
49870
49871 2007-04-03  Ben Pfaff  <blp@gnu.org>
49872
49873         * modules/iconv_open: Add $(srcdir)/ to source directory
49874         references in Makefile fragments that call gperf, to fix VPATH
49875         builds.
49876
49877 2007-04-03  Bruno Haible  <bruno@clisp.org>
49878
49879         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
49880         * lib/ldexpl.c: Undo last change.
49881
49882 2007-04-03  Bruno Haible  <bruno@clisp.org>
49883
49884         * modules/printf-frexpl (Depends-on): Undo last change.
49885         (Files): Add m4/ldexpl.m4.
49886
49887 2007-04-03  Bruno Haible  <bruno@clisp.org>
49888
49889         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
49890         * modules/isnanl (Link): New section.
49891
49892         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
49893         * modules/frexp (Link): New section.
49894
49895         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
49896         * modules/frexpl (Link): New section.
49897
49898         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
49899         * modules/ldexpl (Link): New section.
49900
49901 2007-04-03  Bruno Haible  <bruno@clisp.org>
49902
49903         * modules/TEMPLATE-EXTENDED: New file.
49904         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
49905
49906 2007-04-03  Bruno Haible  <bruno@clisp.org>
49907
49908         * DEPENDENCIES: New file.
49909         Suggested by Simon Josefsson.
49910
49911 2007-04-03  Bruno Haible  <bruno@clisp.org>
49912
49913         * doc/gnulib.texi: Escape @.
49914
49915 2007-04-03  James Youngman  <jay@gnu.org>
49916         and Paul Eggert  <eggert@cs.ucla.edu>
49917
49918         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
49919         birthtime on all systems that have birthtime, not just those which
49920         use st_birthtimensec rather than st_birthtim.  Putting zero in
49921         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
49922         that the birth time is not available for files on an NFS mount.
49923
49924 2007-04-03  Simon Josefsson  <simon@josefsson.org>
49925
49926         * modules/memxor: Move back from crypto/, suggested by Bruno.
49927         * modules/crypto/hmac-sha1: Fix memxor dependency.
49928
49929         * modules/crypto/gc: Moved from ../.
49930
49931 2007-04-02  Eric Blake  <ebb9@byu.net>
49932
49933         * lib/ldexpl.c (includes): Avoid libm.
49934
49935         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
49936
49937 2007-04-02  Bruno Haible  <bruno@clisp.org>
49938
49939         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
49940         on IRIX.
49941
49942 2007-04-02  Bruno Haible  <bruno@clisp.org>
49943
49944         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
49945         x86 or x86_64 platforms running MacOS X.
49946         Reported by Ryan Schmidt <@ryandesign.com>.
49947
49948 2007-04-02  Bruno Haible  <bruno@clisp.org>
49949
49950         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
49951         i386.
49952
49953 2007-04-01  Simon Josefsson  <simon@josefsson.org>
49954
49955         * modules/crypto/arcfour: Moved from ../.
49956         * modules/crypto/arcfour-tests: Moved from ../.
49957         * modules/crypto/arctwo: Moved from ../.
49958         * modules/crypto/arctwo-tests: Moved from ../.
49959         * modules/crypto/des: Moved from ../.
49960         * modules/crypto/des-tests: Moved from ../.
49961         * modules/crypto/gc-arcfour: Moved from ../.
49962         * modules/crypto/gc-arcfour-tests: Moved from ../.
49963         * modules/crypto/gc-arctwo: Moved from ../.
49964         * modules/crypto/gc-arctwo-tests: Moved from ../.
49965         * modules/crypto/gc-des: Moved from ../.
49966         * modules/crypto/gc-des-tests: Moved from ../.
49967         * modules/crypto/gc-hmac-md5: Moved from ../.
49968         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
49969         * modules/crypto/gc-hmac-sha1: Moved from ../.
49970         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
49971         * modules/crypto/gc-md2: Moved from ../.
49972         * modules/crypto/gc-md2-tests: Moved from ../.
49973         * modules/crypto/gc-md4: Moved from ../.
49974         * modules/crypto/gc-md4-tests: Moved from ../.
49975         * modules/crypto/gc-md5: Moved from ../.
49976         * modules/crypto/gc-md5-tests: Moved from ../.
49977         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
49978         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
49979         * modules/crypto/gc-random: Moved from ../.
49980         * modules/crypto/gc-rijndael: Moved from ../.
49981         * modules/crypto/gc-rijndael-tests: Moved from ../.
49982         * modules/crypto/gc-sha1: Moved from ../.
49983         * modules/crypto/gc-sha1-tests: Moved from ../.
49984         * modules/crypto/gc-tests: Moved from ../.
49985         * modules/crypto/hmac-md5: Moved from ../.
49986         * modules/crypto/hmac-md5-tests: Moved from ../.
49987         * modules/crypto/hmac-sha1: Moved from ../.
49988         * modules/crypto/hmac-sha1-tests: Moved from ../.
49989         * modules/crypto/md2: Moved from ../.
49990         * modules/crypto/md2-tests: Moved from ../.
49991         * modules/crypto/md4: Moved from ../.
49992         * modules/crypto/md4-tests: Moved from ../.
49993         * modules/crypto/md5: Moved from ../.
49994         * modules/crypto/md5-tests: Moved from ../.
49995         * modules/crypto/memxor: Moved from ../.
49996         * modules/crypto/rijndael: Moved from ../.
49997         * modules/crypto/rijndael-tests: Moved from ../.
49998         * modules/crypto/sha1: Moved from ../.
49999
50000 2007-03-30  James Youngman  <jay@gnu.org>
50001
50002         * tests/test-stat-time.c (prepare_test): use chmod() rather than
50003         rename() to change the ctime of a file (because ctime is unaffected
50004         by rename on jfs2 on AIX 5.1).
50005         (main): Start by doing cleanup, in case a previous run failed leaving
50006         test files behind.
50007
50008 2007-03-31  Bruno Haible  <bruno@clisp.org>
50009
50010         Support old proprietary implementations of iconv.
50011         * modules/iconv_open: New file.
50012         * lib/iconv_.h: New file.
50013         * m4/iconv_h.m4: New file.
50014         * lib/iconv_open.c: New file.
50015         * lib/iconv_open-aix.gperf: New file.
50016         * lib/iconv_open-hpux.gperf: New file.
50017         * lib/iconv_open-irix.gperf: New file.
50018         * lib/iconv_open-osf.gperf: New file.
50019         * m4/iconv_open.m4: New file.
50020         * modules/linebreak (Depends-on): Add iconv_open.
50021         * modules/striconv (Depends-on): Likewise.
50022         * modules/striconveh (Depends-on): Likewise.
50023         * modules/unicodeio (Depends-on): Likewise.
50024         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
50025         (iconv_t)(-1).
50026         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
50027         conversion if cd is (iconv_t)(-1).
50028         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
50029         is not possible.
50030
50031 2007-03-31  Bruno Haible  <bruno@clisp.org>
50032
50033         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
50034         work on Solaris either. Protect also second use of "autodetect_jp".
50035
50036 2007-03-31  Bruno Haible  <bruno@clisp.org>
50037
50038         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
50039         the function is not present.
50040
50041 2007-03-31  Bruno Haible  <bruno@clisp.org>
50042
50043         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
50044         the function is not present.
50045
50046 2007-03-31  Bruno Haible  <bruno@clisp.org>
50047
50048         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
50049         a bug in HP-UX iconv_open().
50050
50051 2007-03-31  Bruno Haible  <bruno@clisp.org>
50052
50053         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
50054         (Mathematics <math.h>): New section, add fpieee.
50055         (Input/output <stdio.h>): Add fseterr.
50056         (Mathematics <math.h>): New section, add printf-frexp.
50057         (Container data structures): Add sublist.
50058         (Core language properties): Add fpucw, inline.
50059         (Functions for greatest-width integer types <inttypes.h>): Add
50060         imaxabs, imaxdiv, inttypes.
50061         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
50062         isnanl-nolibm, ldexp.
50063         (Mathematics <math.h>): New section, add printf-frexpl.
50064         (Support for systems lacking POSIX:2001): Add fprintf-posix,
50065         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
50066         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
50067         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
50068         (Unicode string functions): Add unistr/u*-mbtoucr.
50069         (Java): Add javacomp-script, javaexec-script.
50070         (C#): Add csharpcomp-script, csharpexec-script.
50071         (Support for building libraries and executables): Add havelib,
50072         relocatable-*.
50073         (Support for maintaining and releasing projects): Renamed from
50074         'Support for maintaining and release projects'. Add announce-gen.
50075
50076 2007-03-31  Bruno Haible  <bruno@clisp.org>
50077
50078         * README: Talk primarily about git.
50079         (git and CVS): Renamed from CVS.
50080         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
50081         gnulib is available through git.
50082         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
50083
50084 2007-03-30  Bruno Haible  <bruno@clisp.org>
50085
50086         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
50087         * lib/poll_.h: Likewise.
50088         * lib/stat_.h: Likewise.
50089         * lib/sys_time_.h: Likewise.
50090         * lib/sysexit_.h: Likewise.
50091         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
50092         * lib/stdbool_.h: Likewise.
50093         * lib/byteswap_.h: Add double-inclusion guard.
50094
50095 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
50096
50097         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
50098
50099 2007-03-30  Karl Berry  <karl@gnu.org>
50100
50101         * config/srclist-update: double space after USA in the license
50102         substitution, since that's how it's usually (?) written.
50103
50104 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
50105
50106         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
50107         reported by Bruno Haible.
50108
50109 2007-03-29  Bruno Haible  <bruno@clisp.org>
50110
50111         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
50112         a bug in AIX iconv().
50113
50114 2007-03-29  Bruno Haible  <bruno@clisp.org>
50115
50116         * modules/ldexpl-tests: New file.
50117         * tests/test-ldexpl.c: New file.
50118
50119 2007-03-29  Bruno Haible  <bruno@clisp.org>
50120
50121         * lib/ldexpl.c: Include fpucw.h.
50122         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
50123         multiplication.
50124         * modules/ldexpl (Depends-on): Add fpucw.
50125
50126 2007-03-29  Bruno Haible  <bruno@clisp.org>
50127
50128         * modules/ldexpl: New file.
50129         * m4/ldexpl.m4: New file.
50130         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
50131         set.
50132         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
50133         REPLACE_LDEXPL.
50134         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
50135         REPLACE_LDEXPL.
50136         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
50137         gl_FUNC_LDEXPL_WORKS.
50138         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
50139         * modules/mathl (Files): Remove lib/ldexpl.c.
50140         (Depends-on): Add ldexpl.
50141
50142 2007-03-29  Bruno Haible  <bruno@clisp.org>
50143
50144         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
50145
50146 2007-03-29  Bruno Haible  <bruno@clisp.org>
50147
50148         * tests/test-striconveh.c (main): Don't assume that a direct conversion
50149         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
50150         and possibly also HP-UX.
50151         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
50152         work on AIX, IRIX, HP-UX, OSF/1.
50153         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
50154         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
50155         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
50156         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
50157         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
50158         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
50159
50160 2007-03-29  Bruno Haible  <bruno@clisp.org>
50161
50162         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
50163
50164 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
50165
50166         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
50167         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
50168
50169 2007-03-29  Eric Blake  <ebb9@byu.net>
50170
50171         * lib/acl-internal.h: Remove redundant include.
50172         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
50173         Cygwin when a file is locked.
50174
50175 2007-03-29  Bruno Haible  <bruno@clisp.org>
50176
50177         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
50178         file.
50179         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
50180
50181 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
50182
50183         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
50184         try to remove a parent directory if the child couldn't be removed
50185         (except for the first rmdir, which could fail because the child
50186         doesn't exist).  Problem reported by Jeff Blaine in
50187         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
50188
50189 2007-03-28  Bruno Haible  <bruno@clisp.org>
50190
50191         * lib/striconveh.c (utf8conv_carefully): New function.
50192         (mem_cd_iconveh_internal): Invoke it.
50193
50194 2007-03-28  Bruno Haible  <bruno@clisp.org>
50195
50196         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
50197         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
50198         input.
50199         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
50200         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
50201         unistr/u8-uctomb.
50202
50203 2007-03-28  Bruno Haible  <bruno@clisp.org>
50204
50205         * modules/unistr/u8-mbtoucr: New file.
50206         * lib/unistr/u8-mbtoucr.c: New file.
50207         * modules/unistr/u16-mbtoucr: New file.
50208         * lib/unistr/u16-mbtoucr.c: New file.
50209         * modules/unistr/u16-mbtoucr: New file.
50210         * lib/unistr/u16-mbtoucr.c: New file.
50211         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
50212
50213 2007-03-27  Simon Josefsson  <simon@josefsson.org>
50214             Bruno Haible  <bruno@clisp.org>
50215
50216         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
50217         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
50218         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
50219
50220         * m4/stdio_h.m4: Add stubs for vasprintf too.
50221
50222         * modules/stdio: Support vasprintf in sed command.
50223
50224         * modules/vasprintf: Depend on stdio for prototypes.  Remove
50225         vasprintf.h.  Add stdio module indicator.
50226
50227         * lib/stdio_.h: Declare asprintf and vasprintf, based on
50228         vasprintf.h.
50229
50230         * lib/vasprintf.h: File removed.
50231
50232         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
50233         * lib/vasprintf.c: Ditto.
50234         * lib/xvasprintf.c: Ditto.
50235         * tests/test-vasprintf-posix.c: Ditto.
50236         * tests/test-vasprintf.c: Ditto.
50237
50238 2007-03-27  Bruno Haible  <bruno@clisp.org>
50239
50240         Make vasnprintf multithread-safe.
50241         * lib/vasnprintf.c (decimal_point_char): New function.
50242         (VASNPRINTF): Use it.
50243         Suggested by Simon Josefsson.
50244
50245 2007-03-27  Eric Blake  <ebb9@byu.net>
50246
50247         Support sub-second birthtime on cygwin.
50248         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
50249         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
50250         (get_stat_birthtime): Also work with st_birthtim.
50251
50252 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
50253
50254         * lib/stat-time.h (USE_BIRTHTIME): Remove.
50255         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
50256         (get_stat_birthtime_ns): Do not try to use "spare" fields.
50257         (get_stat_birthtime_ns): Simplify compile-time tests.
50258         (get_stat_birthtime): Change the API to look like
50259         get_stat_mtime etc., except return a negative tv_nsec on error.
50260         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
50261         Don't check for "spare" fields.
50262         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
50263         or for struct stat.st_birthtime, as these tests aren't used.
50264         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
50265
50266 2007-03-27  Bruno Haible  <bruno@clisp.org>
50267
50268         * lib/stat-time.h: Include <sys/stat.h>.
50269
50270 2007-03-27  James Youngman  <jay@gnu.org>
50271
50272         * lib/stat-time.h (get_stat_birthtime): New function for
50273           retrieving st_birthtime as provided by UFS2 (hence *BSD).
50274         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
50275           and its variants.
50276         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
50277         * modules/stat-time-test: New file.
50278         * tests/test-stat-time.c: New test, devised by Bruno Haible.
50279
50280 2007-03-26  Bruno Haible  <bruno@clisp.org>
50281
50282         Better support of signalling NaNs.
50283         * lib/atanl.c: Include isnanl.h.
50284         (atanl): Perform test for NaN at the beginning of the function and
50285         through a call to isnanl.
50286         * lib/cosl.c: Include isnanl.h.
50287         (cosl): Perform test for NaN at the beginning of the function and
50288         through a call to isnanl.
50289         * lib/ldexpl.c: Include isnanl.h.
50290         (ldexpl): Perform test for NaN through a call to isnanl.
50291         * lib/logl.c: Include isnanl.h.
50292         (logl): Perform test for NaN at the beginning of the function and
50293         through a call to isnanl.
50294         * lib/sinl.c: Include isnanl.h.
50295         (sinl): Perform test for NaN at the beginning of the function and
50296         through a call to isnanl.
50297         * lib/sqrtl.c: Include isnanl.h.
50298         (sqrtl): Perform test for NaN at the beginning of the function and
50299         through a call to isnanl.
50300         * lib/tanl.c: Include isnanl.h.
50301         (tanl): Perform test for NaN at the beginning of the function and
50302         through a call to isnanl.
50303         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
50304         * modules/mathl (Depends-on): Add isnanl.
50305
50306 2007-03-26  Eric Blake  <ebb9@byu.net>
50307
50308         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
50309         regression in logic sense of previous patch.
50310
50311 2007-03-26  Bruno Haible  <bruno@clisp.org>
50312
50313         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
50314         unportable shell command "if ! ...".
50315         Reported by Ralf Wildenhues.
50316
50317 2007-03-25  Bruno Haible  <bruno@clisp.org>
50318
50319         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
50320         <sysexits.h> file, and only add EX_CONFIG.
50321         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
50322         absolute file name and whether it is sufficient. Substitute also
50323         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
50324         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
50325         ABSOLUTE_SYSEXITS_H into sysexits.h.
50326
50327 2007-03-25  Bruno Haible  <bruno@clisp.org>
50328
50329         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
50330         hints is NULL.
50331
50332 2007-03-25  Bruno Haible  <bruno@clisp.org>
50333
50334         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
50335         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
50336
50337 2007-03-25  Bruno Haible  <bruno@clisp.org>
50338
50339         * lib/vasnprintf.c: Include langinfo.h.
50340         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
50341         multithread-safe.
50342         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
50343         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
50344         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
50345         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
50346         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
50347         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
50348         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
50349         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
50350         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
50351         Reported by Simon Josefsson.
50352
50353 2007-03-25  Bruno Haible  <bruno@clisp.org>
50354
50355         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
50356         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
50357         * modules/vasnprintf (Depends-on): Add stdint.
50358
50359 2007-03-25  Bruno Haible  <bruno@clisp.org>
50360
50361         * modules/fpieee: New file.
50362         * m4/fpieee.m4: New file.
50363         * modules/isnan-nolibm (Depends-on): Add fpieee.
50364         * modules/isnanl-nolibm (Depends-on): Add fpieee.
50365         * modules/isnanl (Depends-on): Add fpieee.
50366
50367 2007-03-25  Bruno Haible  <bruno@clisp.org>
50368
50369         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
50370
50371 2007-03-25  Bruno Haible  <bruno@clisp.org>
50372
50373         Avoid test failures on IRIX 6.5.
50374         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
50375         (main): Use it.
50376         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
50377         macros.
50378         (main): Use them.
50379
50380 2007-03-25  Bruno Haible  <bruno@clisp.org>
50381
50382         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
50383         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
50384         exists but doesn't work.
50385         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
50386         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
50387         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
50388         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
50389
50390 2007-03-25  Bruno Haible  <bruno@clisp.org>
50391
50392         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
50393         returns inf. Needed on IRIX 6.5.
50394
50395 2007-03-25  Bruno Haible  <bruno@clisp.org>
50396
50397         * tests/test-frexpl.c: Include isnanl-nolibm.h.
50398         (main): Use isnanl instead of x != x idiom.
50399         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
50400
50401         * tests/test-frexp.c: Include isnan.h.
50402         (main): Use isnan instead of x != x idiom.
50403         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
50404
50405 2007-03-25  Bruno Haible  <bruno@clisp.org>
50406
50407         * tests/test-frexp.c (NaN): New function/macro.
50408         (main): Use it instead of 0.0 / 0.0.
50409         * tests/test-isnan.c (NaN): New function/macro.
50410         (main): Use it instead of 0.0 / 0.0.
50411         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
50412         (test_function): Use it instead of 0.0 / 0.0.
50413         * tests/test-vasprintf-posix.c (NaN): New function/macro.
50414         (test_function): Use it instead of 0.0 / 0.0.
50415         * tests/test-snprintf-posix.h (NaN): New function/macro.
50416         (test_function): Use it instead of 0.0 / 0.0.
50417         * tests/test-sprintf-posix.h (NaN): New function/macro.
50418         (test_function): Use it instead of 0.0 / 0.0.
50419         * tests/test-fprintf-posix.h (NaN): New function/macro.
50420         (test_function): Use it instead of 0.0 / 0.0.
50421         * tests/test-printf-posix.h (NaN): New function/macro.
50422         (test_function): Use it instead of 0.0 / 0.0.
50423
50424         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
50425
50426 2007-03-25  Bruno Haible  <bruno@clisp.org>
50427
50428         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
50429
50430 2007-03-25  Bruno Haible  <bruno@clisp.org>
50431
50432         * lib/regexec.c (merge_state_with_log): Make static.
50433
50434 2007-03-25  Bruno Haible  <bruno@clisp.org>
50435
50436         * lib/trigl.c (kernel_rem_pio2): Make static.
50437
50438 2007-03-25  Bruno Haible  <bruno@clisp.org>
50439
50440         * lib/sincosl.c (sincosl_table): Make static.
50441
50442 2007-03-25  Bruno Haible  <bruno@clisp.org>
50443
50444         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
50445         if the compiler does not support C99.
50446
50447 2007-03-25  Bruno Haible  <bruno@clisp.org>
50448
50449         * modules/time (Makefile.am): Ensure all rule action lines start with a
50450         tab.
50451
50452 2007-03-24  Bruno Haible  <bruno@clisp.org>
50453
50454         * modules/tsearch-tests: New file.
50455         * tests/test-tsearch.sh: New file.
50456         * tests/test-tsearch.c: New file, mostly copied from glibc.
50457
50458         * modules/search-tests: New file.
50459         * tests/test-search.c: New file.
50460
50461         * modules/search: New file.
50462         * lib/search_.h: New file, incorporating lib/tsearch.h.
50463         * m4/search_h.m4: New file.
50464         * lib/tsearch.h: Remove file.
50465         * lib/tsearch.c: Include search.h instead of tsearch.h.
50466         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
50467         HAVE_TSEARCH.
50468         * modules/tsearch (Files): Remove lib/tsearch.h.
50469         (Depends-on): Add search.
50470         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
50471         (Include): Change tsearch.h into search.h.
50472
50473 2007-03-24  Bruno Haible  <bruno@clisp.org>
50474
50475         * modules/fpucw: New file.
50476         * lib/fpucw.h: New file.
50477         * lib/frexp.c: Include fpucw.h.
50478         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
50479         (FUNC): Use them.
50480         * lib/printf-frexp.c: Include fpucw.h.
50481         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
50482         (FUNC): Use them.
50483         * lib/vasnprintf.c: Include fpucw.h.
50484         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
50485         'long double' calculations.
50486         * tests/test-frexpl.c: Include fpucw.h.
50487         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
50488         * tests/test-printf-frexpl.c: Include fpucw.h.
50489         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
50490         * modules/frexpl (Depends-on): Add fpucw.
50491         * modules/printf-frexpl (Depends-on): Likewise.
50492         * modules/fprintf-posix (Depends-on): Likewise.
50493         * modules/snprintf-posix (Depends-on): Likewise.
50494         * modules/sprintf-posix (Depends-on): Likewise.
50495         * modules/vasnprintf-posix (Depends-on): Likewise.
50496         * modules/vasprintf-posix (Depends-on): Likewise.
50497         * modules/vfprintf-posix (Depends-on): Likewise.
50498         * modules/vsnprintf-posix (Depends-on): Likewise.
50499         * modules/vsprintf-posix (Depends-on): Likewise.
50500         * modules/frexpl-tests (Depends-on): Likewise.
50501         * modules/printf-frexpl-tests (Depends-on): Likewise.
50502
50503 2007-03-24  Bruno Haible  <bruno@clisp.org>
50504
50505         * lib/float+.h: New file.
50506         * lib/isnan.c: Include float+.h.
50507         (SIZE): New macro.
50508         (FUNC): Compare only SIZE bytes of the value.
50509         * lib/vasnprintf.c: Include float+.h.
50510         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
50511         SIZEOF_LDBL or SIZEOF_DBL bytes.
50512         * modules/isnan-nolibm (Files): Add lib/float+.h.
50513         * modules/isnanl-nolibm (Files): Add lib/float+.h.
50514         * modules/isnanl (Files): Add lib/float+.h.
50515         * modules/vasnprintf (Files): Add lib/float+.h.
50516
50517 2007-03-24  Bruno Haible  <bruno@clisp.org>
50518
50519         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
50520         include isnanl-nolibm.h.
50521
50522 2007-03-24  Bruno Haible  <bruno@clisp.org>
50523
50524         * tests/test-read-file.c (main): Don't produce spurious output for
50525         expected situations. Make the test fail if it encountered unexpected
50526         results.
50527
50528 2007-03-24  Bruno Haible  <bruno@clisp.org>
50529
50530         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
50531         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
50532
50533 2007-03-24  Bruno Haible  <bruno@clisp.org>
50534
50535         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
50536
50537 2007-03-24  Bruno Haible  <bruno@clisp.org>
50538
50539         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
50540         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
50541
50542         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
50543         * modules/utf8-ucs4: Turn into a symbolic link to module
50544         unistr/u8-mbtouc.
50545
50546         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
50547         utf8-ucs4-unsafe.
50548         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
50549         unistr/u8-mbtouc-unsafe.
50550
50551         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
50552         * modules/utf16-ucs4: Turn into a symbolic link to module
50553         unistr/u16-mbtouc.
50554
50555         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
50556         utf16-ucs4-unsafe.
50557         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
50558         unistr/u16-mbtouc-unsafe.
50559
50560         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
50561         * modules/ucs4-utf8: Turn into a symbolic link to module
50562         unistr/u8-ubtomb.
50563
50564         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
50565         * modules/ucs4-utf16: Turn into a symbolic link to module
50566         unistr/u16-ubtomb.
50567
50568 2007-03-24  Bruno Haible  <bruno@clisp.org>
50569
50570         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
50571         Enable the function only if HAVE_INLINE.
50572         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
50573         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
50574         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
50575         Enable the function only if HAVE_INLINE.
50576         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
50577         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
50578         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
50579         Enable the function only if HAVE_INLINE.
50580         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
50581         Enable the function only if HAVE_INLINE.
50582         * modules/utf8-ucs4: Update.
50583         * modules/utf8-ucs4-unsafe: Update.
50584         * modules/utf16-ucs4: Update.
50585         * modules/utf16-ucs4-unsafe: Update.
50586         * modules/ucs4-utf8: Update.
50587         * modules/ucs4-utf16: Update.
50588
50589 2007-03-24  Bruno Haible  <bruno@clisp.org>
50590
50591         * lib/utf8-ucs4.h: Remove file.
50592         * lib/utf8-ucs4-unsafe.h: Remove file.
50593         * lib/utf16-ucs4.h: Remove file.
50594         * lib/utf16-ucs4-unsafe.h: Remove file.
50595         * lib/ucs4-utf8.h: Remove file.
50596         * lib/ucs4-utf16.h: Remove file.
50597         * lib/unistr.h: Include their previous contents.
50598         * m4/utf-ucs4.m4: Remove file.
50599         * m4/ucs4-utf.m4: Remove file.
50600         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
50601         (Depends-on): Add unistr/base.
50602         (configure.ac): Remove gl_UTF_UCS4.
50603         (Makefile.am): Update.
50604         (Include): Change to unistr.h.
50605         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
50606         (Depends-on): Add unistr/base.
50607         (configure.ac): Remove gl_UTF_UCS4.
50608         (Makefile.am): Update.
50609         (Include): Change to unistr.h.
50610         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
50611         (Depends-on): Add unistr/base.
50612         (configure.ac): Remove gl_UTF_UCS4.
50613         (Makefile.am): Update.
50614         (Include): Change to unistr.h.
50615         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
50616         (Depends-on): Add unistr/base.
50617         (configure.ac): Remove gl_UTF_UCS4.
50618         (Makefile.am): Update.
50619         (Include): Change to unistr.h.
50620         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
50621         (Depends-on): Add unistr/base.
50622         (configure.ac): Remove gl_UCS4_UTF.
50623         (Makefile.am): Update.
50624         (Include): Change to unistr.h.
50625         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
50626         (Depends-on): Add unistr/base.
50627         (configure.ac): Remove gl_UCS4_UTF.
50628         (Makefile.am): Update.
50629         (Include): Change to unistr.h.
50630         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
50631         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
50632         utf8-ucs4-unsafe.h.
50633         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
50634         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
50635         utf16-ucs4-unsafe.h.
50636         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
50637         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
50638         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
50639         * lib/unistr/u8-strchr.c: Likewise.
50640         * lib/unistr/u8-strrchr.c: Likewise.
50641         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
50642         * lib/unistr/u16-strchr.c: Likewise.
50643         * lib/unistr/u16-strrchr.c: Likewise.
50644         * lib/striconveh.c: Update.
50645         * lib/linebreak.c: Update.
50646
50647 2007-03-24  Bruno Haible  <bruno@clisp.org>
50648
50649         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
50650         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
50651
50652 2007-03-22  Bruno Haible  <bruno@clisp.org>
50653
50654         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
50655
50656 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
50657
50658         * MODULES.html.sh (File system functions): New module write-any-file.
50659         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
50660         * m4/write-any-file.m4: New files.
50661
50662 2007-03-23  Eric Blake  <ebb9@byu.net>
50663
50664         * gnulib-tool: Rearrange space-tab sequences, since some editors
50665         like to eat them.
50666
50667 2007-03-23  Eric Blake  <ebb9@byu.net>
50668
50669         * lib/version-etc.c (version_etc_va): Update license wording to
50670         be more concise.  Recommended by Richard Stallman.
50671
50672 2007-03-22  Bruno Haible  <bruno@clisp.org>
50673
50674         * lib/poll.c (MSG_PEEK): New fallback definition.
50675
50676 2007-03-22  Bruno Haible  <bruno@clisp.org>
50677
50678         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
50679         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
50680         (main): Update.
50681         Fixes a compilation error on BeOS.
50682
50683 2007-03-22  Bruno Haible  <bruno@clisp.org>
50684
50685         * modules/frexpl-tests: New file.
50686         * tests/test-frexpl.c: New file.
50687
50688         * modules/frexpl: New file.
50689         * m4/frexpl.m4: New file.
50690         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
50691         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
50692         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
50693         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
50694         (Depends-on): Add frexpl. Remove isnanl-nolibm.
50695         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
50696
50697 2007-03-22  Bruno Haible  <bruno@clisp.org>
50698
50699         * lib/frexpl.c: Share code with lib/frexp.c.
50700         * modules/mathl (Files): Add lib/frexp.c.
50701         (Depends-on): Add isnanl-nolibm.
50702
50703 2007-03-22  Bruno Haible  <bruno@clisp.org>
50704
50705         * modules/printf-frexp (Files): Add m4/frexp.m4.
50706         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
50707         only if the found frexp function actually works.
50708
50709 2007-03-22  Bruno Haible  <bruno@clisp.org>
50710
50711         * lib/frexp.c: Remove older implementation that uses divisions.
50712
50713 2007-03-21  Bruno Haible  <bruno@clisp.org>
50714
50715         * modules/frexp-tests: New file.
50716         * tests/test-frexp.c: New file.
50717
50718         * modules/frexp: New file.
50719         * lib/frexp.c: New file.
50720         * m4/frexp.m4: New file.
50721         * lib/math_.h (frexp): New declaration.
50722         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
50723         REPLACE_FREXP.
50724         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
50725
50726 2007-03-21  Bruno Haible  <bruno@clisp.org>
50727
50728         * modules/isnanl-tests: New file.
50729         * tests/test-isnanl.c: New file.
50730
50731         * modules/isnanl: New file.
50732         * lib/isnanl.h: New file.
50733         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
50734         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
50735         gl_FUNC_ISNANL_WORKS.
50736         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
50737         New macros.
50738
50739 2007-03-21  Bruno Haible  <bruno@clisp.org>
50740
50741         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
50742         lib/isnanl.h.
50743         (Include): Update.
50744         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
50745         * lib/vasnprintf.c: Update.
50746         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
50747         tests/test-isnanl.h, remove tests/test-isnanl.c.
50748         (Makefile.am): Update.
50749         * tests/test-isnanl-nolibm.c: New file.
50750         * tests/test-isnanl.h: New file.
50751         * tests/test-isnanl.c: Remove file.
50752
50753 2007-03-21  Jim Meyering  <jim@meyering.net>
50754
50755         When trying to open ".", treat ESTALE like EACCES.
50756         * lib/savewd.c (savewd_save): Resort to forking not just upon
50757         failure with EACCES, but also when errno is ESTALE.
50758
50759 2007-03-20  Bruno Haible  <bruno@clisp.org>
50760
50761         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
50762         Needed on AIX 5.1. Reported by Matthew Woehlke.
50763
50764 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
50765
50766         Suggestions by Bruno Haible:
50767         * lib/acl-internal.h: Include "gettext.h" rather than rolling
50768         our own.
50769         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
50770         * modules/acl (Depends-on): Add gettext.
50771
50772 2007-03-19  Bruno Haible  <bruno@clisp.org>
50773
50774         * modules/iconvme: Remove file.
50775         * lib/iconvme.h: Remove file.
50776         * lib/iconvme.c: Remove file.
50777         * m4/iconvme.m4: Remove file.
50778
50779 2007-03-19  Bruno Haible  <bruno@clisp.org>
50780
50781         * doc/relocatable-maint.texi: Break long shell script line.
50782         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
50783
50784 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
50785
50786         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
50787         handle file_has_acl.
50788         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
50789         * lib/acl.c: Move header inclusions and related macro defns into
50790         lib/acl-internal.h.
50791         (S_ISLNK): Remove defn, since that's now done for us.
50792         (file_has_acl): Move to lib/file-has-acl.c.
50793         Call acl_trivial if available.  This is the crucial part of the fix.
50794         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
50795         shared within the library.  Rewrite a bit, partly to make it compatible
50796         with the GNU coding style.
50797         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
50798         Remove unnecessary double-quotes.
50799         Don't test for acl_to_text; the build will catch that.
50800         Replace acl_entries if it doesn't exist and it is needed.
50801         Check for -lsec and acl_trivial (as used on Solaris 10).
50802         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
50803         lib/file-has-acl.c.
50804         (Depends-on): Add sys_stat, for S_ISLNK.
50805
50806 2007-03-19  Ben Pfaff  <blp@gnu.org>
50807
50808         * doc/gnulib.texi: Fix typos.
50809         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
50810
50811 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
50812
50813         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
50814         If size is zero here, buf must be zero.
50815
50816 2007-03-19  Simon Josefsson  <simon@josefsson.org>
50817
50818         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
50819         <bruno@clisp.org>.
50820
50821 2007-03-18  Bruno Haible  <bruno@clisp.org>
50822
50823         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
50824         Suggested by Eric Blake.
50825
50826 2007-03-18  Ben Pfaff  <blp@gnu.org>
50827
50828         * doc/relocatable.texi: Recommend using as prefix a directory
50829         that does not exist and will never be created.  Based on
50830         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
50831         and others.
50832
50833 2007-03-17  Bruno Haible  <bruno@clisp.org>
50834
50835         * lib/fchownat.c: Include lchown.h.
50836
50837 2007-03-17  Bruno Haible  <bruno@clisp.org>
50838
50839         Fix endless loop when the given allocated size was > INT_MAX.
50840         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
50841         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
50842         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
50843         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
50844         * lib/sprintf.c (sprintf): Likewise.
50845
50846 2007-03-17  Bruno Haible  <bruno@clisp.org>
50847
50848         * tests/test-argp-2.sh (func_compare): Output a context diff.
50849
50850 2007-03-17  Bruno Haible  <bruno@clisp.org>
50851
50852         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
50853         locale's decimal-point character.
50854
50855 2007-03-17  Bruno Haible  <bruno@clisp.org>
50856
50857         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
50858         before comparing it. Needed because on some platforms (e.g. x86) a
50859         'long double' occupies less bytes than sizeof (long double).
50860
50861 2007-03-17  Bruno Haible  <bruno@clisp.org>
50862
50863         * tests/test-crc.c (main): Make printf statements 64-bit clean.
50864         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
50865         * tests/test-getaddrinfo.c (simple): Likewise.
50866         * tests/test-read-file.c (main): Likewise.
50867
50868 2007-03-17  Bruno Haible  <bruno@clisp.org>
50869
50870         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
50871
50872 2007-03-17  Bruno Haible  <bruno@clisp.org>
50873
50874         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
50875         unused variable.
50876
50877 2007-03-17  Bruno Haible  <bruno@clisp.org>
50878
50879         * tests/test-c-strcasecmp.c: Include c-strcase.h.
50880         * tests/test-c-strncasecmp.c: Likewise.
50881
50882 2007-03-17  Bruno Haible  <bruno@clisp.org>
50883
50884         * modules/stdlib (Depends-on): Add unistd.
50885         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
50886         Needed for MacOS X 10.3.
50887
50888 2007-03-17  Bruno Haible  <bruno@clisp.org>
50889
50890         * lib/unistr/u-strdup.h: Include <stdlib.h>.
50891
50892 2007-03-17  Bruno Haible  <bruno@clisp.org>
50893
50894         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
50895
50896 2007-03-17  Bruno Haible  <bruno@clisp.org>
50897
50898         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
50899         to reflect files copied from gnulib (with or without modifications).
50900         Suggested by Jim Meyering.
50901
50902 2007-03-17  Eric Blake  <ebb9@byu.net>
50903
50904         * NEWS: Document stdlib change from 2007-02-18.
50905
50906 2007-03-17  Jim Meyering  <jim@meyering.net>
50907
50908         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
50909         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
50910         someone uses a name containing shell meta-characters.
50911         Reported by Alfred M. Szmidt.
50912
50913         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
50914
50915 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
50916
50917         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
50918         and copy gettext configuration files only if configure.ac contains
50919         a use of AM_GNU_GETTEXT_VERSION.
50920
50921 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
50922
50923         * build-aux/bootstrap (gnulib_name): New variable.
50924         (gnulib_tool_options): Use it.
50925
50926 2007-03-13  Simon Josefsson  <simon@josefsson.org>
50927
50928         * tests/test-des.c: Use new namespace.
50929
50930 2007-03-15  Bruno Haible  <bruno@clisp.org>
50931
50932         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
50933         Reported by James Youngman <jay@gnu.org>.
50934
50935 2007-03-15  Bruno Haible  <bruno@clisp.org>
50936
50937         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
50938         declared prototype. Needed with cc on OSF/1 5.1.
50939
50940 2007-03-15  Bruno Haible  <bruno@clisp.org>
50941
50942         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
50943         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
50944         (struct gl_list_implementation): Add dispose_fn argument to the
50945         'create_empty', 'create' methods.
50946         (struct gl_list_impl_base): Add field 'dispose_fn'.
50947         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
50948         argument.
50949         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
50950         dispose_fn argument.
50951         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
50952         dispose_fn on the dropped values.
50953         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
50954         dispose_fn argument.
50955         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
50956         dropped values.
50957         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
50958         (gl_tree_remove_node): Call dispose_fn on the dropped value.
50959         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
50960         (gl_tree_remove_node): Call dispose_fn on the dropped value.
50961         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
50962         argument.
50963         (gl_tree_list_free): Call dispose_fn on the dropped values.
50964         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
50965         the dropped values.
50966         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
50967         Add dispose_fn argument.
50968         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
50969         Call dispose_fn on the dropped values.
50970         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
50971         Add dispose_fn argument.
50972         (gl_sublist_create): Initialize the 'dispose_fn' field.
50973         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
50974         * tests/test-array_list.c (main): Update.
50975         * tests/test-carray_list.c (main): Update.
50976         * tests/test-avltree_list.c (main): Update.
50977         * tests/test-rbtree_list.c (main): Update.
50978         * tests/test-avltreehash_list.c (main): Update.
50979         * tests/test-rbtreehash_list.c (main): Update.
50980         * tests/test-linked_list.c (main): Update.
50981         * tests/test-linkedhash_list.c (main): Update.
50982         * tests/test-array_oset.c (main): Update.
50983
50984 2007-03-15  Bruno Haible  <bruno@clisp.org>
50985
50986         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
50987         (gl_oset_create_empty): Add dispose_fn argument.
50988         (struct gl_oset_implementation): Add dispose_fn argument to
50989         'create_empty' method.
50990         (struct gl_oset_impl_base): Add dispose_fn field.
50991         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
50992         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
50993         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
50994         values.
50995         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
50996         (gl_tree_oset_free): Call dispose_fn on the dropped values.
50997         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
50998         dropped value.
50999         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
51000         dropped value.
51001         * tests/test-array_oset.c (main): Update.
51002         * tests/test-avltree_oset.c (main): Update.
51003         * tests/test-rbtree_oset.c (main): Update.
51004         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
51005
51006 2007-03-13  Bruno Haible  <bruno@clisp.org>
51007
51008         * tests/test-stdbool.c (i): Update after last patch.
51009
51010 2007-03-12  Bruno Haible  <bruno@clisp.org>
51011
51012         * lib/quotearg.c: Include <wctype.h> early, before the definition of
51013         the iswprint macro. Needed on Solaris 2.5.1.
51014
51015 2007-03-12  Bruno Haible  <bruno@clisp.org>
51016
51017         * tests/test-printf-frexp.c (main): Declare x as volatile.
51018
51019 2007-03-12  Simon Josefsson  <simon@josefsson.org>
51020
51021         * doc/gnulib.texi (Build robot for gnulib): New section.
51022
51023 2007-03-12  Jim Meyering  <jim@meyering.net>
51024
51025         * build-aux/bootstrap: New file.
51026         * build-aux/bootstrap.conf: New file, from coreutils.
51027
51028 2007-03-11  Bruno Haible  <bruno@clisp.org>
51029
51030         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
51031
51032 2007-03-12  Simon Josefsson  <simon@josefsson.org>
51033
51034         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
51035         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
51036         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
51037
51038 2007-03-11  Bruno Haible  <bruno@clisp.org>
51039
51040         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
51041         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
51042
51043 2007-03-11  Bruno Haible  <bruno@clisp.org>
51044
51045         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
51046         formula. Needed for SunPRO C 5.0.
51047
51048 2007-03-11  Bruno Haible  <bruno@clisp.org>
51049
51050         * modules/long-options (Depends-on): Add getopt.
51051
51052 2007-03-11  Bruno Haible  <bruno@clisp.org>
51053
51054         * modules/modechange (Depends-on): Add stdbool.
51055
51056 2007-03-11  Bruno Haible  <bruno@clisp.org>
51057
51058         * modules/i-ring (Depends-on): Add stdbool.
51059
51060 2007-03-11  Bruno Haible  <bruno@clisp.org>
51061
51062         * modules/gc-des (Depends-on): Add stdbool.
51063
51064 2007-03-11  Bruno Haible  <bruno@clisp.org>
51065
51066         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
51067
51068 2007-03-11  Bruno Haible  <bruno@clisp.org>
51069
51070         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
51071
51072 2007-03-11  Bruno Haible  <bruno@clisp.org>
51073
51074         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
51075
51076 2007-03-11  Bruno Haible  <bruno@clisp.org>
51077
51078         * lib/vasnprintf.c (sprintf): Undefine.
51079
51080 2007-03-11  Bruno Haible  <bruno@clisp.org>
51081
51082         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
51083         initializers in SunPRO C and Compaq C compilers.
51084
51085 2007-03-11  Bruno Haible  <bruno@clisp.org>
51086
51087         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
51088         decrementing code ANSI C compliant.
51089
51090 2007-03-11  Bruno Haible  <bruno@clisp.org>
51091
51092         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
51093         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
51094
51095 2007-03-11  Bruno Haible  <bruno@clisp.org>
51096
51097         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
51098         <stdbool.h> substitute doesn't pass.
51099
51100 2007-03-11  Bruno Haible  <bruno@clisp.org>
51101
51102         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
51103
51104 2007-03-11  Bruno Haible  <bruno@clisp.org>
51105
51106         * gnulib-tool (func_create_megatestdir): Create also an autobuild
51107         script, for submission to autobuild.josefsson.org.
51108
51109 2007-03-10  Bruno Haible  <bruno@clisp.org>
51110
51111         * modules/canonicalize-lgpl-tests: New file.
51112         * tests/test-canonicalize-lgpl.sh: New file.
51113         * tests/test-canonicalize-lgpl.c: New file.
51114
51115         * modules/c-strcase-tests: New file.
51116         * tests/test-c-strcase.sh: New file.
51117         * tests/test-c-strcasecmp.c: New file.
51118         * tests/test-c-strncasecmp.c: New file.
51119
51120         * modules/atexit-tests: New file.
51121         * tests/test-atexit.sh: New file.
51122         * tests/test-atexit.c: New file.
51123
51124 2007-03-10  Bruno Haible  <bruno@clisp.org>
51125
51126         * tests/test-binary-io.sh: Use temporary filenames that are not so
51127         likely to clash with those of other tests (in a parallel make).
51128         * tests/test-binary-io.c: Likewise.
51129
51130 2007-03-10  Bruno Haible  <bruno@clisp.org>
51131
51132         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
51133         fallback; use #error instead.
51134         Suggested by Simon Josefsson.
51135
51136 2007-03-10  Bruno Haible  <bruno@clisp.org>
51137
51138         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
51139         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
51140         first and the last.
51141
51142 2007-03-10  Bruno Haible  <bruno@clisp.org>
51143
51144         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
51145
51146 2007-03-10  Bruno Haible  <bruno@clisp.org>
51147
51148         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
51149         "make distcheck".
51150         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
51151         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
51152         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
51153
51154 2007-03-10  Bruno Haible  <bruno@clisp.org>
51155
51156         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
51157         variable.
51158         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
51159         variable.
51160
51161 2007-03-09  Eric Blake  <ebb9@byu.net>
51162         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
51163
51164         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
51165         types are not being provided by gnulib.
51166         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
51167         types are supported.
51168
51169 2007-03-10  Bruno Haible  <bruno@clisp.org>
51170
51171         * lib/stdio_.h (__attribute__): New macro.
51172         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
51173         vsprintf): Specify __attribute__ __format__ for GCC.
51174         Suggested by Eric Blake.
51175
51176 2007-03-09  Bruno Haible  <bruno@clisp.org>
51177
51178         * modules/printf-posix-tests: New file.
51179         * tests/test-printf-posix.sh: New file.
51180         * tests/test-printf-posix.c: New file.
51181
51182         * modules/printf-posix: New file.
51183         * lib/printf.c: New file.
51184         * m4/printf-posix-rpl.m4: New file.
51185         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
51186         REPLACE_PRINTF.
51187         * lib/stdio_.h (printf): New declaration.
51188         (format, __format__, ____printf____, ____scanf____, ____strftime____,
51189         ____strfmon____): New macros.
51190         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
51191         REPLACE_PRINTF.
51192
51193 2007-03-09  Bruno Haible  <bruno@clisp.org>
51194
51195         * tests/test-vasnprintf-posix2.sh: New file.
51196         * tests/test-vasnprintf-posix2.c: New file.
51197         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
51198         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
51199         (Makefile.am): Activate test-vasnprintf-posix2.sh.
51200
51201         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
51202         a locale dependent decimal point, rather than always '.'.
51203
51204 2007-03-09  Eric Blake  <ebb9@byu.net>
51205
51206         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
51207         spite of platforms like Tandem/NSK that define it to -1.
51208
51209 2007-03-08  Bruno Haible  <bruno@clisp.org>
51210
51211         * modules/vprintf-posix-tests: New file.
51212         * tests/test-vprintf-posix.sh: New file.
51213         * tests/test-vprintf-posix.c: New file.
51214         * tests/test-printf-posix.h: New file.
51215
51216         * modules/vprintf-posix: New file.
51217         * lib/vprintf.c: New file.
51218         * m4/vprintf-posix.m4: New file.
51219         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
51220         REPLACE_VPRINTF.
51221         * lib/stdio_.h (vprintf): New declaration.
51222         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
51223         REPLACE_VPRINTF.
51224
51225 2007-03-08  Bruno Haible  <bruno@clisp.org>
51226
51227         * modules/fprintf-posix-tests: New file.
51228         * tests/test-fprintf-posix.sh: New file.
51229         * tests/test-fprintf-posix.c: New file.
51230
51231         * modules/fprintf-posix: New file.
51232         * lib/fprintf.c: New file.
51233         * m4/fprintf-posix.m4: New file.
51234         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
51235         REPLACE_FPRINTF.
51236         * lib/stdio_.h (fprintf): New declaration.
51237         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
51238         REPLACE_FPRINTF.
51239
51240 2007-03-08  Bruno Haible  <bruno@clisp.org>
51241
51242         * modules/vfprintf-posix-tests: New file.
51243         * tests/test-vfprintf-posix.sh: New file.
51244         * tests/test-vfprintf-posix.c: New file.
51245         * tests/test-fprintf-posix.h: New file.
51246         * tests/test-fprintf-posix.out: New file.
51247
51248         * modules/vfprintf-posix: New file.
51249         * lib/vfprintf.c: New file.
51250         * m4/vfprintf-posix.m4: New file.
51251         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
51252         REPLACE_VFPRINTF.
51253         * lib/stdio_.h (vfprintf): New declaration.
51254         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
51255         REPLACE_VFPRINTF.
51256
51257 2007-03-08  Bruno Haible  <bruno@clisp.org>
51258
51259         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
51260
51261 2007-03-08  Bruno Haible  <bruno@clisp.org>
51262
51263         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
51264         instead of 'expr' invocations.
51265         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
51266         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
51267         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
51268         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
51269         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
51270         Suggested by Paul Eggert.
51271
51272 2007-03-08  Bruno Haible  <bruno@clisp.org>
51273
51274         * modules/fseterr-tests: New file.
51275         * tests/test-fseterr.c: New file.
51276
51277         * modules/fseterr: New file.
51278         * lib/fseterr.h: New file.
51279         * lib/fseterr.c: New file.
51280
51281 2007-03-08  Bruno Haible  <bruno@clisp.org>
51282
51283         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
51284         * lib/getopt_.h: Likewise.
51285         * lib/mbswidth.h: Likewise.
51286         * lib/setenv.h: Likewise.
51287         * lib/vasnprintf.h: Likewise.
51288         * lib/vasprintf.h: Likewise.
51289         * lib/verror.h: Likewise.
51290         * lib/xsetenv.h: Likewise.
51291         * lib/xvasprintf.h: Likewise.
51292
51293 2007-03-08  Jim Meyering  <jim@meyering.net>
51294
51295         * users.txt: Add parted.
51296
51297         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
51298
51299 2007-03-07  Bruno Haible  <bruno@clisp.org>
51300
51301         * m4/printf.m4: Make the shell script snippets copy&pastable.
51302
51303 2007-03-02  Bruno Haible  <bruno@clisp.org>
51304
51305         * lib/netinet_in_.h: New file.
51306         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
51307         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
51308         * modules/netinet_in (Files): Add lib/netinet_in_.h.
51309         (Depends-on): Add absolute-header.
51310         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
51311         into netinet/in.h.
51312
51313 2007-03-03  Bruno Haible  <bruno@clisp.org>
51314
51315         * lib/sys_select_.h: New file.
51316         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
51317         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
51318         * modules/sys_select (Files): Add lib/sys_select_.h.
51319         (Depends-on): Add absolute-header.
51320         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
51321         into sys/select.h.
51322
51323 2007-03-02  Bruno Haible  <bruno@clisp.org>
51324
51325         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
51326         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
51327         values.
51328         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
51329         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
51330         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
51331         * modules/sys_socket (Depends-on): Add absolute-header.
51332         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
51333         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
51334         (Include): Remove requirement of inclusion of <sys/types.h>.
51335
51336 2007-03-02  Bruno Haible  <bruno@clisp.org>
51337
51338         * lib/byteswap_.h (bswap_32): Fix formula.
51339
51340 2007-03-06  Bruno Haible  <bruno@clisp.org>
51341
51342         * modules/sprintf-posix-tests: New file.
51343         * tests/test-sprintf-posix.c: New file.
51344
51345         * modules/sprintf-posix: New file.
51346         * lib/sprintf.c: New file.
51347         * m4/sprintf-posix.m4: New file.
51348         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
51349         REPLACE_SPRINTF.
51350         * lib/stdio_.h (sprintf): New declaration.
51351         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
51352         REPLACE_SPRINTF.
51353
51354 2007-03-06  Bruno Haible  <bruno@clisp.org>
51355
51356         * modules/vsprintf-posix-tests: New file.
51357         * tests/test-vsprintf-posix.c: New file.
51358         * tests/test-sprintf-posix.h: New file.
51359
51360         * modules/vsprintf-posix: New file.
51361         * lib/vsprintf.c: New file.
51362         * m4/vsprintf-posix.m4: New file.
51363         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
51364         REPLACE_VSPRINTF.
51365         * lib/stdio_.h (vsprintf): New declaration.
51366         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
51367         REPLACE_VSPRINTF.
51368
51369 2007-03-06  Bruno Haible  <bruno@clisp.org>
51370
51371         * modules/vsnprintf (Depend-on): Remove minmax.
51372
51373 2007-03-06  Bruno Haible  <bruno@clisp.org>
51374
51375         * modules/snprintf-posix-tests: New file.
51376         * tests/test-snprintf-posix.c: New file.
51377
51378         * modules/snprintf-posix: New file.
51379         * m4/snprintf-posix.m4: New file.
51380         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
51381         gl_FUNC_SNPRINTF.
51382         (gl_FUNC_SNPRINTF): Invoke it.
51383         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
51384         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
51385         is set.
51386         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
51387
51388 2007-03-06  Bruno Haible  <bruno@clisp.org>
51389
51390         * modules/vsnprintf-posix-tests: New file.
51391         * tests/test-vsnprintf-posix.c: New file.
51392         * tests/test-snprintf-posix.h: New file.
51393
51394         * modules/vsnprintf-posix: New file.
51395         * m4/vsnprintf-posix.m4: New file.
51396         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
51397         gl_FUNC_VSNPRINTF.
51398         (gl_FUNC_VSNPRINTF): Invoke it.
51399         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
51400         * lib/stdio_.h (vsnprintf): Define as a replacement if
51401         REPLACE_VSNPRINTF is set.
51402         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
51403
51404 2007-03-06  Bruno Haible  <bruno@clisp.org>
51405
51406         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
51407         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
51408
51409 2007-03-06  Bruno Haible  <bruno@clisp.org>
51410
51411         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
51412         (asinl): Declare also if HAVE_DECL_ASINL is set.
51413         (atanl): Declare also if HAVE_DECL_ATANL is set.
51414         (ceill): Declare also if HAVE_DECL_CEILL is set.
51415         (cosl): Declare also if HAVE_DECL_COSL is set.
51416         (expl): Declare also if HAVE_DECL_EXPL is set.
51417         (floorl): Declare also if HAVE_DECL_FLOORL is set.
51418         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
51419         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
51420         (logl): Declare also if HAVE_DECL_LOGL is set.
51421         (sinl): Declare also if HAVE_DECL_SINL is set.
51422         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
51423         (tanl): Declare also if HAVE_DECL_TANL is set.
51424         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
51425         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
51426         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
51427         declaration of frexpl, ldexpl.
51428         * modules/printf-frexpl (Depends-on): Add math.
51429         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
51430
51431 2007-03-05  Bruno Haible  <bruno@clisp.org>
51432
51433         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
51434         frexpl and ldexpl are declared.
51435         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
51436
51437 2007-03-05  Bruno Haible  <bruno@clisp.org>
51438
51439         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
51440         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
51441
51442 2007-03-05  Bruno Haible  <bruno@clisp.org>
51443
51444         * lib/stdio_.h: Include <stddef.h>.
51445
51446 2007-03-05  Bruno Haible  <bruno@clisp.org>
51447
51448         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
51449
51450 2007-03-05  Bruno Haible  <bruno@clisp.org>
51451
51452         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
51453         NetBSD 4, from Ralf Wildenhues.
51454
51455 2007-03-04  Bruno Haible  <bruno@clisp.org>
51456
51457         * lib/vasprintf.h: Update #if logic for the case when the functions
51458         exist but are overridden.
51459
51460 2007-03-04  Bruno Haible  <bruno@clisp.org>
51461
51462         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
51463         implementations: glibc-2.4 and MacOS X 10.3.
51464         * tests/test-vasnprintf-posix.c (test_function): Test also the case
51465         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
51466         * tests/test-vasprintf-posix.c (test_function): Likewise.
51467
51468 2007-03-04  Bruno Haible  <bruno@clisp.org>
51469
51470         * modules/vasprintf-posix-tests: New file.
51471         * tests/test-vasprintf-posix.c: New file.
51472
51473         * modules/vasprintf-posix: New file.
51474         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
51475         defined.
51476         * m4/vasprintf-posix.m4: New file.
51477         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
51478         gl_FUNC_VASPRINTF.
51479         (gl_FUNC_VASPRINTF): Invoke it.
51480         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
51481         here.
51482         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
51483
51484 2007-03-04  Bruno Haible  <bruno@clisp.org>
51485
51486         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
51487         REPLACE_GETTIMEOFDAY.
51488         * modules/sys_time (Makefile.am): Likewise.
51489         * m4/sys_time_h.m4: Likewise.
51490         * m4/gettimeofday.m4: Likewise.
51491
51492 2007-03-04  Bruno Haible  <bruno@clisp.org>
51493
51494         * modules/vasnprintf-posix-tests: New file.
51495         * tests/test-vasnprintf-posix.c: New file.
51496
51497         * modules/vasnprintf-posix: New file.
51498         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
51499         printf-frexpl.h.
51500         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
51501         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
51502         REPLACE_VASNPRINTF is defined.
51503         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
51504         gl_FUNC_VASNPRINTF.
51505         (gl_FUNC_VASNPRINTF): Invoke it.
51506         * m4/vasnprintf-posix.m4: New file.
51507         * m4/printf.m4: New file.
51508
51509 2007-03-04  Bruno Haible  <bruno@clisp.org>
51510
51511         Compile progreloc.c only if --enable-relocatable is specified.
51512         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
51513         if --enable-relocatable was specified.
51514         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
51515         lib_SOURCES.
51516
51517 2007-03-04  Jim Meyering  <jim@meyering.net>
51518
51519         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
51520         Use it consistently, rather than enumerating errno constants.
51521
51522 2007-03-04  Bruno Haible  <bruno@clisp.org>
51523
51524         * modules/xvasprintf-tests: New file.
51525         * tests/test-xvasprintf.c: New file.
51526
51527         * modules/vasprintf-tests: New file.
51528         * tests/test-vasprintf.c: New file.
51529
51530         * modules/vasnprintf-tests: New file.
51531         * tests/test-vasnprintf.c: New file.
51532
51533         * modules/vsnprintf-tests: New file.
51534         * tests/test-vsnprintf.c: New file.
51535
51536         * modules/snprintf-tests: New file.
51537         * tests/test-snprintf.c: New file.
51538
51539 2007-03-04  Bruno Haible  <bruno@clisp.org>
51540
51541         Compile relocatable.c only if --enable-relocatable is specified.
51542         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
51543         gl_RELOCATABLE_LIBRARY.
51544         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
51545         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
51546         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
51547         gl_RELOCATABLE_LIBRARY.
51548         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
51549         (Makefile.am): Remove lib_SOURCES.
51550         * modules/relocatable-lib-lgpl (configure.ac): Invoke
51551         gl_RELOCATABLE_LIBRARY.
51552         (Makefile.am): Remove lib_SOURCES.
51553         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
51554         always.
51555         * modules/relocatable-prog-wrapper (configure.ac): Invoke
51556         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
51557
51558 2007-03-04  Bruno Haible  <bruno@clisp.org>
51559
51560         * modules/argmatch-tests: New file.
51561         * tests/test-argmatch.c: New file.
51562
51563         * tests/test-allocsa.c (main): Halve the number of loop runs.
51564
51565         * modules/alloca-opt-tests: New file.
51566         * tests/test-alloca-opt.c: New file.
51567
51568 2007-03-04  Jim Meyering  <jim@meyering.net>
51569
51570         Work around difference between Linux ACLs and Solaris 10 ZFS.
51571         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
51572         for EINVAL.
51573
51574 2007-03-03  Bruno Haible  <bruno@clisp.org>
51575
51576         * modules/relocatable-prog (Depends-on): Add back progreloc's
51577         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
51578
51579 2007-03-03  Bruno Haible  <bruno@clisp.org>
51580
51581         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
51582         * modules/relocatable-lib: New file.
51583
51584 2007-03-03  Bruno Haible  <bruno@clisp.org>
51585
51586         * modules/relocatable-prog: Renamed from modules/relocatable.
51587         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
51588
51589 2007-03-03  Bruno Haible  <bruno@clisp.org>
51590
51591         * modules/relocatable-script (Files): Add doc/relocatable.texi,
51592         m4/relocatable-lib.m4.
51593         (Depends-on): Remove 'relocatable'.
51594         (configure.ac): Add gl_RELOCATABLE_NOP.
51595
51596 2007-03-03  Bruno Haible  <bruno@clisp.org>
51597
51598         * modules/relocatable-prog-wrapper: New file.
51599         * modules/relocatable (Depends-on): Add it. Remove all other
51600         dependencies except progname.
51601         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
51602
51603         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
51604         (gl_FUNC_STRERROR): Nop.
51605         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
51606
51607         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
51608         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
51609
51610         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
51611         (gl_FUNC_READLINK): Update.
51612
51613         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
51614
51615 2007-03-03  Bruno Haible  <bruno@clisp.org>
51616
51617         * lib/xreadlink.c: Include <unistd.h> unconditionally.
51618         * modules/xreadlink (Depends-on): Add unistd.
51619         * modules/xreadlink-with-size (Depends-on): Likewise.
51620
51621 2007-03-03  Bruno Haible  <bruno@clisp.org>
51622
51623         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
51624         extracted from gt_FUNC_SETENV.
51625         (gt_FUNC_SETENV): Remove macro.
51626         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
51627         remove gt_FUNC_SETENV.
51628
51629 2007-03-03  Bruno Haible  <bruno@clisp.org>
51630
51631         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
51632         ENABLE_RELOCATABLE here.
51633         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
51634
51635 2007-03-03  Bruno Haible  <bruno@clisp.org>
51636
51637         * modules/rbtreehash-list-tests (Depends-on): Add progname.
51638         * tests/test-rbtreehash_list.c: Include progname.h.
51639         (main): Call set_program_name.
51640
51641         * modules/rbtree-oset-tests (Depends-on): Add progname.
51642         * tests/test-rbtree_oset.c: Include progname.h.
51643         (main): Call set_program_name.
51644
51645         * modules/rbtree-list-tests (Depends-on): Add progname.
51646         * tests/test-rbtree_list.c: Include progname.h.
51647         (main): Call set_program_name.
51648
51649         * modules/linked-list-tests (Depends-on): Add progname.
51650         * tests/test-linked_list.c: Include progname.h.
51651         (main): Call set_program_name.
51652
51653 2007-03-03  Bruno Haible  <bruno@clisp.org>
51654
51655         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
51656         All uses of __restrict changed to _Restrict_.
51657         * lib/glob_.h (__restrict): Remove macro.
51658
51659 2007-03-02  Bruno Haible  <bruno@clisp.org>
51660
51661         * modules/gettext (configure.ac): Require gettext infrastructure
51662         from version 0.16.1.
51663
51664 2007-03-02  Bruno Haible  <bruno@clisp.org>
51665
51666         * modules/linkedhash-list-tests (Depends-on): Add progname.
51667         * tests/test-linkedhash_list.c: Include progname.h.
51668         (main): Call set_program_name.
51669
51670         * modules/carray-list-tests (Depends-on): Add progname.
51671         * tests/test-carray_list.c: Include progname.h.
51672         (main): Call set_program_name.
51673
51674         * modules/avltreehash-list-tests (Depends-on): Add progname.
51675         * tests/test-avltreehash_list.c: Include progname.h.
51676         (main): Call set_program_name.
51677
51678         * modules/avltree-oset-tests (Depends-on): Add progname.
51679         * tests/test-avltree_oset.c: Include progname.h.
51680         (main): Call set_program_name.
51681
51682         * modules/avltree-list-tests (Depends-on): Add progname.
51683         * tests/test-avltree_list.c: Include progname.h.
51684         (main): Call set_program_name.
51685
51686         * modules/array-oset-tests (Depends-on): Add progname.
51687         * tests/test-array_oset.c: Include progname.h.
51688         (main): Call set_program_name.
51689
51690         * modules/array-list-tests (Depends-on): Add progname.
51691         * tests/test-array_list.c: Include progname.h.
51692         (main): Call set_program_name.
51693
51694         * modules/argp-tests (Depends-on): Add progname.
51695         * tests/test-argp.c: Include argp.h first. Include progname.h.
51696         (main): Call set_program_name.
51697
51698 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
51699
51700         * doc/gnulib-tool.texi (Initial import): Reword description of
51701         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
51702         limited effect even if defined after the first system include.
51703
51704 2007-03-01  Bruno Haible  <bruno@clisp.org>
51705
51706         * build-aux/config.libpath: Update to libtool-1.5.22.
51707         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
51708
51709 2007-03-01  Bruno Haible  <bruno@clisp.org>
51710
51711         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
51712         foo_CFLAGS.
51713         Reported by Ralf Wildenhues.
51714
51715 2007-03-01  Bruno Haible  <bruno@clisp.org>
51716
51717         * build-aux/install-reloc: Remove object files left over by some
51718         compilers.
51719         Reported by Ralf Wildenhues.
51720
51721 2007-03-01  Bruno Haible  <bruno@clisp.org>
51722
51723         * build-aux/install-reloc: Break long lines.
51724
51725 2007-03-01  Bruno Haible  <bruno@clisp.org>
51726
51727         * doc/relocatable.texi: Document that it may not work on OpenBSD.
51728         Reported by Ralf Wildenhues.
51729
51730 2007-03-01  Bruno Haible  <bruno@clisp.org>
51731
51732         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
51733         include ordering constraints.
51734
51735 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
51736
51737         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
51738         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
51739         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
51740         as another example.
51741         * lib/time_.h: Fix misspelling.
51742         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
51743         Require gl_HEADER_TIME_H_DEFAULTS.
51744         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
51745         * m4/time_r.m4 (gl_TIME_R): Likewise.
51746         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
51747
51748 2007-03-01  Bruno Haible  <bruno@clisp.org>
51749
51750         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
51751         * m4/utimens.m4 (gl_UTIMENS): Likewise.
51752
51753 2007-03-01  Jim Meyering  <jim@meyering.net>
51754
51755         * modules/xreadlink (Maintainer): Add my name.
51756         * modules/xreadlink-with-size (Depends-on): Alphabetize.
51757
51758 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
51759             Bruno Haible  <bruno@clisp.org>
51760
51761         * build-aux/install-reloc: Compile also c-ctype.c.
51762         * build-aux/relocatable.sh.in: New file.
51763         * doc/relocatable.texi: New file.
51764         * doc/relocatable-maint.texi: New file.
51765         * doc/gnulib.texi: Include relocatable-maint.texi.
51766         * lib/progreloc.c: Include unistd.h unconditionally.
51767         * lib/relocwrapper.c: Include unistd.h unconditionally.
51768         Include c-ctype.h.
51769         (add_dotbin): Use c_tolower.
51770         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
51771         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
51772         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
51773         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
51774         to m4/relocatable-lib.m4.
51775         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
51776         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
51777         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
51778         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
51779         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
51780         * modules/relocatable: New file.
51781         * modules/relocatable-lib: New file.
51782         * modules/relocatable-script: New file.
51783
51784 2007-02-28  Bruno Haible  <bruno@clisp.org>
51785
51786         Import --enable-relocatable infrastructure.
51787         * build-aux/config.libpath: New file, from GNU gettext.
51788         * build-aux/install-reloc: New file, from GNU gettext.
51789         * build-aux/reloc-ldflags: New file, from GNU gettext.
51790         * lib/relocatable.h: New file, from GNU gettext.
51791         * lib/relocatable.c: New file, from GNU gettext.
51792         * lib/relocwrapper.c: New file, from GNU gettext.
51793         * m4/relocatable.m4: New file, from GNU gettext.
51794
51795 2007-02-28  Bruno Haible  <bruno@clisp.org>
51796
51797         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
51798
51799         * modules/xreadlink: New file, from GNU gettext with modifications.
51800         * lib/xreadlink.c: New file, from GNU gettext.
51801         * lib/xreadlink.h: Add comments.
51802         (xreadlink): New declaration.
51803
51804         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
51805         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
51806         lib/xreadlink-with-size.c.
51807         (configure.ac): Remove gl_XREADLINK invocation.
51808         (Makefile.am): Augment lib_SOURCES.
51809         * m4/xreadlink.m4: Remove file.
51810         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
51811         (xreadlink_with_size): Renamed from xreadink.
51812         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
51813         * modules/canonicalize (Depends-on): Replace xreadlink with
51814         xreadlink-with-size.
51815         * lib/canonicalize.c (canonicalize_filename_mode): Update.
51816
51817 2007-02-25  Jim Meyering  <jim@meyering.net>
51818
51819         * build-aux/announce-gen: When complaining about excess arguments,
51820         list them.
51821
51822 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
51823
51824         * README: Document signed integer overflow situation more
51825         accurately.
51826
51827 2007-02-25  Bruno Haible  <bruno@clisp.org>
51828
51829         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
51830         'a' or 'A' conversion.
51831
51832 2007-02-25  Bruno Haible  <bruno@clisp.org>
51833
51834         * modules/filename: Renamed from modules/pathname.
51835         (Files): Replace lib/pathname.h with lib/filename.h. Replace
51836         lib/concatpath.c with lib/concat-filename.c.
51837         (Makefile.am): Update.
51838         (Include): Replace pathname.h with filename.h.
51839         * lib/filename.h: Renamed from lib/pathname.h.
51840         (concatenated_filename): Renamed from concatenated_pathname.
51841         * lib/concat-filename.c: Renamed from lib/concatpath.c.
51842         (concatenated_filename): Renamed from concatenated_pathname.
51843         * lib/findprog.c: Include filename.h instead of pathname.h.
51844         (find_in_path): Update.
51845         * lib/javacomp.c: Include filename.h instead of pathname.h.
51846         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
51847         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
51848         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
51849         is_oldgcj_14_13_usable, is_javac_usable): Update.
51850         * lib/javaexec.c: Include filename.h instead of pathname.h.
51851         (execute_java_class): Update.
51852         * modules/findprog: Update.
51853         * modules/javacomp: Update.
51854         * modules/javaexec: Update.
51855         * MODULES.html.sh (File system functions): Add 'filename', remove
51856         'pathname'.
51857
51858 2007-02-25  Bruno Haible  <bruno@clisp.org>
51859
51860         * modules/printf-frexpl-tests: New file.
51861         * tests/test-printf-frexpl.c: New file.
51862
51863         * modules/printf-frexpl: New file.
51864         * lib/printf-frexpl.h: New file.
51865         * lib/printf-frexpl.c: New file.
51866         * m4/printf-frexpl.m4: New file.
51867
51868 2007-02-25  Bruno Haible  <bruno@clisp.org>
51869
51870         * modules/printf-frexp-tests: New file.
51871         * tests/test-printf-frexp.c: New file.
51872
51873         * modules/printf-frexp: New file.
51874         * lib/printf-frexp.h: New file.
51875         * lib/printf-frexp.c: New file.
51876         * m4/printf-frexp.m4: New file.
51877
51878 2007-02-25  Bruno Haible  <bruno@clisp.org>
51879
51880         Assume automake >= 1.10 for the tests.
51881         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
51882         * modules/arctwo-tests: Likewise.
51883         * modules/argp-tests: Likewise.
51884         * modules/avltree-list-tests: Likewise.
51885         * modules/avltree-oset-tests: Likewise.
51886         * modules/avltreehash-list-tests: Likewise.
51887         * modules/carray-list-tests: Likewise.
51888         * modules/crc-tests: Likewise.
51889         * modules/des-tests: Likewise.
51890         * modules/gc-arcfour-tests: Likewise.
51891         * modules/gc-arctwo-tests: Likewise.
51892         * modules/gc-des-tests: Likewise.
51893         * modules/gc-hmac-md5-tests: Likewise.
51894         * modules/gc-hmac-sha1-tests: Likewise.
51895         * modules/gc-md2-tests: Likewise.
51896         * modules/gc-md4-tests: Likewise.
51897         * modules/gc-md5-tests: Likewise.
51898         * modules/gc-pbkdf2-sha1-tests: Likewise.
51899         * modules/gc-rijndael-tests: Likewise.
51900         * modules/gc-sha1-tests: Likewise.
51901         * modules/gc-tests: Likewise.
51902         * modules/getaddrinfo-tests: Likewise.
51903         * modules/hmac-md5-tests: Likewise.
51904         * modules/hmac-sha1-tests: Likewise.
51905         * modules/linked-list-tests: Likewise.
51906         * modules/linkedhash-list-tests: Likewise.
51907         * modules/lock-tests: Likewise.
51908         * modules/md2-tests: Likewise.
51909         * modules/md4-tests: Likewise.
51910         * modules/md5-tests: Likewise.
51911         * modules/rbtree-list-tests: Likewise.
51912         * modules/rbtree-oset-tests: Likewise.
51913         * modules/rbtreehash-list-tests: Likewise.
51914         * modules/read-file-tests: Likewise.
51915         * modules/rijndael-tests: Likewise.
51916         * modules/stdint-tests: Likewise.
51917         * modules/tls-tests: Likewise.
51918
51919 2007-02-24  Bruno Haible  <bruno@clisp.org>
51920
51921         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
51922         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
51923         function; instead check whether isnan with a double argument links.
51924         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
51925         function; instead check whether isnan with a 'long double' argument
51926         links.
51927         Reported by Eric Blake <ebb9@byu.net>.
51928
51929 2007-02-24  Bruno Haible  <bruno@clisp.org>
51930
51931         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
51932         defined.
51933         * lib/isnanl.c: Remove all code. Just include isnan.c.
51934         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
51935
51936 2007-02-25  Jim Meyering  <jim@meyering.net>
51937
51938         Avoid conflicting types for 'unsetenv' on FreeBSD.
51939         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
51940         conflicting with FreeBSD's (5.0 and 6.1) function declaration
51941         in stdlib.h.
51942
51943 2007-02-24  Bruno Haible  <bruno@clisp.org>
51944
51945         * modules/isnanl-nolibm-tests: New file.
51946         * tests/test-isnanl.c: New file.
51947
51948         * modules/isnanl-nolibm: New file.
51949         * lib/isnanl.h: New file.
51950         * lib/isnanl.c: New file.
51951         * m4/isnanl.m4: New file.
51952
51953 2007-02-24  Bruno Haible  <bruno@clisp.org>
51954
51955         * modules/isnan-nolibm-tests: New file.
51956         * tests/test-isnan.c: New file.
51957
51958         * modules/isnan-nolibm: New file.
51959         * lib/isnan.h: New file.
51960         * lib/isnan.c: New file.
51961         * m4/isnan.m4: New file.
51962
51963 2007-02-24  Bruno Haible  <bruno@clisp.org>
51964
51965         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
51966         assume that an exponent fits in 20 bits.
51967
51968 2007-02-24  Jim Meyering  <jim@meyering.net>
51969
51970         * m4/regex.m4: Update the description of the configure-time option,
51971         --without-included-regex, to state accurately what the defaults are,
51972         and perhaps to give people an idea why using this option is risky.
51973
51974 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
51975
51976         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
51977         loops on small arguments.  This attempts to avoid the problem
51978         Bruno Haible reported for AIX 4.3.2 in
51979         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
51980
51981 2007-02-23  Bruno Haible  <bruno@clisp.org>
51982
51983         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
51984         Needed for help2man.
51985
51986 2007-02-23  Karl Berry  <karl@gnu.org>
51987
51988         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
51989         exists, foo.h should be cvs-ignored, not committed.
51990
51991 2007-02-23  Eric Blake  <ebb9@byu.net>
51992
51993         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
51994         * lib/stat-time.h (includes): Likewise.
51995         * lib/utimecmp.c (includes): Likewise.
51996         * lib/utimens.h (includes): Likewise.
51997         * lib/getdate.y (includes): Also include "timespec.h" for use
51998         internal to the module.
51999         * modules/utimens (Depends-on): Revert yesterday's patch.
52000         * modules/nanosleep (Depends-on): Add missing dependency.
52001
52002 2007-02-22  Bruno Haible  <bruno@clisp.org>
52003
52004         * lib/glob.c: Don't include getlogin_r.h.
52005
52006 2007-02-22  Jim Meyering  <jim@meyering.net>
52007
52008         * modules/utimens (Depends-on): Add timespec, required for
52009         utimens.h's inclusion of timespec.h.
52010
52011 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
52012
52013         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
52014         long unreadable paths in GNU/Linux.  Problem reported by Andreas
52015         Schwab in
52016         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
52017         I'll try to think of a better way to fix the Solaris problem.
52018
52019         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
52020         like glibc; on Solaris 10, it fails with errno == EINVAL.
52021         POSIX says the behavior is unspecified if the first argument is NULL,
52022         so play it safe and never pass NULL to the system getcwd.
52023
52024 2007-02-21  Jim Meyering  <jim@meyering.net>
52025
52026         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
52027         of gettimeofday.  It would conflict with the one now always
52028         provided via sys_time_.h.  Reported by Matthew Woehlke, as
52029         an IRIX 6.5 build failure.
52030
52031 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
52032
52033         Minor fixups to port to Solaris 10 with Sun C 5.8.
52034         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
52035         * modules/getcwd (Depends-on): Add dirfd.
52036         * lib/putenv.c (putenv): #undef it.
52037         (rpl_putenv): New decl.
52038         (malloc, free): Include <stdlib.h> rather than prototyping separately.
52039
52040 2007-02-20  Bruno Haible  <bruno@clisp.org>
52041
52042         * modules/stdio-tests: New file.
52043         * tests/test-stdio.c: New file.
52044
52045         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
52046         (Depends-on): Add stdio.
52047         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
52048         (Include): Use <stdio.h> instead of vsnprintf.h.
52049         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
52050         HAVE_DECL_VSNPRINTF.
52051         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
52052
52053         * modules/snprintf (Files): Remove lib/snprintf.h.
52054         (Depends-on): Add stdio.
52055         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
52056         (Include): Use <stdio.h> instead of snprintf.h.
52057         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
52058         HAVE_DECL_SNPRINTF.
52059         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
52060         * lib/getaddrinfo.c: Likewise.
52061
52062         * modules/stdio: New file.
52063         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
52064         * lib/snprintf.h: Remove file.
52065         * lib/vsnprintf.h: Remove file.
52066         * lib/.cppi-disable: Remove snprintf.h.
52067         * m4/stdio_h.m4: New file.
52068         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
52069
52070 2007-02-20  Jim Meyering  <jim@meyering.net>
52071
52072         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
52073         used by e.g., mingw.  From Bruno Haible.
52074
52075 2007-02-19  Bruno Haible  <bruno@clisp.org>
52076
52077         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
52078         warnings.
52079         Reported by Ben Pfaff <blp@cs.stanford.edu>.
52080
52081 2007-02-19  Bruno Haible  <bruno@clisp.org>
52082
52083         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
52084         from mingw users.
52085
52086 2007-02-19  Bruno Haible  <bruno@clisp.org>
52087
52088         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
52089         warnings.
52090         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
52091
52092 2007-02-19  Jim Meyering  <jim@meyering.net>
52093
52094         Don't use FD after a successful "fdopendir (fd)".
52095         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
52096         Reset it by calling dirfd on the just-obtained DIR*.
52097
52098         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
52099         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
52100
52101 2007-02-18  Bruno Haible  <bruno@clisp.org>
52102
52103         * lib/readlink.c: Include <unistd.h>.
52104         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
52105         HAVE_READLINK.
52106         * modules/readlink (Depends-on): Add unistd.
52107         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52108         (Include): Add <unistd.h>.
52109
52110         * lib/getlogin_r.h: Remove file.
52111         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
52112         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
52113         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
52114         HAVE_DECL_GETLOGIN_R.
52115         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
52116         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52117         (Include): Use <unistd.h> instead of getlogin_r.h.
52118
52119         * lib/getcwd.h: Remove file.
52120         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
52121         * lib/xgetcwd.c: Likewise.
52122         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
52123         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
52124         * modules/getcwd (Files): Remove lib/getcwd.h.
52125         (Depends-on): Add unistd.
52126         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52127         (Include): Use <unistd.h> instad of getcwd.h.
52128
52129         * lib/ftruncate.c: Include <unistd.h> first.
52130         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
52131         Set HAVE_FTRUNCATE.
52132         * modules/ftruncate (Depends-on): Add unistd.
52133         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52134
52135         * lib/fchdir.c: Include <unistd.h> first.
52136         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
52137         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
52138         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
52139         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52140         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
52141
52142         * lib/dup2.c: Include <unistd.h> first.
52143         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
52144         HAVE_DUP2.
52145         * modules/dup2 (Depends-on): Add unistd.
52146         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52147
52148         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
52149         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
52150         REPLACE_CHOWN. Don't define chown as a macro here.
52151         * modules/chown (Depends-on): Add unistd.
52152         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52153
52154         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
52155         Add definition for GL_LINK_WARNING.
52156         (chown, dup2): New declarations.
52157         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
52158         link warning.
52159         (ftruncate): New declaration.
52160         (getcwd): New declaration, taken from old getcwd.h.
52161         (getlogin_r): New declaration, taken from old getlogin_r.h.
52162         (readlink): New declaration.
52163         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
52164         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
52165         (gl_PREREQ_UNISTD): Remove macro.
52166         (gl_UNISTD_MODULE_INDICATOR): New macro.
52167         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
52168         many new variables. Don't set UNISTD_H.
52169         * modules/unistd (Description): Change.
52170         (Depends-on): Add link-warning.
52171         (configure.ac): Update.
52172         (Makefile.am): Create unistd.h always. Substitute many new variables
52173         into it.
52174
52175 2007-02-18  Bruno Haible  <bruno@clisp.org>
52176
52177         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
52178         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
52179         HAVE_GETSUBOPT.
52180         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
52181         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
52182         * lib/getsubopt.h: Remove file.
52183         * modules/getsubopt (Files): Remove lib/getsubopt.h.
52184         (Depends-on): Add stdlib.
52185         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
52186         (Includes): Use <stdlib.h> instead of getsubopt.h.
52187         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
52188         Set HAVE_GETSUBOPT.
52189         * lib/getsubopt.c: Don't include getsubopt.h.
52190
52191 2007-02-18  Bruno Haible  <bruno@clisp.org>
52192
52193         * modules/fchdir (Depends-on): Add dup2.
52194
52195 2007-02-18  Bruno Haible  <bruno@clisp.org>
52196
52197         * lib/stdlib_.h: Handle glibc's special invocation convention
52198         specially.
52199
52200 2007-02-18  Bruno Haible  <bruno@clisp.org>
52201
52202         * modules/stdlib-tests: New file.
52203         * tests/test-stdlib.c: New file.
52204
52205         * modules/mkstemp (Files): Remove lib/mkstemp.h.
52206         (Depends-on): Add stdlib.
52207         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
52208         (Includes): Use <stdlib.h> instead of mkstemp.h.
52209         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
52210         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
52211         * lib/mkstemp.c: Don't include mkstemp.h.
52212         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
52213         * lib/stdlib--.h: Don't include mkstemp.h.
52214
52215         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
52216         (Depends-on): Add stdlib.
52217         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
52218         (Includes): Use <stdlib.h> instead of mkdtemp.h.
52219         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
52220         HAVE_MKDTEMP.
52221         * lib/mkdtemp.c: Don't include mkdtemp.h.
52222         * lib/clean-temp.c: Don't include mkdtemp.h.
52223
52224         * modules/exit (Files): Remove lib/exit.h.
52225         (Depends-on): Add stdlib.
52226         (Makefile.am): Remove lib_SOURCES.
52227         (Include): Use <stdlib.h> instead of exit.h.
52228         * lib/argmatch.c: Don't include exit.h.
52229         * lib/execute.c: Likewise.
52230         * lib/pagealign_alloc.c: Likewise.
52231         * lib/pipe.c: Likewise.
52232         * lib/wait-process.c: Likewise.
52233         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
52234         * lib/exitfail.c: Likewise.
52235         * lib/savewd.c: Likewise.
52236         * lib/xsetenv.c: Likewise.
52237
52238         * modules/stdlib: New file.
52239         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
52240         and extra comments about mkstemp().
52241         * lib/exit.h: Remove file.
52242         * lib/mkdtemp.h: Remove file.
52243         * lib/mkstemp.h: Remove file.
52244         * m4/stdlib_h.m4: New file.
52245         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
52246
52247 2007-02-18  Bruno Haible  <bruno@clisp.org>
52248
52249         * modules/math-tests: New file.
52250         * tests/test-math.c: New file.
52251
52252         * modules/math: New file.
52253         * modules/mathl (Files): Remove lib/mathl.h.
52254         (Depends-on): Add math.
52255         (Makefile.am): Don't mention mathl.h.
52256         (Include): Use <math.h> instead of mathl.h.
52257         * lib/math_.h: New file.
52258         * lib/mathl.h: Remove file.
52259         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
52260         mathl.h.
52261         * lib/asinl.c: Likewise.
52262         * lib/atanl.c: Likewise.
52263         * lib/ceill.c: Likewise.
52264         * lib/cosl.c: Likewise.
52265         * lib/expl.c: Likewise.
52266         * lib/floorl.c: Likewise.
52267         * lib/frexpl.c: Likewise.
52268         * lib/ldexpl.c: Likewise.
52269         * lib/logl.c: Likewise.
52270         * lib/sincosl.c: Likewise.
52271         * lib/sinl.c: Likewise.
52272         * lib/sqrtl.c: Likewise.
52273         * lib/tanl.c: Likewise.
52274         * lib/trigl.c: Likewise.
52275         * m4/math_h.m4: New file.
52276         * MODULES.html.sh (Mathematics): Add math.
52277
52278 2007-02-17  Bruno Haible  <bruno@clisp.org>
52279
52280         * modules/wctype-tests: New file.
52281         * tests/test-wctype.c: New file.
52282
52283         * modules/wchar-tests: New file.
52284         * tests/test-wchar.c: New file.
52285
52286         * modules/unistd-tests: New file.
52287         * tests/test-unistd.c: New file.
52288
52289         * modules/time-tests: New file.
52290         * tests/test-time.c: New file.
52291
52292         * modules/sysexits-tests: New file.
52293         * tests/test-sysexits.c: New file.
52294
52295         * modules/sys_time-tests: New file.
52296         * tests/test-sys_time.c: New file.
52297
52298         * modules/sys_stat-tests: New file.
52299         * tests/test-sys_stat.c: New file.
52300
52301         * modules/sys_socket-tests: New file.
52302         * tests/test-sys_socket.c: New file.
52303
52304         * modules/sys_select-tests: New file.
52305         * tests/test-sys_select.c: New file.
52306
52307         * modules/string-tests: New file.
52308         * tests/test-string.c: New file.
52309
52310         * modules/stdbool-tests: New file.
52311         * tests/test-stdbool.c: New file.
52312
52313         * modules/netinet_in-tests: New file.
52314         * tests/test-netinet_in.c: New file.
52315
52316         * modules/inttypes-tests: New file.
52317         * tests/test-inttypes.c: New file.
52318
52319         * modules/fcntl-tests: New file.
52320         * tests/test-fcntl.c: New file.
52321
52322         * modules/byteswap-tests: New file.
52323         * tests/test-byteswap.c: New file.
52324
52325         * modules/arpa_inet-tests: New file.
52326         * tests/test-arpa_inet.c: New file.
52327
52328 2007-02-17  Bruno Haible  <bruno@clisp.org>
52329
52330         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
52331         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
52332         if the corresponding module is not enabled. Emit link warnings if
52333         the function is used nevertheless.
52334         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
52335         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
52336         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
52337         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
52338         * modules/inttypes (Depends-on): Add link-warning.
52339         (Makefile.am): Copy the contents of build-aux/link-warning.h into
52340         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
52341         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
52342         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
52343         * modules/imaxdiv (configure.ac): Likewise.
52344         * modules/strtoimax (configure.ac): Likewise.
52345         * modules/strtoumax (configure.ac): Likewise.
52346
52347 2007-02-17  Bruno Haible  <bruno@clisp.org>
52348
52349         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
52350         gl_STRING_MODULE_INDICATOR_DEFAULTS.
52351         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
52352         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
52353
52354 2007-02-17  Bruno Haible  <bruno@clisp.org>
52355
52356         * modules/link-warning: New file.
52357         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
52358         * lib/string_.h (GL_LINK_WARNING): Remove definition.
52359         * modules/string (Depends-on): Add link-warning.
52360         (Makefile.am): Copy the contents of build-aux/link-warning.h into
52361         string.h.
52362         * MODULES.html.sh (Support for building libraries and executables): Add
52363         link-warning.
52364
52365 2007-02-17  Bruno Haible  <bruno@clisp.org>
52366
52367         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
52368         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
52369         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
52370         long lines.
52371
52372 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
52373             Bruno Haible  <bruno@clisp.org>
52374
52375         * modules/tmpfile: New file.
52376         * lib/tmpfile.c: New file.
52377         * m4/tmpfile.m4: New file.
52378         * MODULES.html.sh (func_all_modules): New section "Input/output".
52379
52380 2007-02-15  Bruno Haible  <bruno@clisp.org>
52381
52382         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
52383         (supports_delete_on_close): New function.
52384         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
52385
52386 2007-02-14  Bruno Haible  <bruno@clisp.org>
52387
52388         * modules/mbspcasecmp-tests: New file.
52389         * tests/test-mbspcasecmp.sh: New file.
52390         * tests/test-mbspcasecmp.c: New file.
52391
52392         New module mbspcasecmp.
52393         * modules/mbspcasecmp: New file.
52394         * lib/mbspcasecmp.c: New file.
52395         * lib/string_.h (strncasecmp): Change warning message.
52396         (mbspcasecmp): New declaration.
52397         * m4/mbspcasecmp.m4: New file.
52398         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
52399         GNULIB_MBSPCASECMP.
52400         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
52401         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
52402
52403 2007-02-14  Bruno Haible  <bruno@clisp.org>
52404
52405         * modules/mbsncasecmp-tests: New file.
52406         * tests/test-mbsncasecmp.sh: New file.
52407         * tests/test-mbsncasecmp.c: New file.
52408
52409         New module mbsncasecmp.
52410         * modules/mbsncasecmp: New file.
52411         * lib/mbsncasecmp.c: New file.
52412         * lib/string_.h (mbsncasecmp): New declaration.
52413         * m4/mbsncasecmp.m4: New file.
52414         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
52415         GNULIB_MBSNCASECMP.
52416         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
52417         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
52418
52419 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
52420
52421         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
52422         Verify that it doesn't overlap with our flags.
52423         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
52424         do not have the desired effect in multibyte locales; instead, use
52425         mbscasecmp.
52426         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
52427         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
52428         we don't require GNU fnmatch ourselves (if our users require it, they
52429         should do so explicitly).
52430
52431         Fix regex code so it doesn't rely on strcasecmp.
52432         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
52433         Otherwise, include gnulib's langinfo.h.
52434         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
52435         undesirable behavior in non-C locales.  Instead, rely on localecharset.
52436         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
52437         * modules/regex (FILES): Remove m4/codeset.m4.
52438         (Depends-on): Add localcharset.  Remove strcase.
52439
52440 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52441
52442         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
52443         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
52444
52445 2007-02-13  Bruno Haible  <bruno@clisp.org>
52446
52447         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
52448         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
52449
52450 2007-02-12  Bruno Haible  <bruno@clisp.org>
52451
52452         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
52453         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
52454         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
52455         time warning rather than a link error.
52456
52457 2007-02-12  Bruno Haible  <bruno@clisp.org>
52458
52459         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
52460         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
52461         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
52462
52463 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
52464
52465         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
52466         args, not 2.
52467
52468 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
52469
52470         New module 'time', so that apps can include <time.h> as per
52471         POSIX and GNU instead of separate include files like time_r.h
52472         and timegm.h.  This implementation tries out a simpler approach
52473         for replacing decls in standard include files (as compared to
52474         the string module), somewhat as an experiment.
52475
52476         * config/srclist.txt: Comment out mktime.c for now.
52477         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
52478         since it doesn't apply any more.  Use generic wording instead.
52479         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
52480         'time'.
52481         * lib/time_.h, m4/time_h.m4, modules/time: New files.
52482         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
52483         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
52484         Don't include <sys/types.h>; no longer needed since we assume C89.
52485         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
52486         * lib/strftime.c: Likewise.
52487         * lib/time_r.c: Likewise.
52488         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
52489         * lib/nanosleep.c: Include <time.h> first, to check interface.
52490         * lib/strptime.c: Likewise.
52491         * lib/time_r.c: Likewise.
52492         * lib/timegm.c: Likewise.
52493         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
52494         needed.
52495         * lib/timegm.c: Don't include timegm.h; no longer needed.
52496         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
52497         time.h now handles any problems in that area.
52498         (struct timespec, nanosleep): Remove; time.h now arranges for these.
52499         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
52500         that time.h defines struct timespec.
52501         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
52502         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
52503         handles that.
52504         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
52505         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
52506         needed.  Set REPLACE_LOCALTIME.
52507         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
52508         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
52509         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
52510         nanosleep; time_h.m4 now does that.  Don't require
52511         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
52512         module handles this now.
52513         * modules/getdate (Depends-on): Remove timespec.  Add time.
52514         * modules/nanosleep (Depends-on): Likewise.
52515         * modules/stat-time (Depends-on): Likewise.
52516         * modules/nanosleep (Include): Include time.h, not timespec.h.
52517         * modules/strptime (Files): Remove lib/strptime.h.
52518         (Depends-on): Add extensions, time.
52519         (Include): Include time.h, not strptime.h.
52520         * modules/time_r (Files): Remove lib/time_r.h.
52521         (Depends-on): Add time.
52522         (Include): Include time.h, not time_r.h.
52523         * modules/timegm: Likewise.
52524         * modules/timespec (Description): Now does timespec-related decls
52525         of our own, instead of struct timespec itself.
52526         (Depends-on): Add time; remove extensions.
52527         (Maintainer): Add self.
52528         * modules/utimecmp (Depends-on): Add time; remove timespec.
52529         * modules/utimens (Depends-on): Likewise.
52530         * modules/xnanosleep (Depends-on): Likewise.
52531
52532 2007-02-11  Bruno Haible  <bruno@clisp.org>
52533
52534         * lib/c-strstr.c: Include allocsa.h.
52535         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
52536         * lib/c-strcasestr.c: Include allocsa.h.
52537         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
52538         * lib/strcasestr.c: Include allocsa.h.
52539         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
52540         * lib/mbsstr.c: Include allocsa.h.
52541         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
52542         allocsa/freesa instead of malloc/free.
52543         * lib/mbscasestr.c: Include allocsa.h.
52544         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
52545         allocsa/freesa instead of malloc/free.
52546         * modules/c-strstr (Depends-on): Add allocsa.
52547         * modules/c-strcasestr (Depends-on): Likewise.
52548         * modules/strcasestr (Depends-on): Likewise.
52549         * modules/mbsstr (Depends-on): Likewise.
52550         * modules/mbscasestr (Depends-on): Likewise.
52551
52552 2007-02-11  Bruno Haible  <bruno@clisp.org>
52553
52554         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
52555
52556         * modules/mbsspn-tests: New file.
52557         * tests/test-mbsspn.sh: New file.
52558         * tests/test-mbsspn.c: New file.
52559
52560 2007-02-11  Bruno Haible  <bruno@clisp.org>
52561
52562         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
52563
52564         * modules/mbspbrk-tests: New file.
52565         * tests/test-mbspbrk.sh: New file.
52566         * tests/test-mbspbrk.c: New file.
52567
52568 2007-02-11  Bruno Haible  <bruno@clisp.org>
52569
52570         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
52571         unneeded cast.
52572
52573         * modules/mbscspn-tests: New file.
52574         * tests/test-mbscspn.sh: New file.
52575         * tests/test-mbscspn.c: New file.
52576
52577 2007-02-11  Bruno Haible  <bruno@clisp.org>
52578
52579         * modules/mbscasecmp-tests: New file.
52580         * tests/test-mbscasecmp.sh: New file.
52581         * tests/test-mbscasecmp.c: New file.
52582
52583 2007-02-11  Bruno Haible  <bruno@clisp.org>
52584
52585         Ensure O(n) worst-case complexity of mbscasestr.
52586         * lib/mbscasestr.c: Include stdbool.h.
52587         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
52588         functions.
52589         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
52590         the bookkeeping indicates that it's worth it.
52591         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
52592
52593         * modules/mbscasestr-tests: New file.
52594         * tests/test-mbscasestr1.c: New file.
52595         * tests/test-mbscasestr2.sh: New file.
52596         * tests/test-mbscasestr2.c: New file.
52597         * tests/test-mbscasestr3.sh: New file.
52598         * tests/test-mbscasestr3.c: New file.
52599         * tests/test-mbscasestr4.sh: New file.
52600         * tests/test-mbscasestr4.c: New file.
52601         * m4/locale-tr.m4: New file.
52602
52603 2007-02-11  Bruno Haible  <bruno@clisp.org>
52604
52605         Ensure O(n) worst-case complexity of mbsstr.
52606         * lib/mbsstr.c: Include stdbool.h.
52607         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
52608         functions.
52609         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
52610         bookkeeping indicates that it's worth it.
52611         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
52612
52613         * modules/mbsstr-tests: New file.
52614         * tests/test-mbsstr1.c: New file.
52615         * tests/test-mbsstr2.sh: New file.
52616         * tests/test-mbsstr2.c: New file.
52617         * tests/test-mbsstr3.sh: New file.
52618         * tests/test-mbsstr3.c: New file.
52619         * m4/locale-fr.m4: New file.
52620
52621 2007-02-11  Bruno Haible  <bruno@clisp.org>
52622
52623         * lib/mbsrchr.c (mbsrchr): Fix bug.
52624
52625         * modules/mbsrchr-tests: New file.
52626         * tests/test-mbsrchr.sh: New file.
52627         * tests/test-mbsrchr.c: New file.
52628
52629 2007-02-11  Bruno Haible  <bruno@clisp.org>
52630
52631         * lib/mbschr.c (mbschr): Fix bug.
52632
52633         * modules/mbschr-tests: New file.
52634         * tests/test-mbschr.sh: New file.
52635         * tests/test-mbschr.c: New file.
52636         * m4/locale-zh.m4: New file.
52637
52638 2007-02-11  Bruno Haible  <bruno@clisp.org>
52639
52640         Support for copying multibyte string iterators.
52641         * lib/mbiter.h: Include <string.h>.
52642         (mbiter_multi_copy): New function.
52643         (mbi_copy): New macro.
52644         * lib/mbuiter.h: Include <string.h>.
52645         (mbuiter_multi_copy): New function.
52646         (mbui_copy): New macro.
52647
52648 2007-02-11  Bruno Haible  <bruno@clisp.org>
52649
52650         New module mbslen.
52651         * modules/mbslen: New file.
52652         * lib/mbslen.c: New file.
52653         * lib/string_.h (mbslen): New declaration.
52654         * m4/mbslen.m4: New file.
52655         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
52656         GNULIB_MBSLEN.
52657         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
52658         * MODULES.html.sh (Internationalization functions): Add mbslen.
52659
52660 2007-02-11  Bruno Haible  <bruno@clisp.org>
52661
52662         Ensure O(n) worst-case complexity of strcasestr substitute.
52663         * lib/strcasestr.c: Include stdbool.h.
52664         (knuth_morris_pratt): New function.
52665         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
52666         bookkeeping indicates that it's worth it.
52667         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
52668
52669         * modules/strcasestr-tests: New file.
52670         * tests/test-strcasestr.c: New file.
52671
52672 2007-02-11  Bruno Haible  <bruno@clisp.org>
52673
52674         Ensure O(n) worst-case complexity of c_strcasestr.
52675         * lib/c-strcasestr.c: Include stdbool.h, string.h.
52676         (knuth_morris_pratt): New function.
52677         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
52678         the bookkeeping indicates that it's worth it.
52679         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
52680
52681         * modules/c-strcasestr-tests: New file.
52682         * tests/test-c-strcasestr.c: New file.
52683
52684 2007-02-11  Bruno Haible  <bruno@clisp.org>
52685
52686         Ensure O(n) worst-case complexity of c_strstr.
52687         * lib/c-strstr.c: Include stdbool.h, string.h.
52688         (knuth_morris_pratt): New function.
52689         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
52690         bookkeeping indicates that it's worth it.
52691         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
52692
52693         * lib/c-strstr.c: Complete rewrite for maintainability.
52694
52695         * modules/c-strstr-tests: New file.
52696         * tests/test-c-strstr.c: New file.
52697
52698 2007-02-11  Bruno Haible  <bruno@clisp.org>
52699
52700         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
52701         5.2.1 and earlier, whereby \055 was treated just like the range
52702         delimiter '-'.
52703         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
52704
52705 2007-02-08  Bruno Haible  <bruno@clisp.org>
52706
52707         * modules/regex (Depends-on): Add stdbool.
52708         Reported by Dalibor Topic <robilad@kaffe.org>.
52709
52710 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
52711
52712         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
52713         Prefer returning from main to exiting from it.
52714         Remove unnecessary parens after sizeof.
52715
52716 2007-02-05  Bruno Haible  <bruno@clisp.org>
52717
52718         New module mbssep.
52719         * modules/mbssep: New file.
52720         * lib/mbssep.c: New file.
52721         * lib/string_.h (strsep): Add a conditional link warning.
52722         (mbssep): New declaration.
52723         * m4/mbssep.m4: New file.
52724         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
52725         GNULIB_MBSSEP.
52726         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
52727         * MODULES.html.sh (Internationalization functions): Add mbssep.
52728
52729 2007-02-05  Bruno Haible  <bruno@clisp.org>
52730
52731         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
52732         Optimize search in case of 1 delimiter.
52733
52734 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
52735
52736         * lib/acl.h: Include sys/types.h before sys/acl.h.
52737
52738 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
52739
52740         Merge upstream fix for glibc bugzilla #3957:
52741
52742         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
52743
52744         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
52745         bit for RE_HAT_LISTS_NOT_NEWLINE.
52746         (build_charclass_op): Remove bogus comment.
52747
52748 2007-02-05  Simon Josefsson  <simon@josefsson.org>
52749
52750         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
52751
52752 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
52753
52754         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
52755         * lib/memmem.c [!defined _LIBC]: Include config.h.
52756
52757 2007-02-04  Bruno Haible  <bruno@clisp.org>
52758
52759         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
52760         warning message.
52761
52762 2007-02-04  Bruno Haible  <bruno@clisp.org>
52763
52764         New module mbstok_r.
52765         * modules/mbstok_r: New file.
52766         * lib/mbstok_r.c: New file.
52767         * lib/string_.h (strtok_r): Change argument names to match the
52768         comments. Add a conditional link warning.
52769         (mbstok_r): New declaration.
52770         * m4/mbstok_r.m4: New file.
52771         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
52772         GNULIB_MBSTOK_R.
52773         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
52774         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
52775
52776 2007-02-04  Bruno Haible  <bruno@clisp.org>
52777
52778         New module mbsspn.
52779         * modules/mbsspn: New file.
52780         * lib/mbsspn.c: New file.
52781         * lib/string_.h (strspn): Add a conditional link warning.
52782         (mbsspn): New declaration.
52783         * m4/mbsspn.m4: New file.
52784         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
52785         GNULIB_MBSSPN.
52786         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
52787         * MODULES.html.sh (Internationalization functions): Add mbsspn.
52788
52789 2007-02-04  Bruno Haible  <bruno@clisp.org>
52790
52791         New module mbspbrk.
52792         * modules/mbspbrk: New file.
52793         * lib/mbspbrk.c: New file.
52794         * lib/string_.h (strpbrk): Add a conditional link warning.
52795         (mbspbrk): New declaration.
52796         * m4/mbspbrk.m4: New file.
52797         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
52798         GNULIB_MBSPBRK.
52799         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
52800         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
52801
52802 2007-02-04  Bruno Haible  <bruno@clisp.org>
52803
52804         New module mbscspn.
52805         * modules/mbscspn: New file.
52806         * lib/mbscspn.c: New file.
52807         * lib/string_.h (strcspn): Add a conditional link warning.
52808         (mbscspn): New declaration.
52809         * m4/mbscspn.m4: New file.
52810         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
52811         GNULIB_MBSCSPN.
52812         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
52813         * MODULES.html.sh (Internationalization functions): Add mbscspn.
52814
52815 2007-02-04  Bruno Haible  <bruno@clisp.org>
52816
52817         New module mbscasestr, reduced goal of strcasestr.
52818         * modules/mbscasestr: New file.
52819         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
52820         (mbscasestr): Renamed from strcasestr.
52821         * lib/strcasestr.c: Don't include mbuiter.h.
52822         (strcasestr): Remove support for multibyte locales.
52823         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
52824         Change the conditional link warning.
52825         (mbscasestr): New declaration.
52826         * m4/mbscasestr.m4: New file.
52827         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
52828         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
52829         REPLACE_STRCASESTR.
52830         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
52831         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
52832         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
52833         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
52834         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
52835         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
52836         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
52837         (Depends-on): Remove mbuiter.
52838         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
52839
52840 2007-02-04  Bruno Haible  <bruno@clisp.org>
52841
52842         Simplify handling of strncasecmp.
52843         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
52844         the conditional link warning.
52845         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
52846         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
52847         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
52848         * modules/strcase (configure.ac): Don't invoke
52849         gl_STRING_MODULE_INDICATOR.
52850         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
52851
52852 2007-02-04  Bruno Haible  <bruno@clisp.org>
52853
52854         New module mbscasecmp, reduced goal of strcasecmp.
52855         * modules/mbscasecmp: New file.
52856         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
52857         (mbscasecmp): Renamed from strcasecmp.
52858         * lib/strcasecmp.c: Don't include mbuiter.h.
52859         (strcasecmp): Remove support for multibyte locales.
52860         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
52861         Change the conditional link warning.
52862         (mbscasecmp): New declaration.
52863         * m4/mbscasecmp.m4: New file.
52864         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
52865         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
52866         REPLACE_STRCASECMP.
52867         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
52868         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
52869         GNULIB_MBSCASECMP.
52870         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
52871         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
52872         * modules/strcase (Files): Remove m4/mbrtowc.m4.
52873         (Depends-on): Remove mbuiter.
52874         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
52875
52876 2007-02-04  Bruno Haible  <bruno@clisp.org>
52877
52878         New module mbsstr. Remove module strstr.
52879         * modules/mbsstr: New file.
52880         * modules/strstr: Remove file.
52881         * lib/mbsstr.c: Renamed from lib/strstr.c.
52882         (mbsstr): Renamed from strstr.
52883         * lib/string_.h (strstr): Remove declaration. Change the conditional
52884         link warning.
52885         (mbsstr): New declaration.
52886         * m4/mbsstr.m4: New file.
52887         * m4/strstr.m4: Remove file.
52888         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
52889         REPLACE_STRSTR.
52890         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
52891         Don't initialize GNULIB_STRSTR.
52892         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
52893         substitute GNULIB_STRSTR and REPLACE_STRSTR.
52894         * MODULES.html.sh (Internationalization functions): Add mbsstr.
52895         (Support for systems lacking ANSI C 89): Remove strstr.
52896
52897 2007-02-04  Bruno Haible  <bruno@clisp.org>
52898
52899         New module mbsrchr.
52900         * modules/mbsrchr: New file.
52901         * lib/mbsrchr.c: New file.
52902         * lib/string_.h (strrchr): Add a conditional link warning.
52903         (mbsrchr): New declaration.
52904         * m4/mbsrchr.m4: New file.
52905         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
52906         GNULIB_MBSRCHR.
52907         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
52908         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
52909
52910 2007-02-04  Bruno Haible  <bruno@clisp.org>
52911
52912         New module mbschr.
52913         * modules/mbschr: New file.
52914         * lib/mbschr.c: New file.
52915         * lib/string_.h (strchr): Add a conditional link warning.
52916         (mbschr): New declaration.
52917         * m4/mbschr.m4: New file.
52918         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
52919         GNULIB_MBSCHR.
52920         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
52921         * MODULES.html.sh (Internationalization functions): Add mbschr.
52922
52923 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
52924
52925         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
52926
52927         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
52928
52929 2007-02-04  Bruno Haible  <bruno@clisp.org>
52930
52931         New module description section 'configure.ac-early'.
52932         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
52933         (func_get_autoconf_early_snippet): New function.
52934         (func_import, func_create_testdir): Use it. Remove special cases for
52935         modules 'extensions' and 'lock'.
52936         * modules/extensions (configure.ac-early): Require
52937         gl_USE_SYSTEM_EXTENSIONS.
52938         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
52939
52940 2007-02-04  Bruno Haible  <bruno@clisp.org>
52941
52942         Make use of gcj-4.3's -fsource and -ftarget option.
52943         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
52944         and if so try the options -fsource and -ftarget.
52945         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
52946         source_version, ftarget_option, target_version arguments.
52947         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
52948         (is_envjavac_oldgcj_14_14_usable): Renamed from
52949         is_envjavac_gcj_14_14_usable.
52950         (is_envjavac_oldgcj_14_13_usable): Renamed from
52951         is_envjavac_gcj_14_13_usable.
52952         (is_gcj_present): Update.
52953         (is_gcj_43, is_gcj43_usable): New functions.
52954         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
52955         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
52956         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
52957         try the options -fsource and -ftarget.
52958
52959 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
52960
52961         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
52962         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
52963         larger value.
52964
52965 2007-02-03  Jim Meyering  <jim@meyering.net>
52966
52967         Give tools a better chance to allocate space for very large buffers.
52968         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
52969
52970         Make pwd and readlink work also when run with an unreadable parent dir
52971         on systems with openat support.
52972         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
52973         provided getcwd function, even when we have openat support.
52974         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
52975
52976 2007-02-02  Bruno Haible  <bruno@clisp.org>
52977
52978         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
52979         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
52980         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
52981         portability problems if one of these functions is only used on specific
52982         platforms.
52983         Reported by Paul Eggert.
52984
52985 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
52986
52987         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
52988         is causing more trouble than it's curing.
52989         * lib/regex_internal.h (__mempcpy): Remove.
52990         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
52991         (and make the code a tad smaller to boot).
52992         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
52993
52994 2007-02-02  Jim Meyering  <jim@meyering.net>
52995
52996         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
52997         section, not in the Makefile.am: one.
52998
52999 2007-02-02  Eric Blake  <ebb9@byu.net>
53000
53001         * lib/strchrnul.c: Always include config.h first.
53002
53003         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
53004         gnulib strstr is not necessary here.
53005
53006 2007-02-02  Simon Josefsson  <simon@josefsson.org>
53007
53008         * m4/socklen.m4: Fix typo.
53009
53010 2007-02-02  Eric Blake  <ebb9@byu.net>
53011
53012         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
53013         * modules/netinet_in (Makefile.am): Likewise.
53014
53015 2007-02-01  Bruno Haible  <bruno@clisp.org>
53016
53017         * lib/string_.h (GL_LINK_WARNING): New macro.
53018         (strcasecmp, strstr, strcasestr): If provided by the system,
53019         conditionally define as a macro that leads to a warning instead of to
53020         an error.
53021         (strncasecmp): Conditionally define as a macro that leads to a warning.
53022
53023 2007-02-01  Karl Berry  <karl@gnu.org>
53024
53025         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
53026
53027 2007-02-01  Bruno Haible  <bruno@clisp.org>
53028
53029         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
53030         renamings.
53031
53032 2007-02-01  Eric Blake  <ebb9@byu.net>
53033
53034         * modules/regex (Depends-on): Revert dependence on mempcpy.
53035         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
53036         module's definition of mempcpy.
53037         Reported by Paul Eggert.
53038
53039 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
53040
53041         * lib/string_.h: If the gnulib module XYZ is not present, undefine
53042         the symbol XYZ before redefining it.  This fixes a problem with
53043         programs that don't use XYZ, when compiled on systems that define
53044         XYZ to something else.
53045
53046 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
53047
53048         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
53049         occurs when "mkdir -m foo" creates a setgid directory that is (1)
53050         writeable to group or other and (2) is intended to have a special
53051         mode bit that is set or cleared.  In such a case, the directory
53052         should be neither group- nor other-writeable until the special
53053         mode bits are right.
53054
53055 2007-01-31  Eric Blake  <ebb9@byu.net>
53056
53057         * modules/mountlist (Depends-on): Add strstr.
53058
53059         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
53060         bug.
53061         * modules/string (Makefile.am): Remove redundant replacement.
53062         * modules/regex (Depends-on): Add mempcpy.
53063
53064 2007-01-31  Bruno Haible  <bruno@clisp.org>
53065
53066         New module description field 'Link'.
53067         * gnulib-tool (func_usage): Document --extract-link-directive.
53068         (sed_extract_prog): Recognize 'Link' directive.
53069         (func_get_link_directive): New function.
53070         (func_import): Show summary of link directives.
53071         Handle --extract-link-directive option.
53072         * modules/acl (Link): New section.
53073         * modules/clock-time (Link): New section.
53074         * modules/euidaccess (Link): New section.
53075         * modules/gettext (Link): New section.
53076         * modules/iconv (Link): New section.
53077         * modules/lock (Link): New section.
53078         * modules/nanosleep (Link): New section.
53079         * modules/readline (Link): New section.
53080
53081 2007-01-27  Bruno Haible  <bruno@clisp.org>
53082
53083         Enforce the use of gnulib modules for unportable <string.h> functions.
53084         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
53085         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
53086         (gl_HEADER_STRING_H_BODY): Require it.
53087         * lib/string_.h: If the gnulib module XYZ is not present, redefine
53088         the symbol XYZ to one that gives a link error.
53089         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
53090         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
53091         * modules/mempcpy (configure.ac): Likewise.
53092         * modules/memrchr (configure.ac): Likewise.
53093         * modules/stpcpy (configure.ac): Likewise.
53094         * modules/stpncpy (configure.ac): Likewise.
53095         * modules/strcase (configure.ac): Likewise.
53096         * modules/strcasestr (configure.ac): Likewise.
53097         * modules/strchrnul (configure.ac): Likewise.
53098         * modules/strdup (configure.ac): Likewise.
53099         * modules/strndup (configure.ac): Likewise.
53100         * modules/strnlen (configure.ac): Likewise.
53101         * modules/strpbrk (configure.ac): Likewise.
53102         * modules/strsep (configure.ac): Likewise.
53103         * modules/strstr (configure.ac): Likewise.
53104         * modules/strtok_r (configure.ac): Likewise.
53105
53106 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
53107
53108         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
53109
53110 2007-01-30  Jim Meyering  <jim@meyering.net>
53111
53112         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
53113
53114 2007-01-29  Bruno Haible  <bruno@clisp.org>
53115
53116         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
53117         * lib/execute.c: Likewise.
53118         * lib/pipe.c: Likewise.
53119         * lib/printf-args.h: Likewise.
53120         * lib/printf-args.c: Likewise.
53121         * lib/printf-parse.c: Likewise.
53122         * lib/vasnprintf.c: Likewise.
53123
53124 2007-01-29  Eric Blake  <ebb9@byu.net>
53125
53126         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
53127         declaration.
53128
53129 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
53130
53131         * lib/strptime.h (strptime): Use 'restrict' for args where
53132         POSIX requires this.
53133         * lib/strptime.c (strptime): Likewise.
53134         Change license notice from LGPL to GPL, since gnulib-tool will
53135         change this as needed.
53136         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
53137         defined.
53138         Include "strptime.h" first, to check interface.
53139         Do not #undef _LIBC and _NL_CURRENT.
53140         Do not include <stdlib.h>; no longer needed.
53141         Include "time_r.h" and declare ptime_locale_status
53142         only if _LIBC is not defined.
53143         (__P): Remove unused macro.
53144         (match_string): Bring back glibc version, but use it only if _LIBC
53145         is defined.
53146         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
53147         Remove unnecessary assertion and abort() call.
53148         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
53149         * m4/strptime.m4: Fix serial number comment.
53150         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
53151         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
53152         (Depends-on): Add time_r.
53153
53154 2007-01-29  Bruno Haible  <bruno@clisp.org>
53155
53156         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
53157         strptime.
53158         * modules/strptime (Depends-on): Add stdbool.
53159         * lib/strptime.h: Include <time.h> always. Add comments.
53160
53161 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
53162
53163         * modules/strptime: New file.
53164         * lib/strptime.h: New file.
53165         * lib/strptime.c: New file.
53166         * m4/strptime.m4: New file.
53167
53168 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
53169
53170         * MODULES.html.sh: New module mpsort.
53171         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
53172
53173         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
53174         a circularity problem with HP-UX ia64 reported by Bob Proulx in
53175         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
53176         All uses changed.
53177         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
53178         All uses changed.
53179         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
53180         to _Restrict_.
53181         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
53182         the parameter matches the prototype.
53183
53184 2007-01-28  Jim Meyering  <jim@meyering.net>
53185
53186         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
53187         sys/time.h here, reverting that part of the previous patch:
53188         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
53189
53190 2007-01-28  Bruno Haible  <bruno@clisp.org>
53191
53192         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
53193         value of $(SYS_TIME_H).
53194         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
53195         remove it conditionally, too. [added by Jim Meyering]
53196         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
53197         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
53198         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
53199         GETTIMEOFDAY_REPLACEMENT to 1.
53200
53201 2007-01-28  Bruno Haible  <bruno@clisp.org>
53202
53203         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
53204         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
53205         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
53206         Set UNISTD_H instead of UNISTD_H2.
53207         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
53208
53209 2007-01-28  Bruno Haible  <bruno@clisp.org>
53210
53211         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
53212         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
53213
53214 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53215
53216         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
53217         (func_create_testdir): Ensure C locale for `grep' and `tr'
53218         character ranges.
53219         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
53220         ACLOCAL_AMFLAGS parsing state machine.
53221
53222 2007-01-27  Bruno Haible  <bruno@clisp.org>
53223
53224         * modules/unistr/base: Update.
53225
53226 2007-01-27  Bruno Haible  <bruno@clisp.org>
53227
53228         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
53229         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
53230         * modules/unistr/u32-mbtouc-unsafe: Renamed from
53231         modules/unistr/u32-mbtouc.
53232         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
53233         * lib/unistr.h: Update.
53234         * lib/linebreak.c: Update.
53235         * modules/unistr/u32-mbtouc: Renamed from
53236         modules/unistr/u32-mbtouc-safe.
53237         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
53238         * lib/unistr.h: Update.
53239         * lib/unistr/u32-to-u8.c: Update.
53240         * lib/unistr/u32-to-u16.c: Update.
53241
53242 2007-01-27  Bruno Haible  <bruno@clisp.org>
53243
53244         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
53245         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
53246         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
53247         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
53248         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
53249         * modules/unistr/u16-mbtouc-unsafe: Renamed from
53250         modules/unistr/u16-mbtouc.
53251         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
53252         * lib/unistr.h: Update.
53253         * lib/linebreak.c: Update.
53254         * modules/linebreak: Update.
53255         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
53256         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
53257         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
53258         * modules/unistr/u16-mbtouc: Renamed from
53259         modules/unistr/u16-mbtouc-safe.
53260         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
53261         * lib/unistr.h: Update.
53262         * lib/unistr/u16-to-u8.c: Update.
53263         * modules/unistr/u16-to-u8: Update.
53264         * lib/unistr/u16-to-u32.c: Update.
53265         * modules/unistr/u16-to-u32: Update.
53266
53267 2007-01-27  Bruno Haible  <bruno@clisp.org>
53268
53269         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
53270         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
53271         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
53272         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
53273         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
53274         * modules/unistr/u8-mbtouc-unsafe: Renamed from
53275         modules/unistr/u8-mbtouc.
53276         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
53277         * lib/unistr.h: Update.
53278         * lib/striconveh.c: Update.
53279         * modules/striconveh: Update.
53280         * lib/linebreak.c: Update.
53281         * modules/linebreak: Update.
53282         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
53283         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
53284         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
53285         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
53286         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
53287         * lib/unistr.h: Update.
53288         * lib/striconveh.c: Update.
53289         * modules/striconveh: Update.
53290         * lib/unistr/u8-to-u16.c: Update.
53291         * modules/unistr/u8-to-u16: Update.
53292         * lib/unistr/u8-to-u32.c: Update.
53293         * modules/unistr/u8-to-u32: Update.
53294
53295 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53296
53297         Sync from Libtool.
53298         * lib/argz.c: Do not include strings.h nor memory.h, include
53299         string.h unconditionally.  Patch by Simon Josefsson.
53300
53301 2007-01-27  Bruno Haible  <bruno@clisp.org>
53302
53303         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
53304         from gl_HEADER_STRING_H_BODY.
53305         (gl_HEADER_STRING_H_BODY): Require it.
53306         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
53307         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
53308         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
53309         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
53310         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
53311         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
53312         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
53313         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
53314         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
53315         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
53316         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
53317         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
53318         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
53319         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
53320         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
53321
53322 2007-01-27  Bruno Haible  <bruno@clisp.org>
53323
53324         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
53325         check_PROGRAMS into noinst_PROGRAMS.
53326         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
53327         check_PROGRAMS in this case.
53328         (func_import): Set for_test to false.
53329         (func_create_testdir): Set for_test to true.
53330
53331 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
53332             Bruno Haible  <bruno@clisp.org>
53333
53334         * modules/strcasestr (Files): Remove lib/strcasestr.h.
53335         (Depends-on): Add string.
53336         (Includes): Use <string.h> instead of strcasestr.h.
53337         * modules/string (Makefile.am): Also substitute the value of
53338         REPLACE_STRCASESTR.
53339         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
53340         assume strcasestr is declared in <string.h> not <strings.h>. Also
53341         set REPLACE_STRCASESTR.
53342         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
53343         REPLACE_STRCASESTR.
53344         * lib/strcasestr.h: Remove file.
53345         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
53346         * lib/string_.h (strcasestr): New declaration.
53347
53348 2007-01-27  Bruno Haible  <bruno@clisp.org>
53349
53350         * lib/string_.h: Use 'extern'.
53351
53352 2007-01-27  Jim Meyering  <jim@meyering.net>
53353
53354         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
53355         of set-but-not-used local, "q".
53356
53357         * lib/mempcpy.c: Include <config.h> before <string.h>.
53358         This fixes a compilation error on HP-UX, due to the system's
53359         "restrict"-using mempcpy prototype.
53360
53361 2007-01-26  Bruno Haible  <bruno@clisp.org>
53362
53363         Small optimization.
53364         * lib/javacomp.c: Include c-strstr.h.
53365          (is_envjavac_gcj): Use c_strstr instead of strstr.
53366         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
53367
53368 2007-01-26  Bruno Haible  <bruno@clisp.org>
53369
53370         * MODULES.html.sh (Unicode string functions): Add the new modules.
53371
53372         * modules/uniconv/u32-strconv-to-locale: New file.
53373         * lib/uniconv/u32-strconv-to-locale.c: New file.
53374
53375         * modules/uniconv/u16-strconv-to-locale: New file.
53376         * lib/uniconv/u16-strconv-to-locale.c: New file.
53377
53378         * modules/uniconv/u8-strconv-to-locale: New file.
53379         * lib/uniconv/u8-strconv-to-locale.c: New file.
53380
53381         * modules/uniconv/u32-strconv-from-locale: New file.
53382         * lib/uniconv/u32-strconv-from-locale.c: New file.
53383
53384         * modules/uniconv/u16-strconv-from-locale: New file.
53385         * lib/uniconv/u16-strconv-from-locale.c: New file.
53386
53387         * modules/uniconv/u8-strconv-from-locale: New file.
53388         * lib/uniconv/u8-strconv-from-locale.c: New file.
53389
53390         * modules/uniconv/u32-strconv-to-enc: New file.
53391         * lib/uniconv/u32-strconv-to-enc.c: New file.
53392         * modules/uniconv/u32-strconv-to-enc-tests: New file.
53393         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
53394
53395         * modules/uniconv/u16-strconv-to-enc: New file.
53396         * lib/uniconv/u16-strconv-to-enc.c: New file.
53397         * lib/uniconv/u-strconv-to-enc.h: New file.
53398         * modules/uniconv/u16-strconv-to-enc-tests: New file.
53399         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
53400
53401         * modules/uniconv/u8-strconv-to-enc: New file.
53402         * lib/uniconv/u8-strconv-to-enc.c: New file.
53403         * modules/uniconv/u8-strconv-to-enc-tests: New file.
53404         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
53405
53406         * modules/uniconv/u32-strconv-from-enc: New file.
53407         * lib/uniconv/u32-strconv-from-enc.c: New file.
53408         * modules/uniconv/u32-strconv-from-enc-tests: New file.
53409         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
53410
53411         * modules/uniconv/u16-strconv-from-enc: New file.
53412         * lib/uniconv/u16-strconv-from-enc.c: New file.
53413         * modules/uniconv/u16-strconv-from-enc-tests: New file.
53414         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
53415
53416         * modules/uniconv/u8-strconv-from-enc: New file.
53417         * lib/uniconv/u8-strconv-from-enc.c: New file.
53418         * lib/uniconv/u-strconv-from-enc.h: New file.
53419         * modules/uniconv/u8-strconv-from-enc-tests: New file.
53420         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
53421
53422         * modules/uniconv/u32-conv-from-enc: New file.
53423         * lib/uniconv/u32-conv-from-enc.c: New file.
53424         * modules/uniconv/u32-conv-from-enc-tests: New file.
53425         * tests/uniconv/test-u32-conv-from-enc.c: New file.
53426
53427         * modules/uniconv/u16-conv-from-enc: New file.
53428         * lib/uniconv/u16-conv-from-enc.c: New file.
53429         * lib/uniconv/u-conv-from-enc.h: New file.
53430         * modules/uniconv/u16-conv-from-enc-tests: New file.
53431         * tests/uniconv/test-u16-conv-from-enc.c: New file.
53432
53433         * modules/uniconv/u8-conv-from-enc: New file.
53434         * lib/uniconv/u8-conv-from-enc.c: New file.
53435         * modules/uniconv/u8-conv-from-enc-tests: New file.
53436         * tests/uniconv/test-u8-conv-from-enc.c: New file.
53437
53438         * modules/uniconv/base: New file.
53439         * lib/uniconv.h: New file.
53440
53441 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
53442
53443         * doc/gnulib-tool.texi (Initial import): Update to match current
53444         behavior with strdup module.
53445         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
53446         * lib/memmem.h: Remove; all uses removed.  This is now done
53447         by <string.h>.
53448         * lib/mempcpy.h: Likewise.
53449         * lib/memrchr.h: Likewise.
53450         * lib/stpcpy.h: Likewise.
53451         * lib/stpncpy.h: Likewise.
53452         * lib/strcase.h: Likewise.
53453         * lib/strchrnul.h: Likewise.
53454         * lib/strdup.h: Likewise.
53455         * lib/strndup.h: Likewise.
53456         * lib/strnlen.h: Likewise.
53457         * lib/strpbrk.h: Likewise.
53458         * lib/strsep.h: Likewise.
53459         * lib/strstr.h: Likewise.
53460         * lib/strtok_r.h: Likewise.
53461         * lib/string_.h: New file.
53462         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
53463         Rely on <string.h> instead.
53464         * lib/canon-host.c: Likewise.
53465         * lib/chdir-long.c: Likewise.
53466         * lib/concatpath.c: Likewise.
53467         * lib/exclude.c: Likewise.
53468         * lib/fchdir.c: Likewise.
53469         * lib/getaddrinfo.c: Likewise.
53470         * lib/getcwd.c: Likewise.
53471         * lib/getsubopt.c: Likewise.
53472         * lib/glob.c: Likewise.
53473         * lib/hard-locale.c: Likewise.
53474         * lib/iconvme.c: Likewise.
53475         * lib/javacomp.c: Likewise.
53476         * lib/mempcpy.c: Likewise.
53477         * lib/memrchr.c: Likewise.
53478         * lib/regex_internal.h: Likewise.
53479         * lib/stpncpy.c: Likewise.
53480         * lib/strcasecmp.c: Likewise.
53481         * lib/strchrnul.c: Likewise.
53482         * lib/strdup.c: Likewise.
53483         * lib/striconv.c: Likewise.
53484         * lib/striconveh.c: Likewise.
53485         * lib/striconveha.c: Likewise.
53486         * lib/strncasecmp.c: Likewise.
53487         * lib/strndup.c: Likewise.
53488         * lib/strnlen.c: Likewise.
53489         * lib/strsep.c: Likewise.
53490         * lib/strstr.c: Likewise.
53491         * lib/strtok_r.c: Likewise.
53492         * lib/userspec.c: Likewise.
53493         * lib/w32spawn.h: Likewise.
53494         * lib/xstrndup.c: Likewise.
53495         * lib/mountlist.c (strstr): Remove decl.
53496         * m4/string_h.m4: New file.
53497         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
53498         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
53499         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
53500         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
53501         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
53502         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
53503         Set REPLACE_STRCASECMP if necessary.
53504         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
53505         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
53506         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
53507         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
53508         HAVE_DECL_STRDUP if necessary.
53509         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
53510         since gl_FUNC_STRNDUP does that now.
53511         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
53512         Check for decl here...
53513         (gl_PREREQ_STRNLEN): ... not here.
53514         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
53515         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
53516         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
53517         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
53518         necessary.
53519         * modules/string: New file.
53520         * modules/memmem (Files): Remove special-purpose include file.
53521         (Depends-on): Add string.
53522         (Include): Include <string.h>, not the removed file.
53523         * modules/mempcpy: Likewise.
53524         * modules/memrchr: Likewise.
53525         * modules/stpcpy: Likewise.
53526         * modules/stpncpy: Likewise.
53527         * modules/strcase: Likewise.
53528         * modules/strchrnul: Likewise.
53529         * modules/strdup: Likewise.
53530         * modules/strndup: Likewise.
53531         * modules/strnlen: Likewise.
53532         * modules/strpbrk: Likewise.
53533         * modules/strsep: Likewise.
53534         * modules/strstr: Likewise.
53535         * modules/strtok_r: Likewise.
53536         * tests/test-dirname.c: Don't include "strdup.h", since
53537         <string.h> now suffices.
53538         * tests/test-memmem.c: Don't include "memmem.h", since
53539         <string.h> now suffices.
53540
53541 2007-01-25  Bruno Haible  <bruno@clisp.org>
53542
53543         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
53544         *resultp is 0.
53545
53546         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
53547         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
53548         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
53549         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
53550
53551         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
53552         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
53553         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
53554         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
53555         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
53556         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
53557
53558 2007-01-24  Bruno Haible  <bruno@clisp.org>
53559
53560         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
53561         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
53562         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
53563         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
53564         gl_FUNC_FTS_CORE.
53565         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
53566         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
53567         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
53568         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
53569         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
53570         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
53571         gl_FUNC_FCHOWNAT.
53572         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
53573         gl_FUNC_STRFTIME.
53574         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
53575         Reported by Ralf Wildenhues.
53576
53577 2007-01-24  Bruno Haible  <bruno@clisp.org>
53578
53579         Drop AC_REQUIRE calls that are redundant with the module dependencies.
53580         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
53581         gl_GETADDRINFO.
53582         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
53583         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
53584         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
53585
53586 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
53587
53588         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
53589         Don't use 'exit'; just return from 'main'.
53590         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
53591
53592         * lib/fnmatch_.h: Readjust white space and comments to match
53593         glibc, to avoid spurious diffs.
53594
53595 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
53596
53597         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
53598         2004-12-01 change by Jakub Jelinek, since this code won't compile
53599         if !LIBC.  Problem reported by Bob Proulx.
53600
53601 2007-01-23  Bruno Haible  <bruno@clisp.org>
53602
53603         * lib/striconveh.c: Include c-strcaseeq.h.
53604         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
53605         * modules/striconveh (Depends-on): Add c-strcaseeq.
53606
53607 2007-01-23  Bruno Haible  <bruno@clisp.org>
53608
53609         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
53610
53611         * modules/c-strcaseeq: New file.
53612         * lib/c-strcaseeq.h: New file.
53613
53614         * modules/streq: New file.
53615         * lib/streq.h: New file.
53616
53617 2007-01-23  Bruno Haible  <bruno@clisp.org>
53618
53619         * modules/striconveha-tests: New file.
53620         * tests/test-striconveha.c: New file.
53621
53622         * lib/striconveha.h: Include <stdbool.h>.
53623         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
53624         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
53625         (mem_iconveha_notranslit): Renamed from mem_iconveha.
53626         (mem_iconveha): New function.
53627         (str_iconveha_notranslit): Renamed from str_iconveha.
53628         (str_iconveha): New function.
53629         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
53630         c-strcase.
53631
53632 2007-01-23  Bruno Haible  <bruno@clisp.org>
53633
53634         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
53635         encodings without forgiving before trying any encoding with handler.
53636         (str_iconveha): Try all encodings without forgiving before trying any
53637         encoding with handler.
53638
53639 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
53640
53641         Import the following changes from libc.
53642
53643         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
53644
53645         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
53646
53647         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
53648
53649         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
53650         normal_bracket label.
53651
53652         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
53653
53654         [BZ #361]
53655         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
53656         to normal_bracket after fetching the next character.
53657
53658 2007-01-22  Bruno Haible  <bruno@clisp.org>
53659
53660         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
53661         argument.
53662         * lib/striconveh.c (iconv_carefully_1): New function.
53663         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
53664         argument.
53665         (str_cd_iconveh): Update.
53666         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
53667         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
53668         * tests/test-striconveh.c (MAGIC): New macro.
53669         (new_offsets): New function.
53670         (main): Test call with and without offsets.
53671
53672 2007-01-22  Bruno Haible  <bruno@clisp.org>
53673
53674         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
53675         * modules/sys_select (Makefile.am): Likewise.
53676         * modules/sys_socket (Makefile.am): Likewise.
53677         * modules/sys_time (Makefile.am): Likewise.
53678
53679 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
53680
53681         * modules/gettimeofday (License): Change from GPL to LGPL, since
53682         gettimeofday is a library function.
53683
53684 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53685
53686         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
53687
53688 2007-01-21  Bruno Haible  <bruno@clisp.org>
53689
53690         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
53691
53692 2007-01-21  Bruno Haible  <bruno@clisp.org>
53693
53694         * modules/striconveha: New file.
53695         * lib/striconveha.h: New file.
53696         * lib/striconveha.c: New file.
53697         * MODULES.html.sh (Internationalization functions): Add striconveha.
53698         * lib/striconv.c (str_iconv): Optimize the case of an empty input
53699         string.
53700         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
53701
53702 2007-01-21  Bruno Haible  <bruno@clisp.org>
53703
53704         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
53705         * lib/striconveh.c (str_iconveh): Likewise.
53706
53707 2007-01-21  Bruno Haible  <bruno@clisp.org>
53708
53709         * lib/striconveh.h (mem_iconveh): New declaration.
53710         * lib/striconveh.c (mem_iconveh): New function.
53711         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
53712
53713 2007-01-21  Bruno Haible  <bruno@clisp.org>
53714
53715         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
53716
53717         * lib/striconveh.h (mem_cd_iconveh): Change specification.
53718         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
53719         original result buffer.
53720         (str_cd_iconveh): Update.
53721         * tests/test-striconveh.c (main): Update.
53722
53723         * lib/striconv.h (mem_cd_iconv): Change specification.
53724         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
53725         result buffer.
53726         (str_cd_iconv): Update.
53727         * tests/test-striconv.c (main): Update.
53728
53729 2007-01-21  Bruno Haible  <bruno@clisp.org>
53730
53731         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
53732
53733 2007-01-20  Jim Meyering  <jim@meyering.net>
53734
53735         * lib/userspec.c (parse_with_separator): If a user or group string
53736         starts with "+", skip the corresponding name-to-ID look-up, since
53737         such a look-up must fail: user and group names may not include "+".
53738
53739 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
53740
53741         * lib/poll.c: Include sys/time.h and time.h unconditionally,
53742         since we now assume the sys_time module.
53743         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
53744         check for sys/time.h; no longer needed.
53745         * modules/poll (Depends-on): Depend on sys_time.
53746
53747 2007-01-18  Bruno Haible  <bruno@clisp.org>
53748
53749         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
53750         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
53751
53752         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
53753         gettimeofday.
53754
53755         * tests/test-gettimeofday.c: Include <time.h>.
53756         (dummy): Remove variable.
53757
53758         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
53759         gl_HEADER_SYS_TIME_H.
53760         (gl_HEADER_SYS_TIME_H): New macro.
53761
53762         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
53763         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
53764         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
53765         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
53766         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
53767         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
53768         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
53769         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
53770         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
53771         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
53772         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
53773
53774         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
53775         last change; it caused a compilation error when cross-compiling to
53776         Cygwin.
53777
53778 2007-01-18  Jim Meyering  <jim@meyering.net>
53779
53780         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
53781         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
53782         than the race-prone "test -d sys || mkdir sys".
53783         (configure.ac): Use AC_PROG_MKDIR_P.
53784         * modules/sys_select: Likewise.
53785         * modules/sys_socket: Likewise.
53786         * modules/sys_time: Likewise.
53787
53788 2007-01-18  Eric Blake  <ebb9@byu.net>
53789
53790         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
53791         replace gettimeofday.
53792         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
53793         name, to avoid infinite recursion.
53794
53795 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
53796
53797         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
53798         module sys_time.
53799         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
53800         assume timespec.h defines struct timeval.
53801         * lib/settime.c: Likewise.
53802         * lib/utimens.c: Likewise.
53803         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
53804         since we now assume the gettimeofday module.
53805         * lib/tempname.c (__gen_tempname): Likewise.
53806         * lib/gettimeofday.h: Remove.
53807         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
53808         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
53809         Include <time.h>, for 'time()'.
53810         (localtime_buffer_addr): Also use this workaround if
53811         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
53812         to simplify the uses.  All uses changed.
53813         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
53814         that #undef is inside {}, and 'const' follows type name consistently.
53815         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
53816         (gettimeofday): Do not use the maximum possible value for
53817         tv->tv_usec, since that might break usages other than ls.c.
53818         Instead, we'll leave ls.c alone.  This undoes today's patch
53819         by Bruno.  Add a compile-time warning for 1s-clock resolution;
53820         we've never observed the problem but might as well keep the
53821         canary.
53822         * lib/nanosleep.c: Include timespec.h first, for interface check.
53823         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
53824         now assume the sys_time module.
53825         * lib/tempname.c: Likewise.
53826         * lib/timespec.h: Likewise.
53827         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
53828         needed.
53829         * lib/strftime.c: Likewise.
53830         * lib/timespec.h: Likewise.
53831         * lib/posixtm.c: Include posixtm.h first, for interface check.
53832         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
53833         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
53834         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
53835         * lib/sys_time_.h: New file.
53836         * lib/timespec.h (struct timespec): Use long int, not long.
53837         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
53838         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
53839         Remove obsolescent call to AC_HEADER_TIME.
53840         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
53841         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
53842         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
53843         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
53844         Likewise.
53845         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
53846         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
53847         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
53848         into the sys_time module.  Check for gettimeofday just once.
53849         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
53850         for gettimeofday signature to just check the signature.  Merely
53851         compile it, since linking doesn't test signature.  Improve test for
53852         whether gettimeofday.o is actually needed.
53853         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
53854         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
53855         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
53856         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
53857         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
53858         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
53859         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
53860         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
53861         than worrying about sys/time.h.
53862         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
53863         Don't bother worrying about TIME_WITH_SYS_TIME.
53864         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
53865         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
53866         * m4/sys_time_h.m4: New file.
53867         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
53868         Don't include sys/time.h.  Return from main rather than exiting.
53869         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
53870         all uses changed.
53871         * modules/gethrxtime (Depends-on): Add sys_time.
53872         * modules/gettime (Depends-on): Likewise.
53873         * modules/gettimeofday (Depends-on): Likewise.
53874         * modules/nanosleep (Depends-on): Likewise.
53875         * modules/settime (Depends-on): Likewise.
53876         * modules/tempname (Depends-on): Likewise.
53877         * modules/utimens (Depends-on): Likewise.
53878         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
53879         (Include:) Change back to <sys/time.h>.
53880         (Maintainer:) Add self.
53881         * modules/sys_time: New file.
53882         * modules/tempname (Depends-on): Add gettimeofday.
53883         * tests/test-gettimeofday.c: Include <sys/time.h>
53884         rather than gettimeofday.h.
53885
53886 2007-01-17  Bruno Haible  <bruno@clisp.org>
53887
53888         * gnulib-tool (func_get_license): Revert last patch. Instead, let
53889         the license default to GPL.
53890         (func_create_testdir): Don't complain if a module is LGPL and its
53891         tests module depends on GPLed modules.
53892
53893 2007-01-17  Bruno Haible  <bruno@clisp.org>
53894
53895         * lib/gettimeofday.c (gettimeofday): Add code for the case
53896         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
53897         maximum possible value for tv->tv_usec, rather than the minimum one.
53898
53899 2005-10-08  Martin Lambers  <marlam@marlam.de>
53900 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
53901 2007-01-16  Bruno Haible  <bruno@clisp.org>
53902
53903         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
53904         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
53905         gl_FUNC_GETTIMEOFDAY.
53906         (Include): Add gettimeofday.h.
53907         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
53908         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
53909         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
53910         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
53911         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
53912         * lib/gettimeofday.h: New file.
53913         * lib/gettimeofday.c: Include <sys/timeb.h>.
53914         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
53915         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
53916         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
53917         fall back on time().
53918
53919         * tests/test-gettimeofday.c: New file.
53920         * modules/gettimeofday-tests: New file.
53921
53922 2007-01-16  Eric Blake  <ebb9@byu.net>
53923
53924         * modules/fnmatch (Depends-on): Depend on wchar.
53925         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
53926         * m4/fnmatch.m4: Likewise.
53927         * modules/mbchar (Makefile.am): Assume <wchar.h>.
53928         * m4/mbchar.m4: Likewise.
53929         * modules/mbswidth (Depends-on): Depend on wchar.
53930         * lib/mbswidth.c: Assume <wchar.h>.
53931         * m4/mbswidth.m4: Likewise.
53932         * modules/quotearg (Depends-on): Depend on wchar.
53933         * lib/quotearg.c: Assume <wchar.h>.
53934         * m4/quotearg.m4: Likewise.
53935         * modules/regex (Depends-on): Depend on wchar.
53936         * lib/regex_internal.h: Assume <wchar.h>.
53937         * m4/regex.m4: Likewise.
53938         * modules/stdint (Depends-on): Depend on wchar.
53939         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
53940         * m4/stdint.m4: Likewise.
53941         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
53942         * modules/strftime (Depends-on): Depend on wchar.
53943         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
53944         * modules/strtol (Depends-on): Depend on wchar.
53945         * lib/strtol.c: Assume <wchar.h>.
53946         * modules/wcwidth (Depends-on): Depend on wchar.
53947         * lib/wcwidth.h: Assume <wchar.h>.
53948         * m4/wcwidth.m4: Likewise.
53949
53950 2007-01-16  Bruno Haible  <bruno@clisp.org>
53951
53952         * modules/csharpexec-script: New, created from...
53953         * modules/csharpexec: ... this.
53954
53955 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
53956
53957         * modules/javaexec-script: New, created from...
53958         * modules/javaexec: ... this.
53959
53960 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53961
53962         * modules/poll (Dependencies): Add sys_select.
53963
53964 2007-01-15  Jim Meyering  <jim@meyering.net>
53965
53966         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
53967         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
53968         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
53969         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
53970
53971 2007-01-15  Bruno Haible  <bruno@clisp.org>
53972
53973         * modules/striconveh: New file.
53974         * lib/striconveh.h: New file.
53975         * lib/striconveh.c: New file.
53976         * MODULES.html.sh (Internationalization functions): Add striconveh.
53977
53978         * modules/striconveh-tests: New file.
53979         * tests/test-striconveh.c: New file.
53980
53981 2007-01-15  Bruno Haible  <bruno@clisp.org>
53982
53983         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
53984         not from GNU libiconv or GNU libc.
53985
53986 2007-01-15  Bruno Haible  <bruno@clisp.org>
53987
53988         * doc/gnulib-intro.texi (Copyright): Explain the different license
53989         terms for module descriptions, autoconf macros, tests, documentation.
53990
53991 2007-01-14  Bruno Haible  <bruno@clisp.org>
53992
53993         * modules/striconv-tests: New file.
53994         * tests/test-striconv.c: New file.
53995
53996 2007-01-14  Bruno Haible  <bruno@clisp.org>
53997
53998         * modules/iconv-tests: New file.
53999         * tests/test-iconv.c: New file.
54000
54001 2007-01-14  Bruno Haible  <bruno@clisp.org>
54002
54003         * gnulib-tool (func_get_license): For test modules, use the license of
54004         the main module.
54005
54006 2007-01-14  Bruno Haible  <bruno@clisp.org>
54007
54008         * modules/iconv (Include): Clarify that <iconv.h> can only be included
54009         if iconv is found to exist.
54010
54011 2007-01-14  Bruno Haible  <bruno@clisp.org>
54012
54013         * modules/c-ctype-tests: New file.
54014         * tests/test-c-ctype.c: New file.
54015
54016 2007-01-14  Bruno Haible  <bruno@clisp.org>
54017
54018         * modules/binary-io-tests: New file.
54019         * tests/test-binary-io.sh: New file.
54020         * tests/test-binary-io.c: New file.
54021
54022 2007-01-14  Bruno Haible  <bruno@clisp.org>
54023
54024         * modules/array-oset-tests: New file.
54025         * tests/test-array_oset.c: New file.
54026
54027 2007-01-14  Bruno Haible  <bruno@clisp.org>
54028
54029         * modules/array-list-tests: New file.
54030         * tests/test-array_list.c: New file.
54031
54032 2007-01-14  Bruno Haible  <bruno@clisp.org>
54033
54034         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
54035         and make.
54036         Reported by Simon Josefsson in
54037         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
54038
54039 2007-01-14  Bruno Haible  <bruno@clisp.org>
54040
54041         * modules/allocsa-tests: New file.
54042         * tests/test-allocsa.c: New file.
54043
54044 2007-01-14  Bruno Haible  <bruno@clisp.org>
54045
54046         * modules/fchdir (Depends-on): Add absolute-header.
54047         * modules/unistd (Depends-on): Likewise.
54048
54049 2006-12-30  Bruno Haible  <bruno@clisp.org>
54050
54051         * modules/fchdir: New file.
54052         * modules/unistd (Files): Add lib/unistd_.h.
54053         (Makefile.am): Generate unistd.h from unistd_.h.
54054         * lib/fchdir.c: New file.
54055         * lib/dirent_.h: New file.
54056         * lib/unistd_.h: New file.
54057         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
54058         * m4/fchdir.m4: New file.
54059         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
54060         (gl_HEADER_UNISTD): Invoke it.
54061         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
54062         function.
54063         * lib/backupfile.c (opendir, closedir): Undefine.
54064         * lib/chown.c (open, close): Undefine.
54065         * lib/clean-temp.c (open, close): Undefine.
54066         * lib/copy-file.c (open, close): Undefine.
54067         * lib/execute.c (open, close): Undefine.
54068         * lib/fsusage.c (open, close): Undefine.
54069         * lib/gc-gnulib.c (open, close): Undefine.
54070         * lib/getcwd.c (opendir, closedir): Undefine.
54071         * lib/glob.c (opendir, closedir): Undefine.
54072         * lib/javacomp.c (open, close): Undefine.
54073         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
54074         * lib/openat-proc.c (open, close): Undefine.
54075         * lib/pagealign_alloc.c (open, close): Undefine.
54076         * lib/pipe.c (open, close): Undefine.
54077         * lib/progreloc.c (open, close): Undefine.
54078         * lib/savedir.c (opendir, closedir): Undefine.
54079         * lib/utime.c (open, close): Undefine.
54080         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
54081
54082 2007-01-10  Bruno Haible  <bruno@clisp.org>
54083
54084         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
54085
54086 2007-01-12  Eric Blake  <ebb9@byu.net>
54087
54088         Provide a robust <wchar.h>.  Further simplifications are now
54089         possible in other modules, but not included here.
54090         * modules/wchar: New module.
54091         * m4/wchar.m4: New file.
54092         * lib/wchar_.h: Likewise.
54093         * modules/mbchar (Depends-on): Depend on wchar, as the first use
54094         of the new module.
54095         * MODULES.html.sh (Extended multibyte and wide character utilities):
54096         New section.
54097
54098 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
54099
54100         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
54101         to a reasonable default for memory allocation.
54102         (xreadlink): Don't allocate a huge buffer, to work around a buggy
54103         file system that reports garbage st_size values for symlinks.
54104         Problem reported by Liyang Hu.
54105
54106 2007-01-11  Simon Josefsson  <simon@josefsson.org>
54107
54108         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
54109         Emacs .#* auto-save files).
54110
54111 2007-01-11  Bruno Haible  <bruno@clisp.org>
54112
54113         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
54114         directory.
54115
54116 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
54117
54118         Use @...@ consistently in lib/wctype_.h.
54119         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
54120         on it being set to 1 or 0.
54121         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
54122         go back to AC_SUBSTing it.
54123         * modules/wctype (Makefile.am): Undo previous change.
54124
54125 2007-01-10  Eric Blake  <ebb9@byu.net>
54126
54127         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
54128         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
54129         * modules/wctype (Makefile.am): Likewise.
54130         Reported by Chris McGuire.
54131
54132 2007-01-10  Jim Meyering  <jim@meyering.net>
54133
54134         fts.c: a small readability/maintainability improvement
54135         * lib/fts.c (fts_read): Make this code slightly more readable and
54136         maintainable by hoisting the "sp->fts_cur = p" assignments to
54137         immediately follow the statements that set P.  Derived from
54138         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
54139
54140 2007-01-10  Eric Blake  <ebb9@byu.net>
54141
54142         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
54143         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
54144         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
54145         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
54146         Reported by Chris McGuire.
54147
54148 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54149
54150         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
54151         in sed script.
54152
54153 2007-01-09  Bruno Haible  <bruno@clisp.org>
54154
54155         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
54156         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
54157         variables.
54158         (func_module): Use them.
54159
54160 2007-01-09  Bruno Haible  <bruno@clisp.org>
54161
54162         * modules/unistr/base: New file.
54163         * lib/unistr.h: New file.
54164
54165         * modules/unistr/u8-to-u16: New file.
54166         * lib/unistr/u8-to-u16.c: New file.
54167
54168         * modules/unistr/u8-to-u32: New file.
54169         * lib/unistr/u8-to-u32.c: New file.
54170
54171         * modules/unistr/u16-to-u8: New file.
54172         * lib/unistr/u16-to-u8.c: New file.
54173
54174         * modules/unistr/u16-to-u32: New file.
54175         * lib/unistr/u16-to-u32.c: New file.
54176
54177         * modules/unistr/u32-to-u8: New file.
54178         * lib/unistr/u32-to-u8.c: New file.
54179
54180         * modules/unistr/u32-to-u16: New file.
54181         * lib/unistr/u32-to-u16.c: New file.
54182
54183         * modules/unistr/u8-check: New file.
54184         * modules/unistr/u16-check: New file.
54185         * modules/unistr/u32-check: New file.
54186         * lib/unistr/u8-check.c: New file.
54187         * lib/unistr/u16-check.c: New file.
54188         * lib/unistr/u32-check.c: New file.
54189
54190         * modules/unistr/u8-chr: New file.
54191         * modules/unistr/u16-chr: New file.
54192         * modules/unistr/u32-chr: New file.
54193         * lib/unistr/u8-chr.c: New file.
54194         * lib/unistr/u16-chr.c: New file.
54195         * lib/unistr/u32-chr.c: New file.
54196
54197         * modules/unistr/u8-cmp: New file.
54198         * modules/unistr/u16-cmp: New file.
54199         * modules/unistr/u32-cmp: New file.
54200         * lib/unistr/u8-cmp.c: New file.
54201         * lib/unistr/u16-cmp.c: New file.
54202         * lib/unistr/u32-cmp.c: New file.
54203
54204         * modules/unistr/u8-cpy: New file.
54205         * modules/unistr/u16-cpy: New file.
54206         * modules/unistr/u32-cpy: New file.
54207         * lib/unistr/u8-cpy.c: New file.
54208         * lib/unistr/u16-cpy.c: New file.
54209         * lib/unistr/u32-cpy.c: New file.
54210         * lib/unistr/u-cpy.h: New file.
54211
54212         * modules/unistr/u8-cpy-alloc: New file.
54213         * modules/unistr/u16-cpy-alloc: New file.
54214         * modules/unistr/u32-cpy-alloc: New file.
54215         * lib/unistr/u8-cpy-alloc.c: New file.
54216         * lib/unistr/u16-cpy-alloc.c: New file.
54217         * lib/unistr/u32-cpy-alloc.c: New file.
54218         * lib/unistr/u-cpy-alloc.h: New file.
54219
54220         * modules/unistr/u8-endswith: New file.
54221         * modules/unistr/u16-endswith: New file.
54222         * modules/unistr/u32-endswith: New file.
54223         * lib/unistr/u8-endswith.c: New file.
54224         * lib/unistr/u16-endswith.c: New file.
54225         * lib/unistr/u32-endswith.c: New file.
54226         * lib/unistr/u-endswith.h: New file.
54227
54228         * modules/unistr/u8-mblen: New file.
54229         * modules/unistr/u16-mblen: New file.
54230         * modules/unistr/u32-mblen: New file.
54231         * lib/unistr/u8-mblen.c: New file.
54232         * lib/unistr/u16-mblen.c: New file.
54233         * lib/unistr/u32-mblen.c: New file.
54234
54235         * modules/unistr/u8-mbtouc: New file.
54236         * modules/unistr/u16-mbtouc: New file.
54237         * modules/unistr/u32-mbtouc: New file.
54238         * lib/unistr/u8-mbtouc.c: New file.
54239         * lib/unistr/u16-mbtouc.c: New file.
54240         * lib/unistr/u32-mbtouc.c: New file.
54241
54242         * modules/unistr/u8-mbtouc-safe: New file.
54243         * modules/unistr/u16-mbtouc-safe: New file.
54244         * modules/unistr/u32-mbtouc-safe: New file.
54245         * lib/unistr/u8-mbtouc-safe.c: New file.
54246         * lib/unistr/u16-mbtouc-safe.c: New file.
54247         * lib/unistr/u32-mbtouc-safe.c: New file.
54248
54249         * modules/unistr/u8-move: New file.
54250         * modules/unistr/u16-move: New file.
54251         * modules/unistr/u32-move: New file.
54252         * lib/unistr/u8-move.c: New file.
54253         * lib/unistr/u16-move.c: New file.
54254         * lib/unistr/u32-move.c: New file.
54255         * lib/unistr/u-move.h: New file.
54256
54257         * modules/unistr/u8-next: New file.
54258         * modules/unistr/u16-next: New file.
54259         * modules/unistr/u32-next: New file.
54260         * lib/unistr/u8-next.c: New file.
54261         * lib/unistr/u16-next.c: New file.
54262         * lib/unistr/u32-next.c: New file.
54263
54264         * modules/unistr/u8-prev: New file.
54265         * modules/unistr/u16-prev: New file.
54266         * modules/unistr/u32-prev: New file.
54267         * lib/unistr/u8-prev.c: New file.
54268         * lib/unistr/u16-prev.c: New file.
54269         * lib/unistr/u32-prev.c: New file.
54270
54271         * modules/unistr/u8-set: New file.
54272         * modules/unistr/u16-set: New file.
54273         * modules/unistr/u32-set: New file.
54274         * lib/unistr/u8-set.c: New file.
54275         * lib/unistr/u16-set.c: New file.
54276         * lib/unistr/u32-set.c: New file.
54277         * lib/unistr/u-set.h: New file.
54278
54279         * modules/unistr/u8-startswith: New file.
54280         * modules/unistr/u16-startswith: New file.
54281         * modules/unistr/u32-startswith: New file.
54282         * lib/unistr/u8-startswith.c: New file.
54283         * lib/unistr/u16-startswith.c: New file.
54284         * lib/unistr/u32-startswith.c: New file.
54285         * lib/unistr/u-startswith.h: New file.
54286
54287         * modules/unistr/u8-stpcpy: New file.
54288         * modules/unistr/u16-stpcpy: New file.
54289         * modules/unistr/u32-stpcpy: New file.
54290         * lib/unistr/u8-stpcpy.c: New file.
54291         * lib/unistr/u16-stpcpy.c: New file.
54292         * lib/unistr/u32-stpcpy.c: New file.
54293         * lib/unistr/u-stpcpy.h: New file.
54294
54295         * modules/unistr/u8-stpncpy: New file.
54296         * modules/unistr/u16-stpncpy: New file.
54297         * modules/unistr/u32-stpncpy: New file.
54298         * lib/unistr/u8-stpncpy.c: New file.
54299         * lib/unistr/u16-stpncpy.c: New file.
54300         * lib/unistr/u32-stpncpy.c: New file.
54301         * lib/unistr/u-stpncpy.h: New file.
54302
54303         * modules/unistr/u8-strcat: New file.
54304         * modules/unistr/u16-strcat: New file.
54305         * modules/unistr/u32-strcat: New file.
54306         * lib/unistr/u8-strcat.c: New file.
54307         * lib/unistr/u16-strcat.c: New file.
54308         * lib/unistr/u32-strcat.c: New file.
54309         * lib/unistr/u-strcat.h: New file.
54310
54311         * modules/unistr/u8-strchr: New file.
54312         * modules/unistr/u16-strchr: New file.
54313         * modules/unistr/u32-strchr: New file.
54314         * lib/unistr/u8-strchr.c: New file.
54315         * lib/unistr/u16-strchr.c: New file.
54316         * lib/unistr/u32-strchr.c: New file.
54317
54318         * modules/unistr/u8-strcmp: New file.
54319         * modules/unistr/u16-strcmp: New file.
54320         * modules/unistr/u32-strcmp: New file.
54321         * lib/unistr/u8-strcmp.c: New file.
54322         * lib/unistr/u16-strcmp.c: New file.
54323         * lib/unistr/u32-strcmp.c: New file.
54324
54325         * modules/unistr/u8-strcpy: New file.
54326         * modules/unistr/u16-strcpy: New file.
54327         * modules/unistr/u32-strcpy: New file.
54328         * lib/unistr/u8-strcpy.c: New file.
54329         * lib/unistr/u16-strcpy.c: New file.
54330         * lib/unistr/u32-strcpy.c: New file.
54331         * lib/unistr/u-strcpy.h: New file.
54332
54333         * modules/unistr/u8-strcspn: New file.
54334         * modules/unistr/u16-strcspn: New file.
54335         * modules/unistr/u32-strcspn: New file.
54336         * lib/unistr/u8-strcspn.c: New file.
54337         * lib/unistr/u16-strcspn.c: New file.
54338         * lib/unistr/u32-strcspn.c: New file.
54339         * lib/unistr/u-strcspn.h: New file.
54340
54341         * modules/unistr/u8-strdup: New file.
54342         * modules/unistr/u16-strdup: New file.
54343         * modules/unistr/u32-strdup: New file.
54344         * lib/unistr/u8-strdup.c: New file.
54345         * lib/unistr/u16-strdup.c: New file.
54346         * lib/unistr/u32-strdup.c: New file.
54347         * lib/unistr/u-strdup.h: New file.
54348
54349         * modules/unistr/u8-strlen: New file.
54350         * modules/unistr/u16-strlen: New file.
54351         * modules/unistr/u32-strlen: New file.
54352         * lib/unistr/u8-strlen.c: New file.
54353         * lib/unistr/u16-strlen.c: New file.
54354         * lib/unistr/u32-strlen.c: New file.
54355         * lib/unistr/u-strlen.h: New file.
54356
54357         * modules/unistr/u8-strmblen: New file.
54358         * modules/unistr/u16-strmblen: New file.
54359         * modules/unistr/u32-strmblen: New file.
54360         * lib/unistr/u8-strmblen.c: New file.
54361         * lib/unistr/u16-strmblen.c: New file.
54362         * lib/unistr/u32-strmblen.c: New file.
54363
54364         * modules/unistr/u8-strmbtouc: New file.
54365         * modules/unistr/u16-strmbtouc: New file.
54366         * modules/unistr/u32-strmbtouc: New file.
54367         * lib/unistr/u8-strmbtouc.c: New file.
54368         * lib/unistr/u16-strmbtouc.c: New file.
54369         * lib/unistr/u32-strmbtouc.c: New file.
54370
54371         * modules/unistr/u8-strncat: New file.
54372         * modules/unistr/u16-strncat: New file.
54373         * modules/unistr/u32-strncat: New file.
54374         * lib/unistr/u8-strncat.c: New file.
54375         * lib/unistr/u16-strncat.c: New file.
54376         * lib/unistr/u32-strncat.c: New file.
54377         * lib/unistr/u-strncat.h: New file.
54378
54379         * modules/unistr/u8-strncmp: New file.
54380         * modules/unistr/u16-strncmp: New file.
54381         * modules/unistr/u32-strncmp: New file.
54382         * lib/unistr/u8-strncmp.c: New file.
54383         * lib/unistr/u16-strncmp.c: New file.
54384         * lib/unistr/u32-strncmp.c: New file.
54385
54386         * modules/unistr/u8-strncpy: New file.
54387         * modules/unistr/u16-strncpy: New file.
54388         * modules/unistr/u32-strncpy: New file.
54389         * lib/unistr/u8-strncpy.c: New file.
54390         * lib/unistr/u16-strncpy.c: New file.
54391         * lib/unistr/u32-strncpy.c: New file.
54392         * lib/unistr/u-strncpy.h: New file.
54393
54394         * modules/unistr/u8-strnlen: New file.
54395         * modules/unistr/u16-strnlen: New file.
54396         * modules/unistr/u32-strnlen: New file.
54397         * lib/unistr/u8-strnlen.c: New file.
54398         * lib/unistr/u16-strnlen.c: New file.
54399         * lib/unistr/u32-strnlen.c: New file.
54400         * lib/unistr/u-strnlen.h: New file.
54401
54402         * modules/unistr/u8-strpbrk: New file.
54403         * modules/unistr/u16-strpbrk: New file.
54404         * modules/unistr/u32-strpbrk: New file.
54405         * lib/unistr/u8-strpbrk.c: New file.
54406         * lib/unistr/u16-strpbrk.c: New file.
54407         * lib/unistr/u32-strpbrk.c: New file.
54408         * lib/unistr/u-strpbrk.h: New file.
54409
54410         * modules/unistr/u8-strrchr: New file.
54411         * modules/unistr/u16-strrchr: New file.
54412         * modules/unistr/u32-strrchr: New file.
54413         * lib/unistr/u8-strrchr.c: New file.
54414         * lib/unistr/u16-strrchr.c: New file.
54415         * lib/unistr/u32-strrchr.c: New file.
54416
54417         * modules/unistr/u8-strspn: New file.
54418         * modules/unistr/u16-strspn: New file.
54419         * modules/unistr/u32-strspn: New file.
54420         * lib/unistr/u8-strspn.c: New file.
54421         * lib/unistr/u16-strspn.c: New file.
54422         * lib/unistr/u32-strspn.c: New file.
54423         * lib/unistr/u-strspn.h: New file.
54424
54425         * modules/unistr/u8-strstr: New file.
54426         * modules/unistr/u16-strstr: New file.
54427         * modules/unistr/u32-strstr: New file.
54428         * lib/unistr/u8-strstr.c: New file.
54429         * lib/unistr/u16-strstr.c: New file.
54430         * lib/unistr/u32-strstr.c: New file.
54431         * lib/unistr/u-strstr.h: New file.
54432
54433         * modules/unistr/u8-strtok: New file.
54434         * modules/unistr/u16-strtok: New file.
54435         * modules/unistr/u32-strtok: New file.
54436         * lib/unistr/u8-strtok.c: New file.
54437         * lib/unistr/u16-strtok.c: New file.
54438         * lib/unistr/u32-strtok.c: New file.
54439         * lib/unistr/u-strtok.h: New file.
54440
54441         * modules/unistr/u8-uctomb: New file.
54442         * modules/unistr/u16-uctomb: New file.
54443         * modules/unistr/u32-uctomb: New file.
54444         * lib/unistr/u8-uctomb.c: New file.
54445         * lib/unistr/u16-uctomb.c: New file.
54446         * lib/unistr/u32-uctomb.c: New file.
54447
54448         * MODULES.html.sh (Unicode string functions): Add the new modules.
54449
54450 2007-01-08  Bruno Haible  <bruno@clisp.org>
54451
54452         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
54453         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
54454         subdirectories.
54455
54456 2007-01-08  Karl Berry  <karl@gnu.org>
54457
54458         * doc/error.texi: mention that main() fns must set program_name
54459         when progname is used.
54460
54461 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
54462
54463         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
54464         WCTYPE_H is empty, for the benefit of builds from non-distclean
54465         directories.  Problem reported by Eric Blake in
54466         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
54467
54468 2007-01-08  Bruno Haible  <bruno@clisp.org>
54469
54470         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
54471         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
54472         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
54473         PROVIDE_CANONICALIZE_FILENAME_MODE.
54474         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
54475
54476 2007-01-08  Bruno Haible  <bruno@clisp.org>
54477
54478         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
54479         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
54480         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
54481         * lib/fts.c: Likewise.
54482         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
54483
54484 2006-12-25  Bruno Haible  <bruno@clisp.org>
54485
54486         * modules/utf8-ucs4-safe: New file.
54487         * lib/utf8-ucs4-safe.h: New file.
54488         * lib/unistr/utf8-ucs4-safe.c: New file.
54489
54490         * modules/utf16-ucs4-safe: New file.
54491         * lib/utf16-ucs4-safe.h: New file.
54492         * lib/unistr/utf16-ucs4-safe.c: New file.
54493
54494         * MODULES.html.sh (Unicode string functions): Add the new modules.
54495
54496 2007-01-08  Bruno Haible  <bruno@clisp.org>
54497
54498         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
54499         (Depends-on): Add unitypes.
54500         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
54501         (u8_mbtouc_aux): Move out to separate file.
54502         (u8_mbtouc): Use ucs4_t, uint8_t types.
54503         * lib/unistr/utf8-ucs4.c: New file.
54504
54505         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
54506         (Depends-on): Add unitypes.
54507         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
54508         (u16_mbtouc_aux): Move out to separate file.
54509         (u16_mbtouc): Use ucs4_t, uint16_t types.
54510         * lib/unistr/utf16-ucs4.c: New file.
54511
54512         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
54513         (Depends-on): Add unitypes.
54514         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
54515         (u8_uctomb_aux): Move out to separate file.
54516         (u8_uctomb): Use ucs4_t, uint8_t types.
54517         * lib/unistr/ucs4-utf8.c: New file.
54518
54519         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
54520         (Depends-on): Add unitypes.
54521         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
54522         (u16_uctomb_aux): Move out to separate file.
54523         (u16_uctomb): Use ucs4_t, uint16_t types.
54524         * lib/unistr/ucs4-utf16.c: New file.
54525
54526 2006-12-25  Bruno Haible  <bruno@clisp.org>
54527
54528         * modules/unitypes: New file.
54529         * lib/unitypes.h: New file.
54530         * MODULES.html.sh (func_all_modules): New section "Unicode string
54531         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
54532         this section. Add unitypes.
54533
54534 2007-01-08  Bruno Haible  <bruno@clisp.org>
54535
54536         Avoid variable names that conflict with those from libtool.
54537         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
54538         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
54539         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
54540         library_names_spec to acl_library_names_spec, hardcode_* to
54541         acl_hardcode_*.
54542         Reported by Ralf Wildenhues.
54543
54544 2007-01-08  Bruno Haible  <bruno@clisp.org>
54545
54546         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
54547         definition.
54548         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
54549         definition.
54550         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
54551         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
54552         definition.
54553         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
54554         definition.
54555         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
54556         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
54557         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
54558         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
54559         definition.
54560         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
54561         definition.
54562         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
54563         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
54564         GC_USE_<algorithm>.
54565         * lib/gc-libgcrypt.c: Likewise.
54566         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
54567         * modules/gc-arctwo (configure.ac): Likewise.
54568         * modules/gc-des (configure.ac): Likewise.
54569         * modules/gc-hmac-md5 (configure.ac): Likewise.
54570         * modules/gc-hmac-sha1 (configure.ac): Likewise.
54571         * modules/gc-md2 (configure.ac): Likewise.
54572         * modules/gc-md4 (configure.ac): Likewise.
54573         * modules/gc-md5 (configure.ac): Likewise.
54574         * modules/gc-random (configure.ac): Likewise.
54575         * modules/gc-rijndael (configure.ac): Likewise.
54576         * modules/gc-sha1 (configure.ac): Likewise.
54577
54578 2007-01-08  Bruno Haible  <bruno@clisp.org>
54579
54580         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
54581         macro definition.
54582         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
54583         definition.
54584         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
54585         definition.
54586         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
54587         * modules/fcntl-safer (configure.ac): Likewise.
54588         * modules/fopen-safer (configure.ac): Likewise.
54589         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
54590         GNULIB_FWRITEERROR macro definition.
54591
54592 2007-01-08  Bruno Haible  <bruno@clisp.org>
54593
54594         * m4/gnulib-common.m4: New file.
54595         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
54596         (func_get_filelist): Add m4/gnulib-common.m4.
54597
54598 2007-01-08  Bruno Haible  <bruno@clisp.org>
54599
54600         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
54601         command.
54602
54603 2007-01-08  Jim Meyering  <jim@meyering.net>
54604
54605         Use a more robust test for a "can't happen" condition.
54606         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
54607         narrowed the st_size value.  Presuming the "can't happen" condition
54608         is true, that narrowing could conceivably convert an invalid st_size
54609         value into a valid one.  Instead, use a change based on Matthew
54610         Woehlke's original patch.
54611
54612         Slight readability improvement: use an assert-like macro
54613         in place of literal "abort ()" uses.
54614         * lib/fts.c (fts_assert): Define.
54615         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
54616         Use this macro instead of a bare 'abort'.
54617
54618 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
54619
54620         Don't worry about using IRIX 5.3's wctype.h broken definitions;
54621         simply work around them.
54622         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
54623         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
54624         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
54625         declaring.
54626         Don't bother to define as macros, since the standard doesn't require it.
54627         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
54628         longer worry about IRIX 5.3.
54629         (HAVE_WCTYPE_CTMP_BUG): Remove.
54630
54631 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
54632
54633         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
54634         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
54635         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
54636         Problems reported by Georg Schwarz for IRIX 5.3.
54637
54638         * gnulib-tool (autoconf_minversion): Take the maximum version number
54639         found, not the minimum.  Problem reported by James Youngman.
54640
54641 2007-01-03  Karl Berry  <karl@gnu.org>
54642
54643         * doc/error.texi: new file, explaining interaction with progname.
54644         * doc/gnulib.texi: include it.  Update copyright.
54645
54646 2007-01-03  Simon Josefsson  <simon@josefsson.org>
54647
54648         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
54649         AC_CANONICAL_HOST, to improve autobuild outputs.
54650
54651 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
54652             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
54653
54654         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
54655         sockets, server sockets, and other file descriptors.  Count errors
54656         to compute the return value.  Reorder the code a bit to be easier
54657         to follow.  Don't set event bits that were not requested (except
54658         POLLERR and POLLHUP).
54659
54660 2007-01-01  Bruno Haible  <bruno@clisp.org>
54661
54662         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
54663
54664 2007-01-03  Jim Meyering  <jim@meyering.net>
54665
54666         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
54667
54668 2007-01-02  Bruno Haible  <bruno@clisp.org>
54669
54670         * modules/settime (Include): Require timespec.h.
54671         * modules/nanosleep (Include): Likewise.
54672
54673 2007-01-01  Bruno Haible  <bruno@clisp.org>
54674
54675         * gnulib-tool (func_emit_copyright_notice): Bump year.
54676         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
54677
54678 2007-01-01  Bruno Haible  <bruno@clisp.org>
54679
54680         Improve support for OpenBSD.
54681         * build-aux/config.rpath (libname_spec): Export.
54682         (library_names_spec): New variable. Export.
54683         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
54684         library_names_spec from the config.rpath output. Locate shared library
54685         through the name pattern in library_names_spec.
54686
54687 2007-01-01  Eric Blake  <ebb9@byu.net>
54688
54689         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
54690
54691 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
54692
54693         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
54694         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
54695         assume the C locale, and avoid an "eval" that could cause trouble.
54696         Problem with SORT reported by Bob Proulx.
54697
54698         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
54699         Define.  Trivial patch from Henning Nielsen Lund, originally
54700         sent to bug-grep@gnu.org today.
54701
54702 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
54703
54704         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
54705         struct stat.  Problem reported by Henning Nielsen Lund.
54706         * lib/acl.c: Include acl.h first, to check interface.  Don't
54707         bother to include sys/types.h and sys/stat.h again.
54708
54709 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
54710
54711         Import the following change from libc; problem reported by
54712         Sven Verdoolaege.
54713
54714         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
54715
54716         [BZ #1373]
54717         * lib/argp.h: Remove __NTH for __argp_usage inline function.
54718
54719 2006-12-28  Jim Meyering  <jim@meyering.net>
54720
54721         * build-aux/announce-gen: Do not assume that the package
54722         builds any of tar.gz, tar.bz2, and .xdelta files.
54723         Suggestion from Simon Josefsson.
54724
54725 2006-12-28  Simon Josefsson  <simon@josefsson.org>
54726
54727         * modules/announce-gen: New file.
54728
54729 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
54730
54731         * lib/mbchar.h: Just include <wctype.h>; the wctype module
54732         handles its gotchas now.
54733         * lib/mbswidth.c: Likewise.
54734         * lib/wcwidth.h: Likewise.
54735         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
54736         and iswcntrl; the wctype module does this stuff now.
54737         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
54738         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
54739         * modules/mbchar (Depends-on): Add wctype.
54740         * modules/mbswidth (Depends-on): Likewise.
54741         * modules/wcwidth (Depends-on): Likewise.
54742
54743 2006-12-27  Eric Blake  <ebb9@byu.net>
54744
54745         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
54746         module uses more than what <wctype.h> is required to provide.
54747
54748 2006-12-26  Eric Blake  <ebb9@byu.net>
54749
54750         * gnulib-tool (sed_extract_prog): Avoid space-tab.
54751
54752 2006-12-26  Eric Blake  <ebb9@byu.net>
54753
54754         * modules/absolute-header: New module.
54755         * modules/fcntl (Depends-on): Depend on it.
54756         * modules/inttypes (Depends-on): Likewise.
54757         * modules/stdint (Depends-on): Likewise.
54758         * modules/sys_stat (Depends-on): Likewise.
54759         * modules/wctype (Depends-on): Likewise.
54760         * MODULES.html.sh (Support for building libraries and
54761         executables): Document it.
54762
54763 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
54764
54765         * gnulib-tool (SED): Remove, undoing previous change.
54766         The problem was that it broke coreutils on Solaris, because
54767         "sed --posix" leaked into a makefile.
54768         (sed): New alias, if 'alias' and GNU sed.
54769
54770 2006-12-24  Jim Meyering  <jim@meyering.net>
54771
54772         Work around an fchownat bug in glibc-2.4:
54773         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
54774         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
54775         in spite of the -P option.
54776         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
54777         New macros.
54778         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
54779         * modules/openat (Files): Add lib/fchownat.c.
54780         * lib/openat.c (fchownat): Don't define here.  Move to...
54781         * lib/fchownat.c: ...this new file.
54782
54783 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
54784
54785         Fix bug reported by Bruno Haible in
54786         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
54787         where quotearg.c didn't compile on Mac OS X 10.2 because it
54788         lacks <wchar.h> and wint_t.
54789         * lib/wctype_.h (__wctype_wint_t): New type.
54790         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
54791         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
54792         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
54793         Arg is now of type __wctype_wint_t, not wint_t.
54794         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
54795         substitute HAVE_WINT_T.
54796         * modules/wctype (Files): Add m4/wint_t.m4.
54797         (wctype.h): Substitute HAVE_WINT_T.
54798
54799 2006-12-23  Bruno Haible  <bruno@clisp.org>
54800
54801         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
54802
54803 2006-12-23  Bruno Haible  <bruno@clisp.org>
54804
54805         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
54806         S_ISLNK.
54807         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
54808         mingw.
54809
54810 2006-12-22  Bruno Haible  <bruno@clisp.org>
54811
54812         * lib/copy-file.c: Include acl.h.
54813         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
54814         Close the file descriptors only after being done with copy_acl.
54815         * modules/copy-file (Depends-on): Add acl.
54816
54817 2006-12-22  Bruno Haible  <bruno@clisp.org>
54818
54819         * gnulib-tool (SED): New variable.
54820         Use $SED instead of sed everywhere.
54821
54822 2006-12-22  Bruno Haible  <bruno@clisp.org>
54823
54824         * modules/no-c++: New file.
54825         * m4/no-c++.m4: New file.
54826         * MODULES.html.sh (Support for building libraries and executables):
54827         Add no-c++.
54828
54829 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
54830
54831         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
54832         Include <limits.h>, and use its INT_MAX to rewrite the
54833         j loop so that it does not overflow 'int'.  Problem reported by
54834         Ralf Wildenhues in
54835         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
54836         Play it safe by shifting left by 1 rather than multiplying by 2,
54837         as GCC is less likely to optimize this away when the value
54838         is signed (when it assumes overflow leads to undefined behavior).
54839         Also, don't assume time_t uses two's complement.
54840
54841 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
54842
54843         * MODULES.html.sh: New module wctype.
54844         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
54845         * lib/fnmatch.c: Don't bother to include <wchar.h> before
54846         <wctype.h>, since the new wctype module should fix this.
54847         * lib/quotearg.c: Include <wctype.h> unconditionally, since
54848         the wctype module should arrange for it.
54849         * lib/regex_internal.h: Likewise.
54850         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
54851         since the wctype module should handle this now.
54852         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
54853         * modules/fnmatch (Depends-on): Add wctype.
54854         * modules/quotearg (Depends-on): Likewise.
54855         * modules/regex (Depends-on): Likewise.
54856
54857 2006-12-19  Bruno Haible  <bruno@clisp.org>
54858
54859         * lib/strdup.h [C++]: Wrap definitions in extern "C".
54860         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
54861
54862 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54863
54864         * modules/savewd (Depends-on): Fix dependency on fcntl.
54865
54866 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
54867
54868         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
54869         conforms to C99, rather than relying on the user's environment
54870         setting of STDINT_H.
54871
54872 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
54873         and Eric Blake  <ebb9@byu.net>
54874
54875         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
54876         This is more consistent with the other defines here.
54877         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
54878         Port to z/OS.  Problem reported by Paul Gilmartin.
54879         Change local vars to use gl_ prefix rather than ac_.
54880         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
54881         with other defines.
54882         * modules/double-slash-root: New module.
54883         * modules/dirname (Files): Remove m4/double-slash-root.m4.
54884         (Depends-on): Add double-slash-root.
54885         * MODULES.html.sh (File system functions): Mention new module.
54886
54887 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
54888
54889         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
54890         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
54891         This is for the benefit of gzip, which doesn't do i18n.
54892
54893 2006-12-12  Jim Meyering  <jim@meyering.net>
54894
54895         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
54896         Reported by Andreas Schwab <schwab@suse.de>.
54897
54898 2006-12-12  Bruno Haible  <bruno@clisp.org>
54899
54900         Merge these changes.
54901         2006-09-05  Bruno Haible  <bruno@clisp.org>
54902         * lib/iconvme.c (iconv_string): No need to save and restore errno when
54903         iconv_alloc succeeded.
54904         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
54905         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
54906         test for " && dest " at the end - dest is always != NULL there. Call
54907         iconv with 4xNULL arguments initially, to reset the state. Call iconv
54908         with 2xNULL arguments, also to flush the state storage. Handle the
54909         IRIX iconv behaviour. Realloc the final result, to throw away unused
54910         memory.
54911
54912 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
54913
54914         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
54915         and fchmodat unconditionally, since glibc 2.4 has them.
54916         Problem reported by Arkadiusz Miskiewicz.
54917
54918 2006-12-10  Bruno Haible  <bruno@clisp.org>
54919
54920         * gnulib-tool (func_import): Show the include files only for those
54921         modules that are copied and specified.
54922         Reported by Karl Berry.
54923
54924 2006-12-08  Jim Meyering  <jim@meyering.net>
54925
54926         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
54927         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
54928
54929         * build-aux/announce-gen: Add two new options, both optional:
54930         --bootstrap-tools=TOOL_LIST
54931               a comma-separated list of tools, e.g.,
54932               autoconf,automake,bison,gnulib
54933         --gnulib-snapshot-date=DATE
54934               if gnulib is in the bootstrap tool list,
54935               then report this as the snapshot date.
54936               If not specified, use the current date/time.
54937               If you specify a date here, be sure it's UTC.
54938
54939 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54940
54941         * tests/test-argp-2.sh: Fix test to match actual output.
54942         (func_compare): Fix sed script to be portable.
54943
54944 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
54945
54946         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
54947         workaround for this case.  It is not autoconfigured now; offhand
54948         it's hard to see how to autoconfigure it.
54949
54950 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
54951
54952         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
54953         a directory that is about to be chowned.  Such a directory's
54954         initial file permissions should permit the owner only and this
54955         should not be changed until after the chown, since the group and
54956         other bits would be incorrect if they granted permission before
54957         the chown.
54958
54959         Fix porting problem for iswctype reported by Georg Schwarz in:
54960         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
54961         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
54962         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
54963         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
54964         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
54965
54966 2006-12-03  Jim Meyering  <jim@meyering.net>
54967
54968         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
54969         p->fts_statp may not yet be defined.
54970         (fts_read): Instead, set it in the caller, once p->fts_statp is
54971         sure to be defined, and corresponds to a top-level directory.
54972         This bug made du -x fail.  Here's the coreutils test case:
54973         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
54974         Reported by Mike Frysinger.
54975
54976 2006-12-01  Jim Meyering  <jim@meyering.net>
54977
54978         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
54979         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
54980         Reported by Simon Josefsson.
54981
54982 2006-11-30  Jim Meyering  <jim@meyering.net>
54983
54984         * m4/warning.m4: Use the all-permissive copyright notice
54985         recommended by RMS (rather than LGPL).
54986         * m4/vararrays.m4: Likewise.
54987         * m4/flexmember.m4: Likewise.
54988
54989 2006-11-29  Bruno Haible  <bruno@clisp.org>
54990
54991         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
54992         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
54993         using +=.
54994         Reported by Simon Josefsson <simon@josefsson.org>.
54995
54996 2006-11-28  James Youngman <jay@gnu.org>
54997
54998         * README: Advise users that they might find the bug-gnulib@gnu.org
54999         and autotools-announce@gnu.org mailing lists useful.
55000
55001 2006-11-28  Bruno Haible  <bruno@clisp.org>
55002
55003         * m4/ptrdiff_max.m4: Remove file.
55004
55005 2006-11-21  Bruno Haible  <bruno@clisp.org>
55006
55007         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
55008         _AC_COMPUTE_INT.
55009         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
55010         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
55011         _AC_COMPUTE_INT.
55012         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
55013         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
55014         _AC_COMPUTE_INT.
55015         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
55016
55017 2006-11-28  Jim Meyering  <jim@meyering.net>
55018
55019         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
55020         warning from "gcc -Wshadow" about shadowing the builtin.
55021
55022 2006-11-27  Bruno Haible  <bruno@clisp.org>
55023
55024         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
55025         _AC_COMPUTE_INT.
55026         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
55027
55028 2006-11-27  Bruno Haible  <bruno@clisp.org>
55029             Paul Eggert  <eggert@cs.ucla.edu>
55030
55031         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
55032
55033 2006-11-26  Bruno Haible  <bruno@clisp.org>
55034
55035         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
55036         noinst_LTLIBRARIES.
55037
55038 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
55039             Bruno Haible  <bruno@clisp.org>
55040
55041         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
55042         if compiling with "gcc -ansi".
55043
55044 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
55045
55046         Fix some incompatibilities with gcc -ansi -pedantic.
55047         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
55048         if compiling pedantically with GCC, unless it's C99 or later.
55049         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
55050         it mishandles gcc -ansi -pedantic as well.
55051         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
55052         if gcc -pedantic.
55053         * lib/regexec.c (check_node_accept_bytes): Don't use auto
55054         initializers for struct if -pedantic, unless it's C99 or later.
55055
55056 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
55057
55058         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
55059         Don't close an fd more than once. Identical atimes indicate
55060         success, not failure.
55061
55062 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
55063
55064         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
55065
55066 2006-11-23  Jim Meyering  <jim@meyering.net>
55067
55068         * build-aux/announce-gen: New file.  From coreutils.
55069
55070 2006-11-22  Jim Meyering  <jim@meyering.net>
55071
55072         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
55073         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
55074         (fts_read): Use a temporary to narrow the overused st_size member
55075         before using it in a switch statement.  Reported by Matthew Woehlke.
55076
55077         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
55078         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
55079
55080 2006-11-20  Bruno Haible  <bruno@clisp.org>
55081
55082         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
55083         changequote instead of pairs of brackets.
55084         Reported by Andreas Schwab <schwab@suse.de>.
55085
55086 2006-11-21  Jim Meyering  <jim@meyering.net>
55087
55088         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
55089         so as to remain compatible with older compilers.
55090         Patch from Michael Deutschmann.
55091
55092 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
55093
55094         * MODULES.html.sh (File system functions): Add openat.
55095
55096         * lib/openat.h (rpl_fstatat): New macro, if
55097         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
55098         (fstatat): Define to rpl_fstatat under the same conditions,
55099         unless COMPILING_FSTATAT.
55100         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
55101         seems to have the bug.
55102         * lib/fstatat.c: New file.
55103         * modules/openat (Files): Add it.
55104
55105 2006-11-20  Bruno Haible  <bruno@clisp.org>
55106
55107         * Makefile: New file.
55108
55109 2006-11-20  Jim Meyering  <jim@meyering.net>
55110
55111         The beginnings of syntax-related checks for gnulib.
55112         * lib/Makefile: New file.
55113         * lib/t-idcache: New script.  Ensure that the two halves of
55114         idcache.c stay in sync.
55115
55116         * lib/idcache.c: Adjust comments in user- and group- portions to
55117         be more accurate, and to be consistent with one another.
55118
55119 2006-11-20  Jim Meyering  <jim@meyering.net>
55120
55121         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
55122         continue using the flexible array member (thus, this module performs
55123         half as many malloc calls), with the addition that...
55124         (getgroup, getuser): Consistently record a non-match via an empty
55125         "name" string, and map an empty string match to a NULL return value.
55126         * modules/idcache (Depends-on): Re-add flexmember.
55127
55128         * lib/idcache.c (getuser): Remove all uses of the register keyword.
55129         (getuidbyname, getgroup, getgidbyname): Likewise.
55130
55131         Use cleaner syntax: NULL rather than 0.
55132         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
55133
55134 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
55135
55136         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
55137         It mishandled the case where the group was missing.
55138         Problem reported by Greg Schafer.
55139         * modules/idcache: Likewise.
55140
55141 2006-11-18  Jim Meyering  <jim@meyering.net>
55142
55143         * check-module (%exempt_header): Add exception for some
55144         conditionally-included headers.
55145
55146         * modules/i-ring (Depends-on): Add verify.
55147         (License): Change to LGPL.
55148
55149 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
55150
55151         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
55152         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
55153         and inttostr.h.  Use snprintf rather than uinttostr, so that
55154         LGPLed code doesn't depend on GPLed.
55155
55156 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
55157
55158         * modules/inline (License): Change from GPL to LGPL.
55159
55160 2006-11-17  Jim Meyering  <jim@meyering.net>
55161
55162         * modules/d-type (License): Switch to LGPL.
55163
55164 2006-11-15  Bruno Haible  <bruno@clisp.org>
55165
55166         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
55167
55168 2006-11-15  Eric Blake  <ebb9@byu.net>
55169
55170         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
55171         the module dependency.
55172
55173 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55174             Bruno Haible  <bruno@clisp.org>
55175
55176         * gnulib-tool (func_create_testdir): Add license consistency check.
55177
55178 2006-11-15  Eric Blake  <ebb9@byu.net>
55179
55180         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
55181         random "(cached)" in configure output.
55182
55183 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55184
55185         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
55186         test for conforming inttypes.h is both announced and cached.
55187
55188         * MODULES.html.sh (seen_modules, seen_files): New variables.
55189         (func_module): Rewrite to use a few less gnulib-tool and sed
55190         invocations.  Avoid a couple of quadratic algorithms for ...
55191         (missed_modules, missed_files): ... these, with ...
55192         (func_append, func_tmpdir): ... these new functions, from
55193         gnulib-tool.  Analogously, install traps for cleanup.
55194
55195         * tests/test-gc.c (main): Remove unused variables.
55196         * tests/test-read-file.c: Include stdlib.h, for 'free'.
55197
55198 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
55199
55200         * modules/inttostr (License): Change to LGPL.
55201
55202 2006-11-14  Eric Blake  <ebb9@byu.net>
55203
55204         * modules/tempname (License): Change to LGPL.
55205
55206 2006-11-14  Eric Blake  <ebb9@byu.net>
55207
55208         * doc/functions.texi (Function Portability): *printf functions on
55209         Cygwin now understand all POSIX size specifiers.
55210
55211 2006-11-14  Bruno Haible  <bruno@clisp.org>
55212
55213         * modules/c-ctype (License): Change to LGPL.
55214
55215 2006-11-12  Bruno Haible  <bruno@clisp.org>
55216
55217         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
55218         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
55219         for GNOME libraries, for which the include files are installed in
55220         subdirectories of $prefix/include.
55221
55222 2006-11-12  Bruno Haible  <bruno@clisp.org>
55223
55224         * m4/lib-link.m4: Require at least autoconf-2.54.
55225         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
55226         name to underscores for the --with option.
55227
55228 2006-11-13  Bruno Haible  <bruno@clisp.org>
55229
55230         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
55231         the tests directory.
55232         Reported by Ralf Wildenhues.
55233
55234 2006-11-13  Bruno Haible  <bruno@clisp.org>
55235
55236         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
55237         (func_emit_initmacro_end): Undo the override here.
55238         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
55239         Works around the famous automake error in coreutils.
55240
55241 2006-11-13  Eric Blake  <ebb9@byu.net>
55242
55243         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
55244         element, not its node.
55245
55246 2006-11-12  Bruno Haible  <bruno@clisp.org>
55247
55248         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
55249         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
55250
55251 2006-11-12  Bruno Haible  <bruno@clisp.org>
55252
55253         * gnulib-tool: New option --local-symlink.
55254         (func_usage): Document it.
55255         (lsymbolic): New variable.
55256         (func_import, func_create_testdir): If --symlink was not specified,
55257         test whether --local-symlink was specified and the file comes from
55258         the local_gnulib_dir.
55259
55260 2006-11-12  Bruno Haible  <bruno@clisp.org>
55261
55262         * gnulib-tool (func_ln): New function.
55263         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
55264
55265 2006-11-12  Bruno Haible  <bruno@clisp.org>
55266
55267         Finish support for source files in subdirectories.
55268         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
55269         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
55270         AUTOMAKE_OPTIONS.
55271         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
55272
55273 2006-11-12  Bruno Haible  <bruno@clisp.org>
55274
55275         * gnulib-tool (func_get_automake_snippet): Synthesize also an
55276         EXTRA_lib_SOURCES augmentation.
55277         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
55278
55279 2006-11-12  Jim Meyering  <jim@meyering.net>
55280
55281         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
55282         file descriptors.  This also averts a failure on systems with
55283         native openat support when a traversed directory lacks "x" access.
55284         * lib/fts_.h: Include "i-ring.h"
55285         (struct FTS) [fts_fd_ring]: New member.
55286         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
55287         (FCHDIR): Add parentheses.
55288         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
55289         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
55290         When descending, rather than simply closing the previous
55291         fts_cwd_fd value, push that file descriptor onto the ring.
55292         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
55293         (fts_open): Initialize the new fd_ring member.
55294         (fts_close): Clear the ring.
55295         (fts_safe_changedir): When possible, use our new fd_ring to skip
55296         the diropen and fstat and dev/ino comparison that would normally
55297         accompany a virtual `chdir ("..")'.
55298
55299         * modules/fts (Depends-on): Add i-ring.
55300         * modules/i-ring: New module.
55301         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
55302         * m4/i-ring.m4: New file.
55303
55304 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55305
55306         * gnulib-tool (func_create_testdir): Fix replacement of
55307         `build-aux' in configure.ac.  Run autotools in gltests
55308         subdirectory.
55309         (func_create_testdir, func_create_megatestdir, test): There is
55310         no need for '--force' in most autotool invocations in a new
55311         tree.  Actually fail the whole test if any of the tools, or the
55312         configure or make stages fail.
55313
55314         Sync from Automake.
55315         * build-aux/gnupload: Revert last change.  Add pointer to upload
55316         instructions of the GNU Maintenance Instructions.
55317         Suggestion by Karl Berry.
55318
55319 2006-11-10  Jim Meyering  <jim@meyering.net>
55320
55321         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
55322
55323 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
55324
55325         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
55326         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
55327         (bind_textdomain_codeset) [! ENABLE_NLS]:
55328         Evaluate all the arguments.  That way, callers get compatible behavior
55329         if the arguments have side effects.  Also, it avoids some GCC
55330         diagnostics in some cases; Joel E. Denny reported problems when Bison
55331         was configured with --enable-gcc-warnigs.
55332
55333 2006-11-10  Jim Meyering  <jim@meyering.net>
55334
55335         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
55336         relevant options in CFLAGS (like -O, -fno-inline) are taken into
55337         account.
55338
55339 2006-11-10  Jim Meyering  <jim@meyering.net>
55340
55341         * modules/inline: New file/module.
55342         * modules/xalloc (Files): Remove m4/inline.m4.
55343         (Depends-on): Add inline, instead.
55344         * modules/oset: Likewise.
55345         * modules/list: Likewise.
55346
55347 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
55348
55349         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
55350         Problem reported by Matthew Woehlke.
55351
55352 2006-11-09  Bruno Haible  <bruno@clisp.org>
55353
55354         * lib/tempname.c (gen_tempname): Remove variant that invokes
55355         __gen_tempname.
55356         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
55357         __gen_tempname.
55358
55359 2006-11-08  Bruno Haible  <bruno@clisp.org>
55360
55361         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
55362         to 'yes' instead of 'cross-compiling'.
55363
55364 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
55365
55366         * lib/quotearg.h (quotearg_free): New decl.
55367         * lib/quotearg.c (quotearg_free): New function.
55368         (slot0, nslots, slotvec0, slotvec):
55369         Now file-scope so that quotearg_free can get at them.
55370
55371 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55372
55373         Sync from Automake.
55374         * build-aux/gnupload: Add missing 'gnu' to example URL.
55375         Report by Karl Berry.
55376
55377 2006-11-08  Bruno Haible  <bruno@clisp.org>
55378
55379         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
55380         Suggested by Paul Eggert.
55381
55382 2006-11-08  Jim Meyering  <jim@meyering.net>
55383
55384         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
55385         It's already included if !_LIBC.
55386         (fts_safe_changedir): Add a comment.
55387
55388 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
55389
55390         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
55391         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
55392         Matthew Woehlke.
55393
55394         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
55395         definitions up, to avoid colliding with change below.
55396         (static_inline) [HAVE_INLINE]: New macro.
55397         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
55398         Provide extern decls when !HAVE_INLINE.  Do not define unless
55399         static_inline is defined, either by us or by xmalloc.c.  Use
55400         static_inline rather than static inline.
55401         (XCALLOC): Optimize sizeof(T) = 1 case.
55402         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
55403
55404 2006-11-07  Bruno Haible  <bruno@clisp.org>
55405
55406         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
55407         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
55408         AC_C_INLINE.
55409         * modules/xalloc (Files): Add m4/inline.m4.
55410
55411 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55412
55413         * README: Fix typo.
55414         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
55415         (Miscellanous Notes): ...from this.
55416
55417 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
55418
55419         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
55420         Mention that offsetof should be used instead of sizeof.
55421         From Bruno Haible.
55422
55423 2006-11-07  Bruno Haible  <bruno@clisp.org>
55424
55425         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
55426
55427 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
55428
55429         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
55430         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
55431         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
55432         (gl_tree_add_before, gl_tree_add_after):
55433         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
55434         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
55435         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
55436         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
55437         (gl_linked_add_after, gl_linked_add_at): Likewise.
55438         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
55439         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
55440         (gl_tree_add_before, gl_tree_add_after): Likewise.
55441         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
55442         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
55443         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
55444
55445 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55446
55447         * lib/gl_oset.h: Use C comment style, not C++ comment style.
55448
55449 2006-11-06  Bruno Haible  <bruno@clisp.org>
55450
55451         * m4/inline.m4: New file.
55452         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
55453         * modules/list (Files): Add m4/inline.m4.
55454         * modules/oset (Files): Likewise.
55455
55456 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
55457
55458         * lib/idcache.c: Include <stddef.h>, for offsetof.
55459         (struct userid.name): Change from char * to a flexible array member.
55460         All uses changed.
55461         * modules/idcache (Depends-on): Add flexmember.
55462
55463         * MODULES.html.sh (Core language properties): New module flexmember.
55464         * modules/flexmember, m4/flexmember.m4: New files.
55465
55466         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
55467         inline functions that are identical with the old xnmalloc_inline,
55468         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
55469         that we can avoid some unnecessary integer multiplications and
55470         divisions in the common case where the element size is known at
55471         compile time.
55472         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
55473         needed.
55474         (xnboundedmalloc): Remove.
55475         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
55476         arguments, for consistency with rest of this header.
55477         (xcharalloc): Rewrite using XNMALLOC.
55478         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
55479         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
55480         versions have been moved to lib/xalloc.h and renamed to be the
55481         non-*_inline versions.
55482         (xmalloc, xrealloc): Implement without reference to the xnmalloc
55483         and xnrealloc functions, since those functions are now inline and
55484         now call us.
55485         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
55486         renaming described above.
55487         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
55488         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
55489         captures the dependency in AC_C_INLINE.
55490
55491         New module canonicalize-lgpl, proposed by Charles Wilson in
55492         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
55493         with a few small changes afterwards.
55494         * MODULES.html.sh (File system functions): New module
55495         canonicalize-lgpl.
55496         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
55497         and canonicalize_file_name.
55498         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
55499         * modules/canonicalize-lgpl: New files.
55500
55501 2006-11-05  Bruno Haible  <bruno@clisp.org>
55502
55503         * gnulib-tool (func_import, func_create_testdir): Create directories
55504         also for files in subdirectories of lib/.
55505
55506 2006-11-05  Bruno Haible  <bruno@clisp.org>
55507
55508         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
55509         ANSI C compliant.
55510
55511 2006-11-03  Bruno Haible  <bruno@clisp.org>
55512
55513         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
55514         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
55515         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
55516         (xnboundedmalloc): New inline function.
55517         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
55518         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
55519         xmalloc.
55520         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
55521         xmalloc.
55522         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
55523         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
55524         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
55525         xmalloc.
55526         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
55527         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
55528         xmalloc.
55529         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
55530         gl_tree_add_after): Use XMALLOC instead of xmalloc.
55531         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
55532         xmalloc.
55533         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
55534         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
55535         gl_tree_add_after): Use XMALLOC instead of xmalloc.
55536         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
55537         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
55538         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
55539         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
55540
55541 2006-11-03  Bruno Haible  <bruno@clisp.org>
55542
55543         * lib/c-ctype.h [C++]: Define functions without name mangling.
55544         * lib/fwriteerror.h [C++]: Likewise.
55545         * lib/gcd.h [C++]: Likewise.
55546         * lib/linebreak.h [C++]: Likewise.
55547
55548 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
55549
55550         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
55551         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
55552         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
55553         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
55554         Check for functions and headers just once.
55555         Check for declaration of canonicalize_file_name.
55556         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
55557
55558 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
55559
55560         * gnulib-tool (func_import): Fix typo in actioncmd.
55561
55562 2006-11-02  Bruno Haible  <bruno@clisp.org>
55563
55564         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
55565         newline sequence in the Makefile.am snippet as a space, like "make"
55566         does.
55567         Reported by Roger Persson <perrog@gmail.com>.
55568
55569 2006-11-01  Bruno Haible  <bruno@clisp.org>
55570
55571         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
55572         already declared in <string.h>.
55573         * lib/strcase.h (strncasecmp): Don't declare it if yes.
55574
55575 2006-11-01  Bruno Haible  <bruno@clisp.org>
55576
55577         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
55578         * lib/strcase.h: Include <string.h>.
55579         (strcasecmp): Define to rpl_strcasecmp here.
55580
55581 2006-11-01  Bruno Haible  <bruno@clisp.org>
55582
55583         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
55584
55585 2006-11-01  Eric Blake  <ebb9@byu.net>
55586
55587         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
55588
55589         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
55590
55591 2006-10-29  Bruno Haible  <bruno@clisp.org>
55592
55593         Make it compile in C++ mode.
55594         * lib/full-write.c (full_rw): Add a cast.
55595
55596 2006-11-01  Bruno Haible  <bruno@clisp.org>
55597
55598         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
55599         be POSIX compliant.
55600         Reported by Roger Persson <perrog@gmail.com>.
55601
55602 2006-11-01  Eric Blake  <ebb9@byu.net>
55603
55604         * lib/getopt_.h: Fix comments.
55605
55606 2006-10-31  Eric Blake  <ebb9@byu.net>
55607
55608         * modules/tmpdir (Depends-on): Add sys_stat.
55609         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
55610         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
55611         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
55612         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
55613         tempname.
55614
55615 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
55616
55617         Avoid some C++ diagnostics reported by Bruno Haible.
55618         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
55619         xmalloc.
55620         (quotearg_alloc): Use xcharalloc rather than xmalloc.
55621         (struct slotvec): Move to top level.
55622         (quotearg_n_options): Rewrite to avoid xmalloc.
55623         * lib/xalloc.h (xcharalloc): New function.
55624         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
55625         [defined __cplusplus]: Add function template that provides result
55626         type propagation.  This part of the change is from Bruno Haible.
55627
55628 2006-10-29  Bruno Haible  <bruno@clisp.org>
55629
55630         Make it compile in C++ mode.
55631         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
55632         * lib/strnlen1.c (strnlen1): Cast memchr result.
55633         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
55634         * lib/clean-temp.c (string_equals, string_hash): Add casts.
55635         (create_temp_dir): Rename local variable 'template'.
55636         (compile_csharp_using_sscli): Add cast.
55637         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
55638         * lib/findprog.c (find_in_path): Likewise.
55639         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
55640         * lib/wait-process.c (register_slave_subprocess): Likewise.
55641
55642 2006-10-22  Bruno Haible  <bruno@clisp.org>
55643
55644         * modules/tsearch: New file.
55645         * lib/tsearch.h: New file.
55646         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
55647         * m4/tsearch.m4: New file.
55648         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
55649
55650 2006-10-29  Eric Blake  <ebb9@byu.net>
55651
55652         * lib/arcfour.c: Assume config.h.
55653         * lib/arctwo.c: Likewise.
55654         * lib/base64.c: Likewise.
55655         * lib/check-version.c: Likewise.
55656         * lib/crc.c: Likewise.
55657         * lib/des.c: Likewise.
55658         * lib/gc-gnulib.c: Likewise.
55659         * lib/gc-libgcrypt.c: Likewise.
55660         * lib/gc-pbkdf2-sha1.c: Likewise.
55661         * lib/getaddrinfo.c: Likewise.
55662         * lib/getdelim.c: Likewise.
55663         * lib/getline.c: Likewise.
55664         * lib/hmac-md5.c: Likewise.
55665         * lib/hmac-sha1.c: Likewise.
55666         * lib/iconvme.c: Likewise.
55667         * lib/md2.c: Likewise.
55668         * lib/md4.c: Likewise.
55669         * lib/memxor.c: Likewise.
55670         * lib/read-file.c: Likewise.
55671         * lib/readline.c: Likewise.
55672         * lib/rijndael-alg-fst.c: Likewise.
55673         * lib/rijndael-api-fst.c: Likewise.
55674         * lib/xgetdomainname.c: Likewise.
55675
55676 2006-10-28  Eric Blake  <ebb9@byu.net>
55677
55678         * lib/xstrndup.c: Assume config.h.
55679
55680 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
55681
55682         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
55683         stat-macros.h is now for our own macros, whereas stat_h is for
55684         macros in the <sys/stat.h> name space.
55685         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
55686         (STAT_MACROS_H): Remove.
55687         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
55688         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
55689         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
55690         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
55691         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
55692         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
55693         Move these macros to ...
55694         * lib/stat_.h: here.  Don't include stat-macros.h.
55695         * lib/canonicalize.c: Don't include stat-macros.h.
55696         * lib/chown.c: Likewise.
55697         * lib/euidaccess.c: Likewise.
55698         * lib/file-type.c: Likewise.
55699         * lib/filemode.c: Likewise.
55700         * lib/glob.c: Likewise.
55701         * lib/isapipe.c: Likewise.
55702         * lib/lchown.c: Likewise.
55703         * lib/lstat.c: Likewise.
55704         * lib/mkdir-p.c: Likewise.
55705         * lib/rmdir.c: Likewise.
55706         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
55707         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
55708         unless mkdir isn't declared, to speed up 'configure'.
55709         Always create sys/stat.h, since it's unlikely any real sys/stat.h
55710         would define all the S_* symbols.
55711         * modules/canonicalize (Depends-on):
55712         Depend on sys_stat, not stat-macros.
55713         * modules/chown: Likewise.
55714         * modules/euidaccess: Likewise.
55715         * modules/filemode: Likewise.
55716         * modules/file-type: Likewise.
55717         * modules/glob: Likewise.
55718         * modules/isapipe: Likewise.
55719         * modules/lchown: Likewise.
55720         * modules/lstat: Likewise.
55721         * modules/mkancesdirs: Likewise.
55722         * modules/rmdir: Likewise.
55723         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
55724         * modules/modechange: Likewise.
55725         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
55726         (configure.ac): Remove gl_STAT_MACROS.
55727         * modules/sys_stat (Depends-on): Remove stat-macros.
55728
55729 2006-10-27  Bruno Haible  <bruno@clisp.org>
55730
55731         * m4/signed.m4: Remove file.
55732         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
55733         invocation.
55734         * modules/vasnprintf (Files): Remove m4/signed.m4.
55735
55736 2006-10-27  Bruno Haible  <bruno@clisp.org>
55737
55738         Update to GNU gettext 0.16.
55739         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
55740         m4/inttypes-h.m4, m4/signed.m4.
55741         * m4/gettext.m4: Update to GNU gettext 0.16.
55742         * m4/intl.m4: New file, from GNU gettext.
55743         * m4/intldir.m4: New file, from GNU gettext.
55744         * config/srclist.txt: Update
55745
55746 2006-10-27  Eric Blake  <ebb9@byu.net>
55747
55748         * MODULES.html.sh: Document tempname.
55749         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
55750         dependencies.
55751         (Files): Move lib/tempname.c...
55752         * modules/tempname: ...to this new module.
55753         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
55754         (gl_PREREQ_TEMPNAME): Move...
55755         * m4/tempname.m4: ...to this new file.
55756         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
55757         * modules/sys_stat (Depends-on): Add stat-macros.
55758         * lib/stat_.h (includes): Pick up stat macros.
55759         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
55760         if stat macros are broken.
55761         * lib/tempname.c (includes): No need to include "stat-macros.h".
55762         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
55763         (direxists, __path_search) [!_LIBC]: Don't compile these in
55764         gnulib; the tmpdir module covers that.
55765         * lib/tempname.h: New file.
55766
55767 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
55768
55769         * COPYING: Explain how gnulib-tool converts licence headers.
55770         Almost all wording by Eric Blake.
55771
55772 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
55773
55774         * lib/mbchar.h (is_basic_table): Make read-only.
55775         * lib/mbchar.c (is_basic_table): Likewise.
55776         Reported by John Darrington.
55777
55778 2006-10-25  Bruno Haible  <bruno@clisp.org>
55779
55780         * lib/progname.h (set_program_name): Undefine before defining.
55781
55782 2006-10-25  Bruno Haible  <bruno@clisp.org>
55783
55784         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
55785         false for non-gcc C++ compilers.
55786         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
55787
55788 2006-10-24  Bruno Haible  <bruno@clisp.org>
55789
55790         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
55791         iconv implementations like Irix iconv.
55792
55793 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
55794
55795         * modules/vararrays: New file.
55796         * m4/vararrays.m4: New file, taken from diffutils.
55797         * MODULES.html.sh: New module vararrays.
55798
55799 2006-10-24  Karl Berry  <karl@gnu.org>
55800
55801         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
55802         Don't call GNU Unix.
55803
55804 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55805
55806         * users.txt: Add Libtool.
55807
55808         Sync from Libtool:
55809
55810         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
55811
55812         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
55813         to gnulib's policy of including config.h unconditionally.
55814
55815 2006-10-24  Bruno Haible  <bruno@clisp.org>
55816
55817         * modules/wcwidth (Files): Add m4/wint_t.m4.
55818         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
55819         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
55820
55821 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
55822
55823         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
55824         to pacify GCC with some -W flags enabled.  Problem reported by
55825         Bruno Haible.
55826
55827 2006-10-24  Jim Meyering  <jim@meyering.net>
55828
55829         * MODULES.html.sh: Remove uinttostr.  It's not a module.
55830         Reported by Karl Berry.
55831
55832 2006-10-23  Bruno Haible  <bruno@clisp.org>
55833
55834         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
55835
55836 2006-10-24  Bruno Haible  <bruno@clisp.org>
55837
55838         * lib/gl_list.h: Use C comment style, not C++ comment style.
55839
55840 2006-10-23  Eric Blake  <ebb9@byu.net>
55841
55842         * lib/getaddrinfo.c (includes): Add missing include.
55843
55844 2006-10-23  Bruno Haible  <bruno@clisp.org>
55845             Paul Eggert  <eggert@cs.ucla.edu>
55846
55847         Ability to rename obstack_free.
55848         * lib/obstack.h (__obstack_free): New macro. Declare instead of
55849         obstack_free.
55850         (obstack_free): Invoke the __obstack_free macro.
55851         * lib/obstack.c (obstack_free): Use __obstack_free macro.
55852
55853 2006-10-23  Bruno Haible  <bruno@clisp.org>
55854             Paul Eggert  <eggert@cs.ucla.edu>
55855
55856         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
55857         __argc, __argv from the declaration. (They are defined as macros on
55858         mingw.)
55859
55860 2006-10-22  Bruno Haible  <bruno@clisp.org>
55861
55862         * doc/gnulib-intro.texi: New file.
55863         * doc/gnulib.texi: Include it.
55864
55865 2006-10-21  Bruno Haible  <bruno@clisp.org>
55866
55867         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
55868         "Introduction", "Miscellanous Notes", "Particular Modules".
55869
55870 2006-10-21  Bruno Haible  <bruno@clisp.org>
55871
55872         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
55873         Change mostlyclean-local rule to avoid sh syntax error from bash
55874         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
55875
55876 2006-10-23  Jim Meyering  <jim@meyering.net>
55877
55878         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
55879         in place of snprintf.
55880
55881         * modules/inttostr (Files): Add lib/uinttostr.c.
55882         * lib/uinttostr.c (inttostr): New file/function.
55883         * lib/inttostr.h (uinttostr): Declare.
55884         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
55885         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
55886         Add uinttostr.
55887         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
55888
55889 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
55890
55891         * lib/canonicalize.c (ELOOP): Define if not already defined.
55892         Problem reported by Bruno Haible in
55893         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
55894
55895 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
55896
55897         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
55898         Problem reported by Perry Smith and Ville Laurikari.
55899
55900         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
55901         uses.
55902
55903 2006-10-19  Bruno Haible  <bruno@clisp.org>
55904
55905         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
55906         for mingw.
55907
55908 2006-10-19  Bruno Haible  <bruno@clisp.org>
55909
55910         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
55911         Needed for mingw.
55912
55913 2006-10-19  Bruno Haible  <bruno@clisp.org>
55914
55915         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
55916
55917 2006-10-19  Bruno Haible  <bruno@clisp.org>
55918
55919         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
55920         it.
55921
55922 2006-10-19  Bruno Haible  <bruno@clisp.org>
55923
55924         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
55925         invocation.
55926
55927 2006-10-19  Bruno Haible  <bruno@clisp.org>
55928
55929         * gnulib-tool (func_create_testdir): Don't include ftruncate and
55930         mountlist by default.
55931
55932 2006-10-16  Bruno Haible  <bruno@clisp.org>
55933
55934         * lib/c-strstr.c: Include c-strstr.h.
55935
55936 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
55937
55938         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
55939         in a slash.
55940
55941 2006-10-18  Bruno Haible  <bruno@clisp.org>
55942
55943         * lib/lock.h [C++]: Wrap definitions in extern "C".
55944
55945 2006-10-18  Bruno Haible  <bruno@clisp.org>
55946
55947         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
55948         gl_LIBOBJS list.
55949
55950 2006-10-18  Bruno Haible  <bruno@clisp.org>
55951
55952         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
55953
55954 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
55955
55956         * lib/xstrtol.h: Include gettext.h.
55957         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
55958         Problem reported by Eric Blake.
55959         * modules/xstrtol (Depends-on): Add gettext-h.
55960
55961 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
55962
55963         * lib/strftime.c (advance): New macro.
55964         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
55965         incomplete type, so you can't add 0 to it.  Problem and patch
55966         reported by Eelco Dolstra for dietlibc.
55967
55968 2006-10-18  Jim Meyering  <jim@meyering.net>
55969
55970         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
55971         type for a local, and rename it: s/up/user_proc/.
55972
55973 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
55974
55975         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
55976         READ_UTMP_USER_PROCESS.
55977         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
55978
55979 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
55980
55981         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
55982         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
55983
55984 2006-10-17  Eric Blake  <ebb9@byu.net>
55985
55986         * lib/sigprocmask.c (sigprocmask): Fix typo.
55987
55988         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
55989
55990         * modules/clean-temp (Makefile.am): Don't add to make output...
55991         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
55992         config.h.
55993
55994 2006-10-17  Bruno Haible  <bruno@clisp.org>
55995
55996         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
55997         differently if DEFAULT_TEXT_DOMAIN is set.
55998
55999 2006-10-16  Bruno Haible  <bruno@clisp.org>
56000
56001         * lib/clean-temp.c: Include fwriteerror.h.
56002
56003 2006-10-16  Bruno Haible  <bruno@clisp.org>
56004
56005         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
56006
56007 2006-10-16  Bruno Haible  <bruno@clisp.org>
56008
56009         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
56010         * lib/sigprocmask.h: Include <sys/types.h>.
56011         (sigset_t): Use the system's definition if present.
56012
56013 2006-10-17  Eric Blake  <ebb9@byu.net>
56014
56015         * lib/xvasprintf.c (includes): Assume config.h.
56016         * lib/xasprintf.c (includes): Likewise.
56017
56018 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
56019
56020         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
56021         at least as wide as intmax_t.
56022
56023 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
56024
56025         (Imported from Automake.)
56026         * build-aux/gnupload: Update to version 1.1 of directive file.
56027
56028 2006-10-16  Eric Blake  <ebb9@byu.net>
56029
56030         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
56031         match Automake 1.10a.
56032
56033 2006-10-14  Bruno Haible  <bruno@clisp.org>
56034
56035         * modules/sigprocmask: New file.
56036         * lib/sigprocmask.h: New file.
56037         * lib/sigprocmask.c: New file.
56038         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
56039         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
56040         request sigprocmask.o.
56041         (gl_PREREQ_SIGPROCMASK): New macro.
56042         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
56043         (Depends-on): Add sigprocmask.
56044         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
56045         gt_SIGNALBLOCKING. Test for 'raise' only once.
56046         * lib/fatal-signal.c: Include sigprocmask.h.
56047         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
56048         unblock_fatal_signals): Define always.
56049         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
56050         sigprocmask.
56051
56052 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
56053
56054         Sync from Automake.
56055         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
56056         which incorrectly sets the mode of an existing destination
56057         directory.  In some cases the unpatched install-sh could do the
56058         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
56059         system.  We hope this is rare in practice, but it's clearly worth
56060         fixing.  Problem reported by Alex Unleashed in
56061         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
56062         Also, don't bother to check for -m bugs unless we're using -m;
56063         suggested by Stepan Kasal.
56064
56065 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56066
56067         Sync from Automake.
56068         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
56069         `-c' flag, so they appear at the same position as in %FASTDEP%
56070         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
56071         which ignores unknown options only after the first non-option.
56072         Bug report against M4 by Nelson H. F. Beebe.
56073
56074 2006-10-13  Jim Meyering  <jim@meyering.net>
56075
56076         Fix a bug in yesterday's change.
56077         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
56078         p->fts_statp->st_dev would be used uninitialized.
56079         Ensures that we always call fts_stat on the very first entry.
56080         Miklos Szeredi reported that find -xdev stopped working.
56081
56082 2006-10-12  Bruno Haible  <bruno@clisp.org>
56083
56084         * gnulib-tool (func_get_automake_snippet): Append an automatically
56085         computed EXTRA_DIST augmentation.
56086         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
56087         * modules/alloca-opt (Makefile.am): Likewise.
56088         * modules/allocsa (Makefile.am): Likewise.
56089         * modules/arcfour (Makefile.am): Likewise.
56090         * modules/arctwo (Makefile.am): Likewise.
56091         * modules/argmatch (Makefile.am): Likewise.
56092         * modules/argz (Makefile.am): Likewise.
56093         * modules/atexit (Makefile.am): Likewise.
56094         * modules/backupfile (Makefile.am): Likewise.
56095         * modules/byteswap (Makefile.am): Likewise.
56096         * modules/c-strtod (Makefile.am): Likewise.
56097         * modules/c-strtold (Makefile.am): Likewise.
56098         * modules/calloc (Makefile.am): Likewise.
56099         * modules/canon-host (Makefile.am): Likewise.
56100         * modules/canonicalize (Makefile.am): Likewise.
56101         * modules/chdir-long (Makefile.am): Likewise.
56102         * modules/chdir-safer (Makefile.am): Likewise.
56103         * modules/check-version (Makefile.am): Likewise.
56104         * modules/chown (Makefile.am): Likewise.
56105         * modules/cloexec (Makefile.am): Likewise.
56106         * modules/close-stream (Makefile.am): Likewise.
56107         * modules/closeout (Makefile.am): Likewise.
56108         * modules/crc (Makefile.am): Likewise.
56109         * modules/csharpexec (Makefile.am): Likewise.
56110         * modules/cycle-check (Makefile.am): Likewise.
56111         * modules/des (Makefile.am): Likewise.
56112         * modules/dev-ino (Makefile.am): Likewise.
56113         * modules/dirfd (Makefile.am): Likewise.
56114         * modules/dirname (Makefile.am): Likewise.
56115         * modules/dup2 (Makefile.am): Likewise.
56116         * modules/eealloc (Makefile.am): Likewise.
56117         * modules/error (Makefile.am): Likewise.
56118         * modules/euidaccess (Makefile.am): Likewise.
56119         * modules/exclude (Makefile.am): Likewise.
56120         * modules/exitfail (Makefile.am): Likewise.
56121         * modules/fcntl-safer (Makefile.am): Likewise.
56122         * modules/fcntl (Makefile.am): Likewise.
56123         * modules/file-type (Makefile.am): Likewise.
56124         * modules/fileblocks (Makefile.am): Likewise.
56125         * modules/filemode (Makefile.am): Likewise.
56126         * modules/filenamecat (Makefile.am): Likewise.
56127         * modules/fnmatch (Makefile.am): Likewise.
56128         * modules/fopen-safer (Makefile.am): Likewise.
56129         * modules/fpending (Makefile.am): Likewise.
56130         * modules/fprintftime (Makefile.am): Likewise.
56131         * modules/free (Makefile.am): Likewise.
56132         * modules/fsusage (Makefile.am): Likewise.
56133         * modules/ftruncate (Makefile.am): Likewise.
56134         * modules/fts (Makefile.am): Likewise.
56135         * modules/gc-arcfour (Makefile.am): Likewise.
56136         * modules/gc-des (Makefile.am): Likewise.
56137         * modules/gc-hmac-md5 (Makefile.am): Likewise.
56138         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
56139         * modules/gc-md4 (Makefile.am): Likewise.
56140         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
56141         * modules/gc-sha1 (Makefile.am): Likewise.
56142         * modules/gc (Makefile.am): Likewise.
56143         * modules/getaddrinfo (Makefile.am): Likewise.
56144         * modules/getcwd (Makefile.am): Likewise.
56145         * modules/getdelim (Makefile.am): Likewise.
56146         * modules/getdomainname (Makefile.am): Likewise.
56147         * modules/getgroups (Makefile.am): Likewise.
56148         * modules/gethostname (Makefile.am): Likewise.
56149         * modules/gethrxtime (Makefile.am): Likewise.
56150         * modules/getline (Makefile.am): Likewise.
56151         * modules/getloadavg (Makefile.am): Likewise.
56152         * modules/getlogin_r (Makefile.am): Likewise.
56153         * modules/getndelim2 (Makefile.am): Likewise.
56154         * modules/getopt (Makefile.am): Likewise.
56155         * modules/getpagesize (Makefile.am): Likewise.
56156         * modules/getpass-gnu (Makefile.am): Likewise.
56157         * modules/getpass (Makefile.am): Likewise.
56158         * modules/getsubopt (Makefile.am): Likewise.
56159         * modules/gettime (Makefile.am): Likewise.
56160         * modules/gettimeofday (Makefile.am): Likewise.
56161         * modules/getugroups (Makefile.am): Likewise.
56162         * modules/getusershell (Makefile.am): Likewise.
56163         * modules/glob (Makefile.am): Likewise.
56164         * modules/group-member (Makefile.am): Likewise.
56165         * modules/hard-locale (Makefile.am): Likewise.
56166         * modules/hash (Makefile.am): Likewise.
56167         * modules/hmac-md5 (Makefile.am): Likewise.
56168         * modules/hmac-sha1 (Makefile.am): Likewise.
56169         * modules/human (Makefile.am): Likewise.
56170         * modules/idcache (Makefile.am): Likewise.
56171         * modules/imaxabs (Makefile.am): Likewise.
56172         * modules/imaxdiv (Makefile.am): Likewise.
56173         * modules/inet_ntop (Makefile.am): Likewise.
56174         * modules/inet_pton (Makefile.am): Likewise.
56175         * modules/intprops (Makefile.am): Likewise.
56176         * modules/inttostr (Makefile.am): Likewise.
56177         * modules/inttypes (Makefile.am): Likewise.
56178         * modules/isapipe (Makefile.am): Likewise.
56179         * modules/javaversion (Makefile.am): Likewise.
56180         * modules/lchmod (Makefile.am): Likewise.
56181         * modules/lchown (Makefile.am): Likewise.
56182         * modules/localcharset (Makefile.am): Likewise.
56183         * modules/long-options (Makefile.am): Likewise.
56184         * modules/lstat (Makefile.am): Likewise.
56185         * modules/malloc (Makefile.am): Likewise.
56186         * modules/mathl (Makefile.am): Likewise.
56187         * modules/mbchar (Makefile.am): Likewise.
56188         * modules/md2 (Makefile.am): Likewise.
56189         * modules/md4 (Makefile.am): Likewise.
56190         * modules/md5 (Makefile.am): Likewise.
56191         * modules/memcasecmp (Makefile.am): Likewise.
56192         * modules/memchr (Makefile.am): Likewise.
56193         * modules/memcmp (Makefile.am): Likewise.
56194         * modules/memcoll (Makefile.am): Likewise.
56195         * modules/memcpy (Makefile.am): Likewise.
56196         * modules/memmem (Makefile.am): Likewise.
56197         * modules/memmove (Makefile.am): Likewise.
56198         * modules/mempcpy (Makefile.am): Likewise.
56199         * modules/memrchr (Makefile.am): Likewise.
56200         * modules/memset (Makefile.am): Likewise.
56201         * modules/memxor (Makefile.am): Likewise.
56202         * modules/mkancesdirs (Makefile.am): Likewise.
56203         * modules/mkdir-p (Makefile.am): Likewise.
56204         * modules/mkdir (Makefile.am): Likewise.
56205         * modules/mkdtemp (Makefile.am): Likewise.
56206         * modules/mkstemp (Makefile.am): Likewise.
56207         * modules/mktime (Makefile.am): Likewise.
56208         * modules/modechange (Makefile.am): Likewise.
56209         * modules/mountlist (Makefile.am): Likewise.
56210         * modules/nanosleep (Makefile.am): Likewise.
56211         * modules/obstack (Makefile.am): Likewise.
56212         * modules/openat (Makefile.am): Likewise.
56213         * modules/pagealign_alloc (Makefile.am): Likewise.
56214         * modules/pathmax (Makefile.am): Likewise.
56215         * modules/physmem (Makefile.am): Likewise.
56216         * modules/poll (Makefile.am): Likewise.
56217         * modules/posixtm (Makefile.am): Likewise.
56218         * modules/posixver (Makefile.am): Likewise.
56219         * modules/putenv (Makefile.am): Likewise.
56220         * modules/quote (Makefile.am): Likewise.
56221         * modules/quotearg (Makefile.am): Likewise.
56222         * modules/raise (Makefile.am): Likewise.
56223         * modules/read-file (Makefile.am): Likewise.
56224         * modules/readline (Makefile.am): Likewise.
56225         * modules/readlink (Makefile.am): Likewise.
56226         * modules/readtokens (Makefile.am): Likewise.
56227         * modules/readutmp (Makefile.am): Likewise.
56228         * modules/realloc (Makefile.am): Likewise.
56229         * modules/regex (Makefile.am): Likewise.
56230         * modules/rename-dest-slash (Makefile.am): Likewise.
56231         * modules/rename (Makefile.am): Likewise.
56232         * modules/rijndael (Makefile.am): Likewise.
56233         * modules/rmdir (Makefile.am): Likewise.
56234         * modules/rpmatch (Makefile.am): Likewise.
56235         * modules/safe-read (Makefile.am): Likewise.
56236         * modules/safe-write (Makefile.am): Likewise.
56237         * modules/same-inode (Makefile.am): Likewise.
56238         * modules/same (Makefile.am): Likewise.
56239         * modules/save-cwd (Makefile.am): Likewise.
56240         * modules/savedir (Makefile.am): Likewise.
56241         * modules/setenv (Makefile.am): Likewise.
56242         * modules/settime (Makefile.am): Likewise.
56243         * modules/sha1 (Makefile.am): Likewise.
56244         * modules/sig2str (Makefile.am): Likewise.
56245         * modules/snprintf (Makefile.am): Likewise.
56246         * modules/stat-macros (Makefile.am): Likewise.
56247         * modules/stat-time (Makefile.am): Likewise.
56248         * modules/stdbool (Makefile.am): Likewise.
56249         * modules/stdint (Makefile.am): Likewise.
56250         * modules/stdlib-safer (Makefile.am): Likewise.
56251         * modules/stpcpy (Makefile.am): Likewise.
56252         * modules/stpncpy (Makefile.am): Likewise.
56253         * modules/strcase (Makefile.am): Likewise.
56254         * modules/strcasestr (Makefile.am): Likewise.
56255         * modules/strchrnul (Makefile.am): Likewise.
56256         * modules/strcspn (Makefile.am): Likewise.
56257         * modules/strdup (Makefile.am): Likewise.
56258         * modules/strerror (Makefile.am): Likewise.
56259         * modules/strftime (Makefile.am): Likewise.
56260         * modules/strndup (Makefile.am): Likewise.
56261         * modules/strnlen (Makefile.am): Likewise.
56262         * modules/strpbrk (Makefile.am): Likewise.
56263         * modules/strsep (Makefile.am): Likewise.
56264         * modules/strstr (Makefile.am): Likewise.
56265         * modules/strtod (Makefile.am): Likewise.
56266         * modules/strtoimax (Makefile.am): Likewise.
56267         * modules/strtok_r (Makefile.am): Likewise.
56268         * modules/strtol (Makefile.am): Likewise.
56269         * modules/strtoll (Makefile.am): Likewise.
56270         * modules/strtoul (Makefile.am): Likewise.
56271         * modules/strtoull (Makefile.am): Likewise.
56272         * modules/strtoumax (Makefile.am): Likewise.
56273         * modules/strverscmp (Makefile.am): Likewise.
56274         * modules/sys_socket (Makefile.am): Likewise.
56275         * modules/sys_stat (Makefile.am): Likewise.
56276         * modules/sysexits (Makefile.am): Likewise.
56277         * modules/time_r (Makefile.am): Likewise.
56278         * modules/timegm (Makefile.am): Likewise.
56279         * modules/timespec (Makefile.am): Likewise.
56280         * modules/tmpfile-safer (Makefile.am): Likewise.
56281         * modules/trim (Makefile.am): Likewise.
56282         * modules/unistd-safer (Makefile.am): Likewise.
56283         * modules/unlinkdir (Makefile.am): Likewise.
56284         * modules/unlocked-io (Makefile.am): Likewise.
56285         * modules/userspec (Makefile.am): Likewise.
56286         * modules/utime (Makefile.am): Likewise.
56287         * modules/utimecmp (Makefile.am): Likewise.
56288         * modules/utimens (Makefile.am): Likewise.
56289         * modules/vasnprintf (Makefile.am): Likewise.
56290         * modules/vasprintf (Makefile.am): Likewise.
56291         * modules/vsnprintf (Makefile.am): Likewise.
56292         * modules/xalloc (Makefile.am): Likewise.
56293         * modules/xgetcwd (Makefile.am): Likewise.
56294         * modules/xnanosleep (Makefile.am): Likewise.
56295         * modules/xreadlink (Makefile.am): Likewise.
56296         * modules/xstrtod (Makefile.am): Likewise.
56297         * modules/xstrtol (Makefile.am): Likewise.
56298         * modules/xstrtold (Makefile.am): Likewise.
56299         * modules/yesno (Makefile.am): Likewise.
56300         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
56301
56302 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
56303
56304         * modules/error (Makefile.am): Distribute files through
56305         EXTRA_DIST, not lib_SOURCES.
56306
56307 2006-10-12  Eric Blake  <ebb9@byu.net>
56308
56309         * modules/error (Makefile.am): Distribute files in /lib.
56310         * modules/obstack (Makefile.am): Likewise.
56311
56312 2006-10-12  Bruno Haible  <bruno@clisp.org>
56313
56314         * modules/acl (Makefile.am): Distribute all files in lib/ through
56315         EXTRA_DIST.
56316         * modules/arcfour (Makefile.am): Likewise.
56317         * modules/arctwo (Makefile.am): Likewise.
56318         * modules/argmatch (Makefile.am): Likewise.
56319         * modules/argz (Makefile.am): Likewise.
56320         * modules/atexit (Makefile.am): Likewise.
56321         * modules/backupfile (Makefile.am): Likewise.
56322         * modules/c-strtod (Makefile.am): Likewise.
56323         * modules/c-strtold (Makefile.am): Likewise.
56324         * modules/calloc (Makefile.am): Likewise.
56325         * modules/canon-host (Makefile.am): Likewise.
56326         * modules/canonicalize (Makefile.am): Likewise.
56327         * modules/chdir-long (Makefile.am): Likewise.
56328         * modules/chdir-safer (Makefile.am): Likewise.
56329         * modules/check-version (Makefile.am): Likewise.
56330         * modules/chown (Makefile.am): Likewise.
56331         * modules/cloexec (Makefile.am): Likewise.
56332         * modules/close-stream (Makefile.am): Likewise.
56333         * modules/closeout (Makefile.am): Likewise.
56334         * modules/crc (Makefile.am): Likewise.
56335         * modules/cycle-check (Makefile.am): Likewise.
56336         * modules/des (Makefile.am): Likewise.
56337         * modules/dirfd (Makefile.am): Likewise.
56338         * modules/dirname (Makefile.am): Likewise.
56339         * modules/dup2 (Makefile.am): Likewise.
56340         * modules/euidaccess (Makefile.am): Likewise.
56341         * modules/exclude (Makefile.am): Likewise.
56342         * modules/exitfail (Makefile.am): Likewise.
56343         * modules/fcntl-safer (Makefile.am): Likewise.
56344         * modules/file-type (Makefile.am): Likewise.
56345         * modules/fileblocks (Makefile.am): Likewise.
56346         * modules/filemode (Makefile.am): Likewise.
56347         * modules/filenamecat (Makefile.am): Likewise.
56348         * modules/fnmatch (Makefile.am): Likewise.
56349         * modules/fopen-safer (Makefile.am): Likewise.
56350         * modules/fpending (Makefile.am): Likewise.
56351         * modules/fprintftime (Makefile.am): Likewise.
56352         * modules/free (Makefile.am): Likewise.
56353         * modules/fsusage (Makefile.am): Likewise.
56354         * modules/ftruncate (Makefile.am): Likewise.
56355         * modules/fts (Makefile.am): Likewise.
56356         * modules/gc (Makefile.am): Likewise.
56357         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
56358         * modules/getaddrinfo (Makefile.am): Likewise.
56359         * modules/getcwd (Makefile.am): Likewise.
56360         * modules/getdelim (Makefile.am): Likewise.
56361         * modules/getdomainname (Makefile.am): Likewise.
56362         * modules/getgroups (Makefile.am): Likewise.
56363         * modules/gethostname (Makefile.am): Likewise.
56364         * modules/gethrxtime (Makefile.am): Likewise.
56365         * modules/getline (Makefile.am): Likewise.
56366         * modules/getloadavg (Makefile.am): Likewise.
56367         * modules/getlogin_r (Makefile.am): Likewise.
56368         * modules/getopt (Makefile.am): Likewise.
56369         * modules/getpass (Makefile.am): Likewise.
56370         * modules/getpass-gnu (Makefile.am): Likewise.
56371         * modules/getsubopt (Makefile.am): Likewise.
56372         * modules/gettime (Makefile.am): Likewise.
56373         * modules/gettimeofday (Makefile.am): Likewise.
56374         * modules/getugroups (Makefile.am): Likewise.
56375         * modules/getusershell (Makefile.am): Likewise.
56376         * modules/glob (Makefile.am): Likewise.
56377         * modules/group-member (Makefile.am): Likewise.
56378         * modules/hard-locale (Makefile.am): Likewise.
56379         * modules/hash (Makefile.am): Likewise.
56380         * modules/hmac-md5 (Makefile.am): Likewise.
56381         * modules/hmac-sha1 (Makefile.am): Likewise.
56382         * modules/human (Makefile.am): Likewise.
56383         * modules/idcache (Makefile.am): Likewise.
56384         * modules/imaxabs (Makefile.am): Likewise.
56385         * modules/imaxdiv (Makefile.am): Likewise.
56386         * modules/inet_ntop (Makefile.am): Likewise.
56387         * modules/inet_pton (Makefile.am): Likewise.
56388         * modules/inttostr (Makefile.am): Likewise.
56389         * modules/isapipe (Makefile.am): Likewise.
56390         * modules/lchown (Makefile.am): Likewise.
56391         * modules/long-options (Makefile.am): Likewise.
56392         * modules/lstat (Makefile.am): Likewise.
56393         * modules/malloc (Makefile.am): Likewise.
56394         * modules/mathl (Makefile.am): Likewise.
56395         * modules/mbchar (Makefile.am): Likewise.
56396         * modules/md2 (Makefile.am): Likewise.
56397         * modules/md4 (Makefile.am): Likewise.
56398         * modules/md5 (Makefile.am): Likewise.
56399         * modules/memcasecmp (Makefile.am): Likewise.
56400         * modules/memchr (Makefile.am): Likewise.
56401         * modules/memcmp (Makefile.am): Likewise.
56402         * modules/memcoll (Makefile.am): Likewise.
56403         * modules/memcpy (Makefile.am): Likewise.
56404         * modules/memmem (Makefile.am): Likewise.
56405         * modules/memmove (Makefile.am): Likewise.
56406         * modules/mempcpy (Makefile.am): Likewise.
56407         * modules/memrchr (Makefile.am): Likewise.
56408         * modules/memset (Makefile.am): Likewise.
56409         * modules/memxor (Makefile.am): Likewise.
56410         * modules/mkancesdirs (Makefile.am): Likewise.
56411         * modules/mkdir (Makefile.am): Likewise.
56412         * modules/mkdir-p (Makefile.am): Likewise.
56413         * modules/mkdtemp (Makefile.am): Likewise.
56414         * modules/mkstemp (Makefile.am): Likewise.
56415         * modules/mktime (Makefile.am): Likewise.
56416         * modules/modechange (Makefile.am): Likewise.
56417         * modules/mountlist (Makefile.am): Likewise.
56418         * modules/nanosleep (Makefile.am): Likewise.
56419         * modules/openat (Makefile.am): Likewise.
56420         * modules/pagealign_alloc (Makefile.am): Likewise.
56421         * modules/physmem (Makefile.am): Likewise.
56422         * modules/poll (Makefile.am): Likewise.
56423         * modules/posixtm (Makefile.am): Likewise.
56424         * modules/posixver (Makefile.am): Likewise.
56425         * modules/putenv (Makefile.am): Likewise.
56426         * modules/quote (Makefile.am): Likewise.
56427         * modules/quotearg (Makefile.am): Likewise.
56428         * modules/raise (Makefile.am): Likewise.
56429         * modules/read-file (Makefile.am): Likewise.
56430         * modules/readline (Makefile.am): Likewise.
56431         * modules/readlink (Makefile.am): Likewise.
56432         * modules/readtokens (Makefile.am): Likewise.
56433         * modules/readutmp (Makefile.am): Likewise.
56434         * modules/realloc (Makefile.am): Likewise.
56435         * modules/regex (Makefile.am): Likewise.
56436         * modules/rename (Makefile.am): Likewise.
56437         * modules/rename-dest-slash (Makefile.am): Likewise.
56438         * modules/rijndael (Makefile.am): Likewise.
56439         * modules/rmdir (Makefile.am): Likewise.
56440         * modules/rpmatch (Makefile.am): Likewise.
56441         * modules/safe-read (Makefile.am): Likewise.
56442         * modules/safe-write (Makefile.am): Likewise.
56443         * modules/same (Makefile.am): Likewise.
56444         * modules/save-cwd (Makefile.am): Likewise.
56445         * modules/savedir (Makefile.am): Likewise.
56446         * modules/setenv (Makefile.am): Likewise.
56447         * modules/settime (Makefile.am): Likewise.
56448         * modules/sha1 (Makefile.am): Likewise.
56449         * modules/sig2str (Makefile.am): Likewise.
56450         * modules/snprintf (Makefile.am): Likewise.
56451         * modules/stdlib-safer (Makefile.am): Likewise.
56452         * modules/stpcpy (Makefile.am): Likewise.
56453         * modules/stpncpy (Makefile.am): Likewise.
56454         * modules/strcase (Makefile.am): Likewise.
56455         * modules/strcasestr (Makefile.am): Likewise.
56456         * modules/strchrnul (Makefile.am): Likewise.
56457         * modules/strcspn (Makefile.am): Likewise.
56458         * modules/strdup (Makefile.am): Likewise.
56459         * modules/strerror (Makefile.am): Likewise.
56460         * modules/strftime (Makefile.am): Likewise.
56461         * modules/strndup (Makefile.am): Likewise.
56462         * modules/strnlen (Makefile.am): Likewise.
56463         * modules/strpbrk (Makefile.am): Likewise.
56464         * modules/strsep (Makefile.am): Likewise.
56465         * modules/strstr (Makefile.am): Likewise.
56466         * modules/strtod (Makefile.am): Likewise.
56467         * modules/strtoimax (Makefile.am): Likewise.
56468         * modules/strtok_r (Makefile.am): Likewise.
56469         * modules/strtol (Makefile.am): Likewise.
56470         * modules/strtoll (Makefile.am): Likewise.
56471         * modules/strtoul (Makefile.am): Likewise.
56472         * modules/strtoull (Makefile.am): Likewise.
56473         * modules/strtoumax (Makefile.am): Likewise.
56474         * modules/strverscmp (Makefile.am): Likewise.
56475         * modules/time_r (Makefile.am): Likewise.
56476         * modules/timegm (Makefile.am): Likewise.
56477         * modules/tmpfile-safer (Makefile.am): Likewise.
56478         * modules/unistd-safer (Makefile.am): Likewise.
56479         * modules/unlinkdir (Makefile.am): Likewise.
56480         * modules/userspec (Makefile.am): Likewise.
56481         * modules/utime (Makefile.am): Likewise.
56482         * modules/utimecmp (Makefile.am): Likewise.
56483         * modules/utimens (Makefile.am): Likewise.
56484         * modules/vasnprintf (Makefile.am): Likewise.
56485         * modules/vasprintf (Makefile.am): Likewise.
56486         * modules/vsnprintf (Makefile.am): Likewise.
56487         * modules/xalloc (Makefile.am): Likewise.
56488         * modules/xgetcwd (Makefile.am): Likewise.
56489         * modules/xnanosleep (Makefile.am): Likewise.
56490         * modules/xreadlink (Makefile.am): Likewise.
56491         * modules/xstrtod (Makefile.am): Likewise.
56492         * modules/xstrtol (Makefile.am): Likewise.
56493         * modules/xstrtold (Makefile.am): Likewise.
56494         * modules/yesno (Makefile.am): Likewise.
56495
56496 2006-10-12  Jim Meyering  <jim@meyering.net>
56497
56498         * m4/getloadavg.m4: Revert the change below.
56499
56500         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
56501         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
56502         fail with a symlink, which is what coreutils' ./bootstrap now
56503         creates by default.
56504
56505 2006-10-12  Bruno Haible  <bruno@clisp.org>
56506
56507         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
56508         mingw.
56509         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
56510         MSVC and mingw explicitly.
56511
56512 2006-10-11  Simon Josefsson  <jas@extundo.com>
56513             Bruno Haible  <bruno@clisp.org>
56514
56515         Add support for multiple gnulib-tool invocations in the scope of a
56516         single configure.ac file.
56517         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
56518         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
56519         with the same contents as the _LIBADD variable.
56520         (func_emit_initmacro_start, func_emit_initmacro_end,
56521         func_emit_initmacro_done): New functions.
56522         (func_import, func_create_testdir): Invoke them. Allow the identifiers
56523         gl_LIBOBJS and gl_LTLIBOBJS.
56524
56525 2006-10-11  Bruno Haible  <bruno@clisp.org>
56526
56527         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
56528         (func_create_testdir): Don't create po/Makefile.am, don't invoke
56529         autoreconf. Instead, invoke autopoint explicitly but move back the
56530         *.m4 files from gnulib.
56531
56532 2006-10-11  Bruno Haible  <bruno@clisp.org>
56533
56534         * gnulib-tool (func_usage): Make module names after --create-testdir
56535         optional.
56536         (func_create_testdir): If no module was specified, use nearly all
56537         modules.
56538
56539 2006-10-12  Jim Meyering  <jim@meyering.net>
56540
56541         Big performance improvement for fts-based tools that use FTS_NOSTAT.
56542         Avoid spurious inode-mismatch problems on non-POSIX file systems.
56543         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
56544         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
56545         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
56546         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
56547         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
56548         (fts_set_stat_required): New function.
56549         (fts_open): Defer the calls to fts_stat, if possible or requested.
56550         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
56551         into fts_stat itself.
56552         (fts_read): Perform any required (deferred) fts_stat call.
56553         (fts_build): Likewise, for the directory we're about to open and read.
56554         In the readdir loop, carefully decide whether each entry will require
56555         an eventual call to fts_stat, using dirent.d_type info if available.
56556         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
56557         a command line argument into this function.  Update all callers.
56558         Map a return value of FTS_DOT to FTS_D for a command line argument.
56559         * modules/fts (Depends-on): Add d-type.  Alphabetize.
56560         Thanks to Miklos Szeredi for his tenacity and for the initial
56561         bug report about "find" failing on a FUSE-based file system.
56562
56563         * lib/fts.c (fts_open): Use consistent indentation.
56564
56565 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
56566
56567         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
56568         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
56569         reported by Jim Meyering.  All uses of cache variables renamed
56570         to match Autoconf's.
56571         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
56572         the other one.
56573
56574         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
56575         Fix misspelling in diagnostic.
56576
56577 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
56578
56579         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
56580         defined.  Problem reported by Matthew Woehlke.
56581
56582         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
56583         Add support for Tandem NonStop R series.
56584         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
56585         Use new macro.
56586
56587         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
56588         (has_trailing_slash): Omit size arg; all callers changed.
56589         Omit 'inline', since it doesn't help performance and we'd
56590         need to configure it.
56591         Don't count //, ///, etc. as having a trailing slash.
56592         As a side effect, this removes a C99ism reported by Matthew Woehlke.
56593         (rpl_rename_dest_slash): On failure, use rename's errno rather
56594         than (in some cases) an incorrect or junk errno.
56595         Simplify code by removing need to compute length; this does
56596         cause it to make two passes instead of one over the file name,
56597         but it's worth it.
56598
56599         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
56600         change, since Autoconf's version may no longer be appropriate now
56601         that we are using CVS Autoconf's version.  Add support for Tandem.
56602
56603 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
56604             Bruno Haible  <bruno@clisp.org>
56605
56606         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
56607         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
56608         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
56609         gl_AC_TYPE_LONG_LONG.
56610
56611         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
56612         instead of HAVE_LONG_LONG.
56613         * lib/printf-args.c (printf_fetchargs): Likewise.
56614         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
56615         * lib/vasnprintf.c (VASNPRINTF): Likewise.
56616         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
56617         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
56618         gl_AC_TYPE_LONG_LONG.
56619
56620 2006-10-11  Bruno Haible  <bruno@clisp.org>
56621
56622         * m4/longlong.m4: Add comments.
56623         * m4/ulonglong.m4: Likewise.
56624
56625 2006-10-10  Bruno Haible  <bruno@clisp.org>
56626
56627         Make it possible to #define stpcpy, strdup to aliases.
56628         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
56629         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
56630
56631 2006-10-10  Bruno Haible  <bruno@clisp.org>
56632
56633         Make it possible to #define gcd to an alias.
56634         * lib/gcd.c: Include config.h.
56635
56636 2006-10-10  Bruno Haible  <bruno@clisp.org>
56637
56638         Make it possible to #define c_isascii to an alias.
56639         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
56640         defined. Undefine the macros before defining them, to avoid gcc
56641         warnings.
56642         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
56643         define NO_C_CTYPE_MACROS early.
56644
56645 2006-10-10  Bruno Haible  <bruno@clisp.org>
56646
56647         Make it possible to #define set_program_name to an alias.
56648         * lib/progname.c: Don't undefine set_program_name; instead, undefine
56649         ENABLE_RELOCATABLE early.
56650
56651 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
56652
56653         Port to Tandem NSK OSS, which has 64-bit signed int but at most
56654         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
56655         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
56656         More generally, don't assume that 64-bit signed int is available
56657         if unsigned int is, and vice versa.
56658         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
56659         unsigned symbols, not on their signed counterparts.
56660         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
56661         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
56662         (UINT64_C, UINTMAX_C):
56663         Likewise.
56664         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
56665         unsigned counterparts.
56666         (Have_long_long, Unsigned): New macros.
56667         (Int): Renamed from INT.
56668         (strtoimax): Use the new macros.
56669         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
56670         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
56671         * modules/inttypes (inttypes.h): Substitute
56672         HAVE_UNSIGNED_LONG_LONG_INT.
56673         * modules/stdint (stdint.h): Likewise.
56674         (Files): Add m4/ulonglong.m4.
56675
56676 2006-10-10  Bruno Haible  <bruno@clisp.org>
56677
56678         Fix a gcc -Wshadow warning.
56679         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
56680         to 'bucket'.
56681         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
56682         gl_linked_indexof_from_to): Likewise.
56683         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
56684         Likewise.
56685         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
56686         Likewise.
56687         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
56688         Reported by Eric Blake.
56689
56690 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
56691
56692         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
56693         for NetBSD.  Problem reported by Bruno Haible.
56694
56695 2006-10-09  Jim Meyering  <jim@meyering.net>
56696
56697         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
56698         Patch from Bruno Haible.
56699
56700 2006-10-09  Jim Meyering  <jim@meyering.net>
56701
56702         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
56703         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
56704         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
56705
56706 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
56707
56708         Don't include <config.h> twice; this doesn't work in some cases,
56709         e.g., when config.h has "#define intmax_t long long int" and
56710         we include <config.h>, <inttypes.h>, <config.h> in that order.
56711         Problem reported by Matthew Woehlke in:
56712         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
56713         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
56714         * lib/fts-cycle.c: Don't include config.h.
56715         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
56716         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
56717         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
56718         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
56719         inttypes.h.
56720         * lib/xstrtoumax.c: Likewise.
56721         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
56722         __strtol and the like, so that this module is more like its siblings.
56723         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
56724         Remove; no longer needed now that we assume gnulib inttypes.h.
56725
56726 2006-10-08  Bruno Haible  <bruno@clisp.org>
56727
56728         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
56729         option.
56730
56731 2006-10-07  Jim Meyering  <jim@meyering.net>
56732
56733         * modules/inttypes (inttypes.h): Revert what seems to have been
56734         an inadvertent part of today's change: use "|", not "/" in the
56735         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
56736
56737 2006-10-07  Bruno Haible  <bruno@clisp.org>
56738
56739         * modules/sublist: New file.
56740
56741 2006-10-07  Bruno Haible  <bruno@clisp.org>
56742
56743         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
56744         * modules/argz (argz.h): Likewise.
56745         * modules/arpa_inet (arpa/inet.h): Likewise.
56746         * modules/byteswap (byteswap.h): Likewise.
56747         * modules/configmake (configmake.h): Likewise.
56748         * modules/fcntl (fcntl.h): Likewise.
56749         * modules/fnmatch (fnmatch.h): Likewise.
56750         * modules/getopt (getopt.h): Likewise.
56751         * modules/glob (glob.h): Likewise.
56752         * modules/inttypes (inttypes.h): Likewise.
56753         * modules/netinet_in (netinet/in.h): Likewise.
56754         * modules/poll (poll.h): Likewise.
56755         * modules/stdbool (stdbool.h): Likewise.
56756         * modules/stdint (stdint.h): Likewise.
56757         * modules/sys_select (sys/select.h): Likewise.
56758         * modules/sys_socket (sys/socket.h): Likewise.
56759         * modules/sys_stat (sys/stat.h): Likewise.
56760         * modules/sysexits (sysexits.h): Likewise.
56761         * modules/unistd (unistd.h): Likewise.
56762         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
56763         Add a "DO NOT EDIT" comment to the generated file.
56764         (func_import): Likewise for gnulib-comp.m4.
56765
56766 2006-10-07  Bruno Haible  <bruno@clisp.org>
56767
56768         * lib/gl_sublist.h: New file.
56769         * lib/gl_sublist.c: New file.
56770
56771 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
56772
56773         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
56774         name (relative to the original working directory) and the file
56775         name component (relative to the temporary working directory).  All
56776         callers changed.
56777         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
56778         * lib/mkdir-p.c (make_dir_parents): Likewise.
56779         * lib/mkdir-p.h (make_dir_parents): Likewise.
56780
56781 2006-10-06  Eric Blake  <ebb9@byu.net>
56782
56783         Define several macros for use by the clean-temp module.
56784         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
56785         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
56786         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
56787
56788         * lib/clean-temp.h (close_stream_temp): New declaration.
56789         * lib/clean-temp.c (includes): Pull in headers according to what
56790         other modules are in use.
56791         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
56792
56793 2006-10-06  Bruno Haible  <bruno@clisp.org>
56794
56795         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
56796         instead of fopen, fwriteerror.
56797
56798 2006-10-06  Bruno Haible  <bruno@clisp.org>
56799
56800         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
56801         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
56802         int.
56803         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
56804         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
56805         Return an error indicator.
56806         Suggested by Eric Blake.
56807
56808 2006-10-06  Bruno Haible  <bruno@clisp.org>
56809
56810         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
56811         Reported by Eric Blake.
56812
56813 2006-10-06  Bruno Haible  <bruno@clisp.org>
56814
56815         * modules/closeout (Description): Mention stderr too.
56816
56817 2006-10-06  Bruno Haible  <bruno@clisp.org>
56818         and Paul Eggert  <eggert@cs.ucla.edu>
56819
56820         * lib/closeout.c (close_stdout): Also close stderr.
56821         * lib/closeout.h: Update comment.
56822
56823 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
56824
56825         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
56826         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
56827         * lib/dirchownmod.c: Include lchown.h.
56828         * lib/lchown.c: Don't include files that lchown.h now includes.
56829         Don't declare chown, since lchown.h now does that.
56830         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
56831         (lchown): Define to rpl_chown if lchown is declared but
56832         does not exist.  Declare using a prototype if lchown is not
56833         declared.  Add a copyright notice.
56834         * lib/mkstemp.h: Include <unistd.h>.
56835         * lib/openat.c: Include lchown.h.
56836
56837         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
56838         we now test for that separately.
56839         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
56840         rather than O_NOFOLLOW, when testing whether it's possible to
56841         avoid a race condition reliably.
56842         * lib/savewd.c (savewd_chdir): Likewise.
56843
56844         Remove macros that are no longer needed now that stdint.h is
56845         reliable.
56846         * lib/fsusage.c (UINTMAX_MAX): Remove.
56847         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
56848         * lib/utimecmp.c (SIZE_MAX): Remove.
56849
56850         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
56851
56852         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
56853         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
56854         O_NOATIME works.
56855
56856 2006-10-05  Bruno Haible  <bruno@clisp.org>
56857
56858         * lib/gl_list.h (gl_sortedlist_search_from_to,
56859         gl_sortedlist_indexof_from_to): New declarations.
56860         (gl_list_implementation): New fields sortedlist_search_from_to,
56861         sortedlist_indexof_from_to.
56862         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
56863         inline functions.
56864         * lib/gl_list.c (gl_sortedlist_search_from_to,
56865         gl_sortedlist_indexof_from_to): New functions.
56866         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
56867         function.
56868         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
56869         (gl_array_sortedlist_search_from_to): New function.
56870         (gl_array_list_implementation): Update.
56871         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
56872         function.
56873         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
56874         (gl_carray_sortedlist_search_from_to): New function.
56875         (gl_carray_list_implementation): Update.
56876         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
56877         gl_linked_sortedlist_indexof_from_to): New functions.
56878         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
56879         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
56880         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
56881         gl_tree_sortedlist_indexof_from_to): New functions.
56882         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
56883         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
56884         Update.
56885         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
56886         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
56887         Update.
56888
56889 2006-10-05  Bruno Haible  <bruno@clisp.org>
56890
56891         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
56892         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
56893         (struct gl_list_implementation): Add fields search_from_to,
56894         indexof_from_to. Remove fields search, indexof.
56895         (gl_list_search): Use the search_from_to method.
56896         (gl_list_search_from, gl_list_search_from_to): New functions.
56897         (gl_list_indexof): Use the indexof_from_to method.
56898         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
56899         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
56900         (gl_list_search_from, gl_list_search_from_to): New functions.
56901         (gl_list_indexof): Use the indexof_from_to method.
56902         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
56903         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
56904         gl_array_indexof. Add start_index, end_index arguments.
56905         (gl_array_search_from_to): Renamed from gl_array_search. Add
56906         start_index, end_index arguments.
56907         (gl_array_remove, gl_array_list_implementation): Update.
56908         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
56909         gl_carray_indexof. Add start_index, end_index arguments.
56910         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
56911         start_index, end_index arguments.
56912         (gl_carray_remove, gl_carray_list_implementation): Update.
56913         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
56914         gl_linked_search. Add start_index, end_index arguments.
56915         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
56916         start_index, end_index arguments.
56917         (gl_linked_remove): Update.
56918         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
56919         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
56920         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
56921         field to 'size_t'.
56922         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
56923         gl_tree_search. Add start_index, end_index arguments.
56924         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
56925         start_index, end_index arguments.
56926         (gl_tree_remove): Update.
56927         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
56928         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
56929         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
56930         function.
56931         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
56932         gl_tree_search. Add start_index, end_index arguments.
56933         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
56934         start_index, end_index arguments.
56935         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
56936         Update.
56937         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
56938
56939 2006-10-05  Bruno Haible  <bruno@clisp.org>
56940
56941         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
56942
56943         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
56944         fwriteerror_temp): New declarations.
56945         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
56946         (descriptors): New variable.
56947         (cleanup): First, close the descriptors.
56948         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
56949         fclose_temp, fwriteerror_temp): New functions.
56950
56951 2006-10-04  Jim Meyering  <jim@meyering.net>
56952
56953         * lib/fts.c (fts_open): Tiny comment change.
56954
56955 2006-10-04  Bruno Haible  <bruno@clisp.org>
56956
56957         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
56958         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
56959         gl_LOCK_BODY.
56960         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
56961         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
56962         gl_LOCK_EARLY_BODY.
56963         (gl_LOCK): Require gl_LOCK_BODY.
56964
56965 2006-10-04  Bruno Haible  <bruno@clisp.org>
56966
56967         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
56968         (gl_oset_search_atleast): New declaration.
56969         (struct gl_oset_implementation): Add field 'search_atleast'.
56970         (gl_oset_search_atleast): New inline function.
56971         * lib/gl_oset.c (gl_oset_search_atleast): New function.
56972         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
56973         (gl_array_oset_implementation): Update.
56974         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
56975         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
56976         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
56977
56978 2006-10-04  Bruno Haible  <bruno@clisp.org>
56979
56980         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
56981
56982 2006-10-03  Bruno Haible  <bruno@clisp.org>
56983
56984         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
56985         from gl_avltreehash_list_implementation.
56986
56987 2006-10-03  Bruno Haible  <bruno@clisp.org>
56988
56989         * lib/gl_oset.c (gl_oset_add): Fix return type.
56990
56991 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
56992
56993         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
56994
56995 2006-10-02  Eric Blake  <ebb9@byu.net>
56996
56997         * modules/strnlen (Depends-on): Add extensions.
56998
56999 2006-10-02  Eric Blake  <ebb9@byu.net>
57000
57001         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
57002         definition in 2.60+.
57003
57004 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
57005
57006         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
57007         checks.
57008
57009 2006-10-02  Bruno Haible  <bruno@clisp.org>
57010
57011         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
57012         to the AUTOMAKE_OPTIONS.
57013         Reported by Jim Meyering.
57014
57015 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
57016
57017         Work around bug in Solaris 10 /proc file system:
57018         /proc/self/fd/NNN/.. isn't the parent directory of
57019         the directory whose file descriptor is NNN.  This needs to
57020         be worked around at run time, not compile time, since a
57021         program might be built on Solaris 8, where things work, and
57022         run on Solaris 10.
57023         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
57024         to use the following interface instead:
57025         (OPENAT_BUFFER_SIZE): New macro.
57026         (openat_proc_name): New function.
57027         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
57028         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
57029         Likewise.
57030         * lib/openat-proc.c: New file.
57031         * modules/openat (Files): Add lib/openat-proc.c.
57032         (Depends-on): Add same-inode, stdbool.
57033         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
57034
57035 2006-09-29  Bruno Haible  <bruno@clisp.org>
57036
57037         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
57038         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
57039         argument. Set stdout_closed before testing for ferror, not after.
57040         (fwriteerror, fwriteerror_no_ebadf): New functions.
57041
57042 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57043
57044         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
57045
57046 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
57047
57048         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
57049         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
57050
57051 2006-09-28  Jim Meyering  <jim@meyering.net>
57052
57053         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
57054         Include <unistd.h>.
57055
57056 2006-09-28  Bruno Haible  <bruno@clisp.org>
57057
57058         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
57059         * modules/linkedhash-list (Depends-on): Likewise.
57060         * modules/rbtreehash-list (Depends-on): Likewise.
57061
57062 2006-09-28  Bruno Haible  <bruno@clisp.org>
57063
57064         * lib/strndup.h: Simplify the redefinition of strndup.
57065         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
57066         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
57067
57068 2006-09-28  Bruno Haible  <bruno@clisp.org>
57069
57070         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
57071         * lib/gl_linkedhash_list.c: Likewise.
57072         * lib/gl_rbtreehash_list.c: Likewise.
57073
57074 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
57075
57076         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
57077         getaddrinfo.
57078
57079         * lib/__fpending.h: Don't include <stdio_ext.h> unless
57080         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
57081         it causes <stdio_ext.h> to cause a compile-time error.
57082         Problem reported by Nelson H. F. Beebe.
57083         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
57084         of HAVE_DECL___PENDING.
57085
57086         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
57087         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
57088         declaration.
57089
57090 2006-09-27  Jim Meyering  <jim@meyering.net>
57091
57092         This file could end up with a definition for a function
57093         named __strndup, rather than rpl_strndup on a system with
57094         incomplete weak_alias support.
57095         * lib/strndup.c (strndup): Rename from __strndup.
57096         Remove #defines that used to map __strndup to strndup.
57097         Don't use K&R prototypes.
57098         Remove LIBC-related code, since this file is not sync'd with glibc.
57099         * lib/strndup.h: Revamp, accordingly.
57100         * m4/strndup.m4: Modernize.
57101
57102 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
57103
57104         * modules/savewd (Depends-on): Add 'raise'.
57105         * lib/savewd.c: Include <signal.h>, for 'raise'.
57106
57107 2006-09-26  Jim Meyering  <jim@meyering.net>
57108
57109         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
57110         when we detect Darwin 8.7.0's acl_get_file bug.
57111         Rearrange to perform the new (below) run-test while $LIBS
57112         contains any acl-related library.  Set USE_ACL at the end.
57113         (gl_ACL_GET_FILE): New function.
57114
57115 2006-09-26  Eric Blake  <ebb9@byu.net>
57116
57117         * lib/verror.c: Include <config.h> unconditionally.
57118
57119 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
57120
57121         * modules/clock-time (Maintainer): Add self.
57122         * modules/getlogin_r (Depends-on): Add extensions.
57123
57124 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57125
57126         * modules/clock-time: New module.
57127         * modules/nanosleep (Depends-on): Add clock-time.
57128         * modules/gethrxtime (Depends-on): Likewise.
57129         * modules/gettime (Depends-on): Likewise.
57130         * modules/settime (Depends-on): Likewise.
57131
57132         * modules/fts-lgpl: Depend on openat.
57133         * modules/mkancesdirs: Depend on savewd.
57134         * modules/mkdir-p: Likewise.
57135
57136 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57137
57138         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
57139
57140         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
57141         `gl_have_arbitrary_file_name_length_limit' to
57142         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
57143         actually works between configure runs.
57144
57145 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57146             Bruno Haible  <bruno@clisp.org>
57147
57148         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
57149
57150 2006-09-25  Jim Meyering  <jim@meyering.net>
57151
57152         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
57153         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
57154
57155 2006-09-25  Eric Blake  <ebb9@byu.net>
57156
57157         * gnulib-tool (func_import, func_create_testdir): Fix typos in
57158         exec's in 2006-09-18 patch when shuffling fds.
57159
57160 2006-09-25  Bruno Haible  <bruno@clisp.org>
57161
57162         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
57163         Reported by Jim Meyering.
57164
57165 2006-09-24  Jim Meyering  <jim@meyering.net>
57166
57167         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
57168         compare a pointer against a literal "0".  That caused failures with
57169         at least HP-UX's hpcc.
57170
57171 2006-09-22  Simon Josefsson  <jas@extundo.com>
57172
57173         * modules/gc-sha1:
57174         * modules/gc-md4:
57175         * modules/gc-hmac-sha1:
57176         * modules/gc-hmac-md5:
57177         * modules/gc-des:
57178         * modules/gc-arcfour: Distribute more files.
57179
57180 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57181
57182         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
57183         (gl_linked_iterator_from_to): Initialize struct completely.
57184         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
57185         (gl_tree_iterator_from_to): Likewise
57186         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
57187         * lib/gl_array_list.c [lint] (gl_array_iterator)
57188         (gl_array_iterator_from_to): Likewise.
57189         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
57190         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
57191         (gl_carray_iterator_from_to): Likewise.
57192
57193         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
57194         * lib/md4.c (md4_process_block): Remove unused variable.
57195         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
57196         parentheses for clarity.
57197
57198 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57199
57200         * modules/bison-i18n (Depends-on): Add gettext.
57201
57202 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57203
57204         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
57205         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
57206         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
57207         also add missing comma that caused broken test.
57208         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
57209         stdlib.h, for `abort'.
57210         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
57211         variables.
57212         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
57213         include unistd.h if present, for `rmdir'.
57214         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
57215         variables.
57216         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
57217         in the process include standard headers for prototypes.
57218         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
57219         gets declared on GNU/Linux.
57220         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
57221         unistd.h, for `rmdir'.
57222         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
57223
57224         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
57225         always true.
57226         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
57227
57228         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
57229
57230 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57231
57232         * gnulib-tool (func_version): Create output all at once.  This
57233         may help avoid triggering unnecessary SIGPIPEs, and at any
57234         rate it doesn't hurt.
57235
57236 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57237             Bruno Haible  <bruno@clisp.org>
57238
57239         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
57240         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
57241         * m4/signed.m4 (bh_C_SIGNED): Likewise.
57242
57243         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
57244         (gl_FUNC_VASPRINTF): Invoke it.
57245
57246 2006-09-22  Bruno Haible  <bruno@clisp.org>
57247
57248         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
57249         getloadavg.c as first argument.
57250
57251 2006-09-22  Bruno Haible  <bruno@clisp.org>
57252
57253         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
57254         at the beginning of the gl_INIT macro.
57255         * modules/getloadavg (configure.ac): Pass $gl_source_base to
57256         gl_GETLOADAVG.
57257
57258 2006-09-22  Bruno Haible  <bruno@clisp.org>
57259
57260         * gnulib-tool (func_create_megatestdir): Don't include the config-h
57261         module.
57262         Suggested by Ralf Wildenhues.
57263
57264 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
57265
57266         Import this patch from libc:
57267
57268         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
57269
57270         * lib/regex_internal.c (re_string_reconstruct): Handle
57271         offset < pstr->valid_raw_len && pstr->offsets_needed case.
57272         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
57273         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
57274         re_string_context_at.
57275
57276         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
57277         now requires it.
57278         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
57279         gl_REGEX now does it for us.
57280         (gl_REGEX): Add test taken from
57281         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
57282
57283         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
57284         Check that large offsets work.  Modernize Autoconf usages.
57285         Prefer "yes" to mean a good thing rather than a bad.
57286         Don't put "#define mkstemp" in config.h, as this might interfere
57287         with standard system headers that "#define mkstemp mkstemp64".
57288
57289         * modules/mkstemp (Depends-on): Add extensions, so that
57290         mkstemp is visible on some platforms.
57291         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
57292         (Include): Change to "mkstemp.h" from <stdlib.h>.
57293         (Files): Add mkstemp.h.
57294
57295         * lib/mkstemp.h: New file, since some standard headers
57296         #define mkstemp.
57297         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
57298         Include "mkstemp.h".
57299         Make the _LIBC code resemble glibc original more,
57300         e.g., use K&R style.
57301         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
57302         (mkstemp): Remove, since mkstemp.h does this for us.
57303         * lib/stdlib--.h: Include mkstemp.h.
57304
57305         Import this patch from libc:
57306
57307         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
57308
57309         * lib/tempname.c (__gen_tempname): Change attempts_min
57310         into a macro.  Use preprocessor to decide how to initialize
57311         attempts [Coverity CID 67].
57312
57313 2006-09-20  Bruno Haible  <bruno@clisp.org>
57314
57315         * lib/mkdtemp.c: Import from libc.
57316         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
57317                 * sysdeps/posix/tempname.c (__gen_tempname): Change
57318                 attempts_min into a macro.  Use preprocessor to decide how to
57319                 initialize attempts [Coverity CID 67].
57320         2001-11-27  Paul Eggert  <eggert@twinsun.com>
57321                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
57322                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
57323
57324 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57325
57326         * gnulib-tool (func_exit): New function, to allow to pass the
57327         exit status portably through the trap.  Use everywhere.
57328         (--help, --version): Signal a write error.
57329         (trap): catch SIGPIPE, for write errors.
57330         Exit at the end of the trap, with the correct exit status.
57331
57332 2006-09-19  Karl Berry  <karl@gnu.org>
57333
57334         * doc/gnulib.texi: note about the license texinfo files.
57335
57336 2006-09-19  Eric Blake  <ebb9@byu.net>
57337
57338         * gnulib-tool: Avoid space-tab.
57339
57340 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
57341
57342         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
57343         that prevented coreutils 6.1 from building.  Problem reported
57344         by Petter Reinholdtsen.
57345
57346 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
57347
57348         * gnulib-tool (avoidlist): Fix typo that broke options like
57349         --avoid=lock that are used by coreutils bootstrap.
57350
57351 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
57352
57353         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
57354         more systematically.
57355
57356 2006-09-18  Jim Meyering  <jim@meyering.net>
57357
57358         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
57359
57360 2006-09-18  Bruno Haible  <bruno@clisp.org>
57361
57362         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
57363
57364 2006-09-18  Bruno Haible  <bruno@clisp.org>
57365
57366         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
57367         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
57368         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
57369         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
57370         * m4/gettext.m4: Require autoconf >= 2.52.
57371         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
57372         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
57373         of gl_cv_header_inttypes_h.
57374
57375 2006-09-18  Bruno Haible  <bruno@clisp.org>
57376
57377         * lib/javaversion.c: Include configmake.h.
57378
57379 2006-09-18  Bruno Haible  <bruno@clisp.org>
57380
57381         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
57382         avoid that the while loops be executed in a subshell.
57383
57384 2006-09-18  Bruno Haible  <bruno@clisp.org>
57385
57386         * MODULES.html.sh (func_module): Break long lines.
57387         Suggested by Bruce Korb <bkorb@gnu.org>.
57388
57389 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57390
57391         Speed up by a factor of 1.12.
57392         * gnulib-tool (nl): New variable.
57393         (func_import): Rewrite include directive extraction to only read each
57394         directive once.
57395
57396 2006-09-17  Bruno Haible  <bruno@clisp.org>
57397
57398         * modules/javaversion (Makefile.am): Remove DEFS setting.
57399         (Depends-on): Add configmake, for PKGDATADIR definition.
57400
57401 2006-09-17  Bruno Haible  <bruno@clisp.org>
57402
57403         * gnulib-tool (func_create_testdir): Rewrite all files at once.
57404
57405 2006-09-17  Bruno Haible  <bruno@clisp.org>
57406
57407         * gnulib-tool (func_append): New function, stolen from libtool.m4.
57408         (func_modules_transitive_closure, func_modules_add_dummy,
57409         func_modules_to_filelist, func_import, func_create_testdir,
57410         func_create_megatestdir, ...): Use it wherever possible.
57411         Suggested by Ralf Wildenhues.
57412
57413 2006-09-16  Karl Berry  <karl@gnu.org>
57414
57415         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
57416         to avoid sectioning errors.
57417         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
57418         [ifinfo]: blank line after @center-ed titles.
57419         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
57420         Spell FSF address consistently with others.
57421         (These changes approved by rms.)
57422
57423 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57424
57425         Speed up by a factor of 1.61.
57426         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
57427         already checked module names again.
57428
57429 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57430
57431         Speed up by a factor of 1.13.
57432         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
57433         for new_files, and the input to func_add_or_update.
57434
57435 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57436
57437         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
57438         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
57439
57440 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
57441
57442         * modules/mkancesdirs (Depends-on): Add fcntl.
57443         * modules/savewd: New file.
57444         * MODULES.html.sh (File system functions): Add savewd.
57445
57446         * modules/configmake (Makefile.am): Add support for the
57447         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
57448
57449 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
57450
57451         * m4/savewd.m4: New file.
57452
57453 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
57454
57455         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
57456         (dirchownmod): New arg FD.  All callers changed.
57457         Use FD rather than opening the directory ourself, as opening is
57458         now the caller's responsibility.
57459         * lib/dirchownmod.h: Likewise.
57460         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
57461         hosts that require <sys/types.h> before <sys/stat.h>.  Include
57462         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
57463         (test_dir): Remove.
57464         (mkancesdirs): Return length of prefix of FILE that has already
57465         been made, or -2 if there is a child doing the work.  Redo
57466         algorithm so that it is O(N) rather than O(N**2).  Optimize away
57467         ".", and treat ".." specially since it might stray back into
57468         already-created areas.  Use a subprocess if necessary.  New arg
57469         WD; all users changed.  MAKE_DIR function should now return 1
57470         if it creates a directory that is not readable.  Return -2 if
57471         a child process is spun off.
57472         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
57473         Adjust signature to match code.
57474         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
57475         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
57476         all users changed.
57477         * lib/savewd.c, lib/savewd.h: New files.
57478
57479 2006-09-15  Jim Meyering  <jim@meyering.net>
57480
57481         * modules/rename-dest-slash: New module.
57482         * MODULES.html.sh (posix_compat): Add it here.
57483
57484         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
57485
57486 2006-09-15  Jim Meyering  <jim@meyering.net>
57487
57488         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
57489         file.
57490
57491         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
57492
57493 2006-09-15  Jim Meyering  <jim@meyering.net>
57494
57495         * lib/rename-dest-slash.c (has_trailing_slash): Use
57496         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
57497         (rpl_rename_dest_slash): Perform the cheaper trailing slash
57498         test before testing whether SRC is a directory.
57499         Suggestions from Bruno Haible.
57500
57501         Avoid a warning about an unused variable.
57502         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
57503         into the #ifdef block where it's used.
57504
57505         * lib/rename-dest-slash.c: New file.
57506
57507 2006-09-14  Bruno Haible  <bruno@clisp.org>
57508
57509         * lib/allocsa.c: Include <config.h> unconditionally.
57510         * lib/asnprintf.c: Likewise.
57511         * lib/asprintf.c: Likewise.
57512         * lib/c-strcasecmp.c: Likewise.
57513         * lib/c-strcasestr.c: Likewise.
57514         * lib/c-strncasecmp.c: Likewise.
57515         * lib/c-strstr.c: Likewise.
57516         * lib/classpath.c: Likewise.
57517         * lib/clean-temp.c: Likewise.
57518         * lib/concatpath.c: Likewise.
57519         * lib/copy-file.c: Likewise.
57520         * lib/csharpcomp.c: Likewise.
57521         * lib/csharpexec.c: Likewise.
57522         * lib/execute.c: Likewise.
57523         * lib/fatal-signal.c: Likewise.
57524         * lib/findprog.c: Likewise.
57525         * lib/fwriteerror.c: Likewise.
57526         * lib/gl_array_list.c: Likewise.
57527         * lib/gl_array_oset.c: Likewise.
57528         * lib/gl_avltree_list.c: Likewise.
57529         * lib/gl_avltree_oset.c: Likewise.
57530         * lib/gl_avltreehash_list.c: Likewise.
57531         * lib/gl_carray_list.c: Likewise.
57532         * lib/gl_linked_list.c: Likewise.
57533         * lib/gl_linkedhash_list.c: Likewise.
57534         * lib/gl_list.c: Likewise.
57535         * lib/gl_oset.c: Likewise.
57536         * lib/gl_rbtree_list.c: Likewise.
57537         * lib/gl_rbtree_oset.c: Likewise.
57538         * lib/gl_rbtreehash_list.c: Likewise.
57539         * lib/imaxabs.c: Likewise.
57540         * lib/imaxdiv.c: Likewise.
57541         * lib/javacomp.c: Likewise.
57542         * lib/javaexec.c: Likewise.
57543         * lib/javaversion.c: Likewise.
57544         * lib/linebreak.c: Likewise.
57545         * lib/localcharset.c: Likewise.
57546         * lib/lock.c: Likewise.
57547         * lib/mbchar.c: Likewise.
57548         * lib/mbswidth.c: Likewise.
57549         * lib/mkdtemp.c: Likewise.
57550         * lib/pipe.c: Likewise.
57551         * lib/printf-args.c: Likewise.
57552         * lib/printf-parse.c: Likewise.
57553         * lib/progname.c: Likewise.
57554         * lib/progreloc.c: Likewise.
57555         * lib/readlink.c: Likewise.
57556         * lib/sh-quote.c: Likewise.
57557         * lib/stpcpy.c: Likewise.
57558         * lib/stpncpy.c: Likewise.
57559         * lib/strcasecmp.c: Likewise.
57560         * lib/strcasestr.c: Likewise.
57561         * lib/strcspn.c: Likewise.
57562         * lib/striconv.c: Likewise.
57563         * lib/strncasecmp.c: Likewise.
57564         * lib/strnlen1.c: Likewise.
57565         * lib/strstr.c: Likewise.
57566         * lib/strtok_r.c: Likewise.
57567         * lib/tls.c: Likewise.
57568         * lib/tmpdir.c: Likewise.
57569         * lib/unicodeio.c: Likewise.
57570         * lib/unsetenv.c: Likewise.
57571         * lib/vasnprintf.c: Likewise.
57572         * lib/vasprintf.c: Likewise.
57573         * lib/wait-process.c: Likewise.
57574         * lib/xallocsa.c: Likewise.
57575         * lib/xsetenv.c: Likewise.
57576         * lib/xstriconv.c: Likewise.
57577
57578 2006-09-13  Simon Josefsson  <jas@extundo.com>
57579
57580         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
57581         that internally, suggested by Ralf Wildenhues
57582         <Ralf.Wildenhues@gmx.de>.
57583
57584 2006-09-13  Simon Josefsson  <jas@extundo.com>
57585
57586         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
57587         @LIBOBJS@.
57588         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
57589
57590 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
57591
57592         * lib/_fpending.c: Include <config.h> unconditionally, since we no
57593         longer worry about uses that don't define HAVE_CONFIG_H.
57594         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
57595         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
57596         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
57597         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
57598         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
57599         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
57600         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
57601         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
57602         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
57603         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
57604         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
57605         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
57606         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
57607         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
57608         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
57609         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
57610         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
57611         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
57612         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
57613         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
57614         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
57615         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
57616         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
57617         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
57618         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
57619         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
57620         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
57621         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
57622         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
57623         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
57624         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
57625         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
57626         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
57627         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
57628         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
57629         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
57630         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
57631         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
57632         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
57633         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
57634         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
57635         Likewise.
57636
57637 2006-09-13  Eric Blake  <ebb9@byu.net>
57638
57639         * lib/getopt.c: Fix typo in last commit.
57640
57641 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
57642
57643         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
57644         dgettext.
57645
57646 2006-09-12  Jim Meyering  <jim@meyering.net>
57647
57648         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
57649         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
57650         Reported by Nelson H. F. Beebe.
57651
57652 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
57653
57654         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
57655         program_invocation_name and program_invocation_short_name are
57656         initialized.
57657         * lib/argp-namefrob.h: Move declarations of program_invocation_name
57658         and program_invocation_short_name to argp.h, so they are visible
57659         to user programs.
57660         * lib/argp.h: Likewise
57661
57662 2006-09-10  Bruno Haible  <bruno@clisp.org>
57663
57664         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
57665         m4/inttypes_h.m4, m4/uintmax_t.m4.
57666
57667 2006-09-10  Bruno Haible  <bruno@clisp.org>
57668
57669         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
57670         gl_AC_TYPE_UINTMAX_T.
57671
57672 2006-09-10  Bruno Haible  <bruno@clisp.org>
57673
57674         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
57675
57676 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
57677
57678         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
57679         convention.  Text proposed by Bruno Haible.
57680         (struct argp_option): Document the use of N_() wrappers.
57681
57682         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
57683         '\v', and translate the two parts separately, instead of feeding
57684         the whole string to gettext.  This allows to exclude
57685         '\v' from the strings visible to the translator by writing doc
57686         strings as N_("..") "\v" N_("..").
57687
57688 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
57689
57690         * config/srclist.txt: Undo latest change; the bug was fixed.
57691
57692 2006-09-09  Bruno Haible  <bruno@clisp.org>
57693
57694         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
57695         assignments if building a library without libtool.
57696         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
57697         in func_emit_lib_Makefile_am.
57698         (func_import): When building a static library libfoo.a, arrange to
57699         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
57700         (func_create_testdir): Likewise.
57701         * modules/gc (configure.ac, Makefile.am): If building statically,
57702         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
57703         * modules/iconvme (configure.ac, Makefile.am): Likewise.
57704         * modules/striconv (configure.ac, Makefile.am): Likewise.
57705         Based on a suggestion by Ralf Wildenhues.
57706
57707 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
57708
57709         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
57710         Check for unistd.h too, since Autoconf doesn't assume POSIX.
57711         Also:
57712
57713         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
57714         Add year_2050_test to catch glibc bug 2821
57715         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
57716
57717         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
57718         Prefer #ifdef to #if.
57719
57720         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
57721         Return from 'main' instead of calling 'exit'.
57722
57723 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
57724
57725         * lib/mktime.c (guess_time_tm): Fix bug where mktime
57726         returned the maximum time_t value rather than (time_t) -1.
57727         Problem originally reported by William Bardwell
57728         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
57729
57730         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
57731         Moved to here ...
57732         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
57733         ... from here.
57734
57735 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
57736
57737         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
57738         2821 is fixed.
57739
57740 2006-09-08  Jim Meyering  <jim@meyering.net>
57741
57742         Don't make generated files read-only.  That would bother too many
57743         people.  However, do retain the ability to work when targets are
57744         read-only: remove the destination and temporary files before writing
57745         them (when generated via sed or echo), or by using the -f option for
57746         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
57747         * modules/alloca-opt, modules/argz, modules/arpa_inet:
57748         * modules/byteswap, modules/configmake, modules/fcntl:
57749         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
57750         * modules/localcharset, modules/netinet_in, modules/poll:
57751         * modules/stdbool, modules/stdint, modules/sys_select:
57752         * modules/sys_socket, modules/sys_stat, modules/sysexits:
57753
57754 2006-09-08  Jim Meyering  <jim@meyering.net>
57755
57756         Avoid new build failure on FreeBSD 6.0.
57757         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
57758         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
57759         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
57760
57761 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57762
57763         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
57764
57765 2006-09-07  Jim Meyering  <jim@meyering.net>
57766
57767         Fix global typo in last change: use chmod u-w, not chmod u-x.
57768         Spotted by Paul Eggert and Bruce Korb.
57769         * modules/alloca-opt, modules/argz, modules/arpa_inet:
57770         * modules/byteswap, modules/configmake, modules/fcntl:
57771         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
57772         * modules/localcharset, modules/netinet_in, modules/poll:
57773         * modules/stdbool, modules/stdint, modules/sys_select:
57774         * modules/sys_socket, modules/sys_stat, modules/sysexits:
57775
57776 2006-09-06  Jim Meyering  <jim@meyering.net>
57777
57778         Make generated files be read-only.
57779         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
57780         Ensure that each generated file is now read-only.
57781         * modules/argz: Likewise.
57782         * modules/arpa_inet: Likewise.
57783         * modules/byteswap: Likewise.
57784         * modules/configmake: Likewise.
57785         * modules/fcntl: Likewise.
57786         * modules/fnmatch: Likewise.
57787         * modules/getopt: Likewise.
57788         * modules/glob: Likewise.
57789         * modules/inttypes: Likewise.
57790         * modules/netinet_in: Likewise.
57791         * modules/poll: Likewise.
57792         * modules/stdbool: Likewise.
57793         * modules/stdint: Likewise.
57794         * modules/sys_select: Likewise.
57795         * modules/sys_socket: Likewise.
57796         * modules/sys_stat: Likewise.
57797         * modules/sysexits: Likewise.
57798         * modules/localcharset: Same as above, but continue using temporary
57799         file named "t-$@" (why different?) rather than the "$@-t" used
57800         everywhere else.
57801
57802         * modules/sysexits (Makefile.am): Replace literal occurrences
57803         of "sysexit.h" more readable, and more consistent, "$@".
57804
57805 2006-09-06  Bruno Haible  <bruno@clisp.org>
57806
57807         * modules/striconv: New file.
57808         * modules/xstriconv: New file.
57809         * MODULES.html.sh (Internationalization functions): Add striconv,
57810         xstriconv.
57811
57812 2006-09-06  Bruno Haible  <bruno@clisp.org>
57813
57814         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
57815         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
57816         not using libtool correctly.
57817
57818 2006-09-06  Bruno Haible  <bruno@clisp.org>
57819
57820         * lib/striconv.h: New file.
57821         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
57822         iconvstring.c.
57823         * lib/xstriconv.h: New file.
57824         * lib/xstriconv.c: New file.
57825
57826 2006-09-06  Bruno Haible  <bruno@clisp.org>
57827
57828         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
57829         lib_..._LDFLAGS.
57830
57831 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57832
57833         * lib/argz_.h: Sync from Libtool.
57834
57835         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
57836                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
57837
57838         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
57839
57840 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
57841
57842         * modules/trim: New file.
57843
57844 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
57845
57846         * lib/trim.h: New file.
57847         * lib/trim.c: New file.
57848
57849 2006-09-05  Bruno Haible  <bruno@clisp.org>
57850
57851         * MODULES.html.sh (String handling): Add trim.
57852
57853 2006-09-04  Karl Berry  <karl@gnu.org>
57854
57855         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
57856         until next release.
57857
57858 2006-09-03  Bruno Haible  <bruno@clisp.org>
57859
57860         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
57861         correctly.
57862
57863 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
57864
57865         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
57866         not gl_GETLOADAVG.  Omit unneeded semicolons.
57867         Problems reported by Ralf Wildenhues in
57868         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
57869         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
57870         at the end, which is the usual gnulib style.
57871
57872         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
57873         of doing all the work ourselves.
57874         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
57875         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
57876
57877 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
57878
57879         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
57880         Problem reported by Ralf Wildenhues in
57881         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
57882
57883         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
57884         HAVE_STRUCT_STATFS_F_FSTYPENAME.
57885
57886 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
57887
57888         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
57889         yesterday's patch by changing test -n to test -z.
57890
57891 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
57892
57893         * modules/getloadavg (Files): Add m4/getloadavg.m4.
57894         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
57895         the former is now obsolescent.
57896
57897         * modules/chdir-long (Depends-on): Add fcntl.
57898
57899 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
57900
57901         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
57902         obsolescent, and programs should use gnulib instead.
57903         * m4/getloadavg.m4: New file, with contents taken from Autoconf
57904         but with prefixes changed.
57905
57906 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
57907
57908         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
57909         or stdbool.h, because they might not exist while configuring.
57910
57911         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
57912         Don't include unistd.h or limits.h; not needed, since chdir-long.h
57913         does that for us.
57914         (O_DIRECTORY): Remove.
57915
57916 2006-08-31  Eric Blake  <ebb9@byu.net>
57917
57918         * gnulib-tool: Don't let emacs change spaces to TAB.
57919
57920 2006-08-31  Bruno Haible  <bruno@clisp.org>
57921
57922         * gnulib-tool: When calling func_import more than once, do it in a
57923         subshell.
57924         Reported by Eric Blake <ebb9@byu.net>.
57925
57926 2006-08-31  Bruno Haible  <bruno@clisp.org>
57927
57928         * gnulib-tool (nl): Remove variable.
57929         (sed_transform_lib_file): Use more robust test for config-h module.
57930         (func_import): Fix typo in 2006-08-25 patch.
57931
57932 2006-08-31  Bruno Haible  <bruno@clisp.org>
57933
57934         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
57935         specified, augment Makefile.am variables instead of assigning them.
57936
57937 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
57938
57939         Work around a bug in both the Linux and SunOS 64-bit kernels:
57940         nanosleep mishandles sleeps for longer than 2**31 seconds.
57941         Problem reported by Frank v Waveren in
57942         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
57943         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
57944         Check for nanosleep bug.
57945         (LIB_NANOSLEEP): Append clock_gettime library if needed.
57946
57947 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
57948
57949         Work around a bug in both the Linux and SunOS 64-bit kernels:
57950         nanosleep mishandles sleeps for longer than 2**31 seconds.
57951         Problem reported by Frank v Waveren in
57952         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
57953         * lib/nanosleep.c (BILLION): New constant.
57954         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
57955         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
57956         implementation.
57957
57958 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
57959
57960         * modules/nanosleep (Depends-on): Add gettime.
57961
57962 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
57963         and Simon Josefsson  <jas@extundo.com>
57964         and Oskar Liljeblad  <oskar@osk.mine.nu>
57965
57966         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
57967         * gnulib-tool (func_import): New license type 'unmodifiable license
57968         text'.
57969         * modules/fdl: Use it.  Longer description.
57970         * module/gpl, module/lgpl: New files.
57971
57972 2006-08-30  Jim Meyering  <jim@meyering.net>
57973
57974         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
57975         shadowing the parameter.
57976
57977 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57978
57979         Sync from Libtool:
57980
57981         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57982
57983         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
57984         sharing with gnulib.  Report by Eric Blake.
57985
57986 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
57987
57988         * modules/isapipe: New file.
57989         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
57990
57991 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
57992
57993         * modules/configmake (Makefile.am): Add a comment, and omit
57994         the CONFIGMAKE_ prefix from generated macro names.  Suggested
57995         by Bruno Haible.
57996
57997 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
57998
57999         * m4/isapipe.m4: New file.
58000
58001 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
58002
58003         * lib/isapipe.c, lib/isapipe.h: New files.
58004
58005 2006-08-29  Jim Meyering  <jim@meyering.net>
58006
58007         * modules/configmake (Makefile.am): Make configmake.h depend on
58008         Makefile.  Otherwise, a stale configmake.h could hang around.
58009
58010 2006-08-29  Eric Blake  <ebb9@byu.net>
58011
58012         * lib/error.c (error_at_line, print_errno_message): Match libc, after
58013         resolution of upstream bug 3044.
58014
58015 2006-08-29  Bruno Haible  <bruno@clisp.org>
58016
58017         * modules/localcharset (Depends-on): Add configmake.
58018         (Makefile.am): Remove setting of LIBDIR through DEFS.
58019
58020 2006-08-29  Bruno Haible  <bruno@clisp.org>
58021
58022         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
58023         defined.
58024
58025 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
58026
58027         * modules/fcntl: New file.
58028         * modules/chdir-safer (Depends-on): Add fcntl.
58029         * modules/fts: Likewise.
58030         * modules/mkdir-p: Likewise.
58031
58032         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
58033         This undoes the most recent change, since we're now addressing the
58034         problem in a different way.
58035
58036         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
58037         into output, since the output might be called Makefile.am even
58038         if $makefile_name is something different.
58039         (func_import): Use $makefile_am rather than
58040         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
58041         empty.
58042
58043         * modules/inttypes (Files): Add m4/inttypes-h.m4.
58044
58045 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
58046
58047         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
58048         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
58049         recent change to stdint.m4, since we're now addressing the problem in a
58050         different way.
58051
58052 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
58053
58054         * m4/fcntl_h.m4: New file.
58055
58056 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
58057
58058         * lib/fcntl_.h: New file.
58059         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
58060         the fcntl module.
58061         * lib/dirchownmod.c: Likewise.
58062         * lib/fts.c: Likewise.
58063
58064         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
58065         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
58066         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
58067         just before including <inttypes.h>, to avoid circular inclusion.
58068
58069 2006-08-28  Jim Meyering  <jim@meyering.net>
58070
58071         * doc/visibility.texi: Actually read and correct the grammar of the
58072         sentence affected by yesterday's change.
58073
58074 2006-08-28  Eric Blake  <ebb9@byu.net>
58075
58076         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
58077         needs wrapper.
58078
58079 2006-08-28  Eric Blake  <ebb9@byu.net>
58080
58081         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
58082
58083 2006-08-28  Eric Blake  <ebb9@byu.net>
58084
58085         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
58086
58087 2006-08-28  Bruno Haible  <bruno@clisp.org>
58088
58089         * modules/c-strstr: New file, from GNU gettext.
58090         * MODULES.html.sh (String handling): Add c-strstr.
58091
58092 2006-08-28  Bruno Haible  <bruno@clisp.org>
58093
58094         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
58095         macros.
58096         Reported by Eric Blake.
58097
58098 2006-08-28  Bruno Haible  <bruno@clisp.org>
58099
58100         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
58101         (VASNPRINTF): Return a string of length > INT_MAX without failing.
58102         * lib/vasprintf.c: Include errno.h, limits.h.
58103         (EOVERFLOW): New fallback definition.
58104         (vasprintf): Test here whether the string length is > INT_MAX.
58105         * lib/vsnprintf.c: Include errno.h, limits.h.
58106         (EOVERFLOW): New fallback definition.
58107         (vsnprintf): Fix bug when generated string was too long for the buffer.
58108         Test here whether the string length is > INT_MAX.
58109
58110 2006-08-28  Bruno Haible  <bruno@clisp.org>
58111
58112         * lib/inttypes_.h (SCNX*): Remove definitions.
58113         Reported by Eric Blake.
58114
58115 2006-08-28  Bruno Haible  <bruno@clisp.org>
58116
58117         * lib/c-strstr.h: New file, from GNU gettext.
58118         * lib/c-strstr.c: New file, from GNU gettext.
58119
58120 2006-08-28  Bruno Haible  <bruno@clisp.org>
58121
58122         * gnulib-tool: Reorder some statements.
58123
58124 2006-08-28  Bruno Haible  <bruno@clisp.org>
58125
58126         * gnulib-tool: New option --makefile-name.
58127         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
58128         $makefile_name.
58129         (func_import): Write $makefile_name to the cache file, and read it from
58130         there unless explicitly specified. Use $makefile_name as file name
58131         instead of Makefile.am. Adjust the recommendations accordingly.
58132
58133 2006-08-28  Bruno Haible  <bruno@clisp.org>
58134
58135         * gnulib-tool (func_verify_module): Check against misapplying patch.
58136
58137 2006-08-28  Bruno Haible  <bruno@clisp.org>
58138
58139         * gnulib-tool (func_relativize, func_relconcat): New functions.
58140         Give an error if --local-dir is given with --update.
58141         Remove trailing slashes from $local_gnulib_dir.
58142         (func_import): Store the relativized $local_gnulib_dir in
58143         gnulib-cache.m4, and read it from there if not specified explicitly.
58144
58145 2006-08-28  Bruno Haible  <bruno@clisp.org>
58146
58147         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
58148         is the current directory. Respect also $local_gnulib_dir.
58149
58150 2006-08-28  Bruno Haible  <bruno@clisp.org>
58151             Simon Josefsson  <jas@extundo.com>
58152
58153         BeOS portability.
58154         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
58155
58156 2006-08-27  Jim Meyering  <jim@meyering.net>
58157
58158         * doc/visibility.texi: Remove duplicate word: "pointer".
58159
58160 2006-08-26  Bruno Haible  <bruno@clisp.org>
58161
58162         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
58163         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
58164         (Makefile.am): Create inttypes.h from inttypes_.h.
58165         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
58166
58167         * modules/imaxabs: New file.
58168
58169         * modules/imaxdiv: New file.
58170
58171 2006-08-26  Bruno Haible  <bruno@clisp.org>
58172
58173         * m4/inttypes.m4: New file.
58174         * m4/_inttypes_h.m4: Remove file.
58175         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
58176         PRI_MACROS_BROKEN.
58177         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
58178
58179         * m4/imaxabs.m4: New file.
58180
58181         * m4/imaxdiv.m4: New file.
58182
58183 2006-08-26  Bruno Haible  <bruno@clisp.org>
58184
58185         * lib/inttypes_.h: New file.
58186         * lib/inttypes.h: Remove file.
58187         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
58188
58189         * lib/imaxabs.c: New file.
58190
58191         * lib/imaxdiv.c: New file.
58192
58193 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
58194
58195         New config-h module, so that "make" output needn't be cluttered
58196         by -DHAVE_CONFIG_H.
58197         * MODULES.html.sh (Support for building libraries and executables):
58198         Add config-h.
58199         * modules/config-h: New file.
58200         * gnulib-tool (nl, sed_transform_lib_file): New vars.
58201         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
58202         the config-h module is used.
58203
58204         New configmake module, so that "make" output needn't be cluttered
58205         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
58206         * MODULES.html.sh (Support for building libraries and executables):
58207         Add configmake.
58208         * modules/configmake: New file.
58209
58210 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
58211
58212         * m4/config-h.m4: New file.
58213
58214 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
58215
58216         * config/srclist.txt: Add elisp-comp.
58217
58218 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
58219
58220         * MODULES.html.sh (Support for building libraries and executables):
58221         Add elisp-comp.
58222         * build-aux/elisp-comp: New file.
58223         * modules/elisp-comp: New file.
58224
58225 2006-08-24  Bruno Haible  <bruno@clisp.org>
58226
58227         * gnulib-tool (func_create_testdir): Use non-default values of
58228         sourcebase and m4base.
58229
58230 2006-08-24  Bruno Haible  <bruno@clisp.org>
58231
58232         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
58233         HTML structure.
58234
58235 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
58236
58237         * modules/openat (Depends-on): Add lchown.
58238
58239 2006-08-23  Bruno Haible  <bruno@clisp.org>
58240
58241         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
58242         of gl_LOCK_EARLY instead of gl_LOCK.
58243
58244 2006-08-23  Bruno Haible  <bruno@clisp.org>
58245
58246         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
58247         on OSF/1 to no.
58248         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
58249
58250 2006-08-23  Bruno Haible  <bruno@clisp.org>
58251
58252         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
58253         as unusable.
58254
58255         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
58256         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
58257         (gl_LOCK): New macro.
58258
58259 2006-08-22  Simon Josefsson  <jas@extundo.com>
58260
58261         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
58262         to md5 module.
58263
58264 2006-08-22  Simon Josefsson  <jas@extundo.com>
58265
58266         * MODULES.html.sh: Add "Support for maintaining and release
58267         projects".
58268
58269         * build-aux/gnupload: New file, from coreutils.
58270
58271 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
58272
58273         Avoid the need for AC_LIBSOURCES in m4 macros.
58274         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
58275         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
58276         * modules/check-version (EXTRA_DIST): Add check-version.h.
58277         * modules/crc (EXTRA_DIST): Add crc.h.
58278         * modules/des (EXTRA_DIST): Add des.h.
58279         * modules/gc (EXTRA_DIST): Add gc.h.
58280         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
58281         * modules/getline (EXTRA_DIST): Add getline.h.
58282         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
58283         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
58284         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
58285         * modules/md2 (EXTRA_DIST): Add md2.h.
58286         * modules/md4 (EXTRA_DIST): Add md4.h.
58287         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
58288         * modules/read-file (EXTRA_DIST): Add read-file.h.
58289         * modules/readline (EXTRA_DIST): Add readline.h.
58290         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
58291         rijndael-api-fst.h.
58292
58293 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
58294
58295         * m4/rijndael.m4 (gl_ARCFOUR):
58296         * m4/arctwo.m4 (gl_ARCTWO):
58297         * m4/check-version.m4 (gl_CHECK_VERSION):
58298         * m4/crc.m4 (gl_CRC):
58299         * m4/des.m4 (gl_DES):
58300         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
58301         * m4/gc.m4 (gl_GC):
58302         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
58303         * m4/getline.m4 (gl_FUNC_GETLINE):
58304         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
58305         * m4/hmac-md5.m4 (gl_HMAC_MD5):
58306         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
58307         * m4/md2.m4 (gl_MD2):
58308         * m4/md4.m4 (gl_MD4):
58309         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
58310         * m4/read-file.m4 (gl_FUNC_READ_FILE):
58311         * m4/readline.m4 (gl_FUNC_READLINE):
58312         * m4/rijndael.m4 (gl_RIJNDAEL):
58313         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
58314         to get the necessary .h files and whatnot.
58315
58316 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
58317
58318         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
58319         gnulib rather than the other way around.
58320         * config/srclistvars.sh (COREUTILS): Remove.
58321
58322 2006-08-22  Jim Meyering  <jim@meyering.net>
58323
58324         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
58325
58326         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
58327
58328 2006-08-22  Eric Blake  <ebb9@byu.net>
58329
58330         * modules/regexprops-generic: New file.
58331         * MODULES.html.sh (Support for building documentation): List it.
58332
58333 2006-08-22  Eric Blake  <ebb9@byu.net>
58334
58335         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
58336         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
58337         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
58338         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
58339
58340 2006-08-22  Bruno Haible  <bruno@clisp.org>
58341
58342         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
58343         and lib_LTLIBRARIES like the other lib_* variables.
58344
58345 2006-08-22  Bruno Haible  <bruno@clisp.org>
58346
58347         * build-aux/x-to-1.in: New file, from GNU gettext.
58348
58349 2006-08-22  Bruno Haible  <bruno@clisp.org>
58350
58351         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
58352         <utmpx.h> exists.
58353
58354 2006-08-22  Bruno Haible  <bruno@clisp.org>
58355
58356         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
58357         <utmpx.h> exists.
58358
58359 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
58360
58361         BeOS portability.
58362         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
58363         exist.
58364         Problem reported by Bruno Haible.
58365
58366 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
58367
58368         Avoid the need for AC_LIBSOURCES in m4 macros.
58369         * modules/acl (EXTRA_DIST): Add acl.h.
58370         * modules/argmatch (Files): Add m4/argmatch.m4.
58371         (configure.ac): Add gl_ARGMATCH.
58372         (EXTRA_DIST): Renamed from lib_SOURCES, for
58373         consistency with the other modules.  Remove argmatch.c.
58374         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
58375         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
58376         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
58377         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
58378         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
58379         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
58380         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
58381         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
58382         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
58383         * modules/closeout (EXTRA_DIST): Add closeout.h.
58384         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
58385         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
58386         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
58387         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
58388         dirname.h; remove basename.c and stripslash.c.
58389         * modules/exclude (EXTRA_DIST): Add exclude.h.
58390         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
58391         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
58392         * modules/file-type (EXTRA_DIST): Add file-type.h.
58393         * modules/filemode (EXTRA_DIST): Add filemode.h.
58394         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
58395         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
58396         * modules/fpending (EXTRA_DIST): Add __fpending.h.
58397         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
58398         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
58399         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
58400         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
58401         * modules/getdate (EXTRA_DIST): Add getdate.c.
58402         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
58403         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
58404         * modules/getpass (EXTRA_DIST): Add getpass.h.
58405         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
58406         * modules/group-member (EXTRA_DIST): Add group-member.h.
58407         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
58408         * modules/hash (EXTRA_DIST): Add hash.h.
58409         * modules/human (EXTRA_DIST): Add human.h.
58410         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
58411         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
58412         * modules/lchown (EXTRA_DIST): Add lchown.h.
58413         * modules/long-options (EXTRA_DIST): Add long-options.h.
58414         * modules/lstat (EXTRA_DIST): Add lstat.h.
58415         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
58416         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
58417         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
58418         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
58419         * modules/memxor (EXTRA_DIST): Add memxor.h.
58420         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
58421         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
58422         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
58423         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
58424         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
58425         * modules/physmem (EXTRA_DIST): Add physmem.h.
58426         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
58427         * modules/posixver (EXTRA_DIST): Add posixver.h.
58428         * modules/quote (EXTRA_DIST): Add quote.h.
58429         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
58430         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
58431         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
58432         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
58433         regex_internal.h regexec.c.
58434         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
58435         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
58436         * modules/same (EXTRA_DIST): Add same.h.
58437         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
58438         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
58439         * modules/savedir (EXTRA_DIST): Add savedir.h.
58440         * modules/sha1 (EXTRA_DIST): Add sha1.h.
58441         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
58442         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
58443         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
58444         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
58445         * modules/strdup (EXTRA_DIST): Add strdup.h.
58446         * modules/strftime (EXTRA_DIST): Add strftime.h.
58447         * modules/strndup (EXTRA_DIST): Add strndup.h.
58448         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
58449         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
58450         * modules/time_r (EXTRA_DIST): Add time_r.h.
58451         * modules/timespec (EXTRA_DIST): Add timespec.h.
58452         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
58453         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
58454         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
58455         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
58456         * modules/userspec (EXTRA_DIST): Add userspec.h.
58457         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
58458         * modules/utimens (EXTRA_DIST): Add utimens.h.
58459         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
58460         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
58461         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
58462         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
58463         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
58464         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
58465         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
58466         * modules/yesno (EXTRA_DIST): Add yesno.h.
58467
58468 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
58469
58470         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
58471
58472         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
58473         * m4/dev-ino.m4, same-inode.m4: Remove.
58474
58475         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
58476         * m4/acl.m4 (AC_FUNC_ACL):
58477         * m4/backupfile.m4 (gl_BACKUPFILE):
58478         * m4/c-strtod.m4 (gl_C99_STRTOLD):
58479         * m4/canon-host.m4 (gl_CANON_HOST):
58480         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
58481         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
58482         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
58483         * m4/cloexec.m4 (gl_CLOEXEC):
58484         * m4/close-stream.m4 (gl_CLOSE_STREAM):
58485         * m4/closeout.m4 (gl_CLOSEOUT):
58486         * m4/dirfd.m4 (gl_FUNC_DIRFD):
58487         * m4/dirname.m4 (gl_DIRNAME):
58488         * m4/exclude.m4 (gl_EXCLUDE):
58489         * m4/exitfail.m4 (gl_EXITFAIL):
58490         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
58491         * m4/file-type.m4 (gl_FILE_TYPE):
58492         * m4/filemode.m4 (gl_FILEMODE):
58493         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
58494         * m4/fpending.m4 (gl_FUNC_FPENDING):
58495         * m4/fprintftime.m4 (gl_FPRINTFTIME):
58496         * m4/fts.m4 (gl_FUNC_FTS):
58497         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
58498         * m4/getdate.m4 (gl_GETDATE):
58499         * m4/gethrxtime.m4 (gl_GETHRXTIME):
58500         * m4/getpagesize.m4 (gl_GETPAGESIZE):
58501         * m4/getpass.m4 (gl_FUNC_GETPASS):
58502         * m4/gettime.m4 (gl_GETTIME):
58503         * m4/getugroups.m4 (gl_GETUGROUPS):
58504         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
58505         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
58506         * m4/hard-locale.m4 (gl_HARD_LOCALE):
58507         * m4/hash.m4 (gl_HASH):
58508         * m4/idcache.m4 (gl_IDCACHE):
58509         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
58510         * m4/lchown.m4 (gl_FUNC_LCHOWN):
58511         * m4/long-options.m4 (gl_LONG_OPTIONS):
58512         * m4/lstat.m4 (gl_FUNC_LSTAT):
58513         * m4/md5.m4 (gl_MD5):
58514         * m4/memcasecmp.m4 (gl_MEMCASECMP):
58515         * m4/memcoll.m4 (gl_MEMCOLL):
58516         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
58517         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
58518         * m4/memxor.m4 (gl_MEMXOR):
58519         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
58520         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
58521         * m4/modechange.m4 (gl_MODECHANGE):
58522         * m4/mountlist.m4 (gl_MOUNTLIST):
58523         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
58524         * m4/openat.m4 (gl_FUNC_OPENAT):
58525         * m4/pathmax.m4 (gl_PATHMAX):
58526         * m4/physmem.m4 (gl_PHYSMEM):
58527         * m4/posixtm.m4 (gl_POSIXTM):
58528         * m4/posixver.m4 (gl_POSIXVER):
58529         * m4/quote.m4 (gl_QUOTE):
58530         * m4/quotearg.m4 (gl_QUOTEARG):
58531         * m4/readtokens.m4 (gl_READTOKENS):
58532         * m4/readutmp.m4 (gl_READUTMP):
58533         * m4/regex.m4 (gl_REGEX):
58534         * m4/safe-read.m4 (gl_SAFE_READ):
58535         * m4/safe-write.m4 (gl_SAFE_WRITE):
58536         * m4/same.m4 (gl_SAME):
58537         * m4/save-cwd.m4 (gl_SAVE_CWD):
58538         * m4/savedir.m4 (gl_SAVEDIR):
58539         * m4/settime.m4 (gl_SETTIME):
58540         * m4/sha1.m4 (gl_SHA1):
58541         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
58542         * m4/stat-macros.m4 (gl_STAT_MACROS):
58543         * m4/stat-time.m4 (gl_STAT_TIME):
58544         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
58545         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
58546         * m4/strdup.m4 (gl_FUNC_STRDUP):
58547         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
58548         * m4/strndup.m4 (gl_FUNC_STRNDUP):
58549         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
58550         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
58551         * m4/time_r.m4 (gl_TIME_R):
58552         * m4/timespec.m4 (gl_TIMESPEC):
58553         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
58554         * m4/unlinkdir.m4 (gl_UNLINKDIR):
58555         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
58556         * m4/userspec.m4 (gl_USERSPEC):
58557         * m4/utimecmp.m4 (gl_UTIMECMP):
58558         * m4/utimens.m4 (gl_UTIMENS):
58559         * m4/xalloc.m4 (gl_XALLOC):
58560         * m4/xgetcwd.m4 (gl_XGETCWD):
58561         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
58562         * m4/xreadlink.m4 (gl_XREADLINK):
58563         * m4/xstrtod.m4 (gl_XSTRTOD):
58564         * m4/yesno.m4 (gl_YESNO):
58565         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
58566         to get the necessary .h files and whatnot.
58567
58568 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
58569             Bruno Haible  <bruno@clisp.org>
58570
58571         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
58572         /bin/sh understanding of '!' conditional negation.
58573
58574 2006-08-21  Jim Meyering  <jim@meyering.net>
58575
58576         * modules/openat (Depends-on): Really alphabetize.
58577
58578         * modules/acl (Depends-on): Add error and quote.
58579
58580         * check-module (find_included_lib_files): Add at-func.c to the
58581         ok-to-include-more-than-once white list.
58582
58583         * modules/openat (Depends-on): Add lstat.  Alphabetize.
58584
58585 2006-08-21  Bruno Haible  <bruno@clisp.org>
58586
58587         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
58588         Emit a pkgdata_DATA variable only if some snippets add contents to it.
58589         Reported by Martin Lambers <marlam@marlam.de>.
58590
58591 2006-08-21  Bruno Haible  <bruno@clisp.org>
58592
58593         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
58594         specify an installation location, don't emit a noinst_LIBRARIES or
58595         noinst_LTLIBRARIES assignment.
58596
58597 2006-08-21  Bruno Haible  <bruno@clisp.org>
58598
58599         BeOS portability.
58600         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
58601         BeOS has mbrtowc() but no <wctype.h>.
58602
58603 2006-08-21  Bruno Haible  <bruno@clisp.org>
58604
58605         BeOS portability.
58606         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
58607         exist.
58608
58609 2006-08-21  Bruno Haible  <bruno@clisp.org>
58610
58611         BeOS portability.
58612         * lib/mbchar.h: Include <wctype.h> only if it exists.
58613
58614 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
58615
58616         Remove files that are no longer needed by their respective modules.
58617         * m4/obstack.m4: Remove.
58618         * m4/strerror_r.m4: Remove.
58619         * m4/uint32_t.m4: Remove.
58620         * m4/uintptr_t.m4: Remove.
58621         * m4/ullong_max.m4: Remove.
58622         * m4/xstrtoimax.m4: Remove.
58623         * m4/xstrtoumax.m4: Remove.
58624
58625         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
58626         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
58627         dependencies now capture this.
58628
58629         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
58630         Do not use AC_LIBSOURCES, since gnulib modules now do this.
58631         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
58632         * m4/human.m4 (gl_HUMAN): Likewise.
58633         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
58634         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
58635
58636         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
58637
58638         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
58639         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
58640         stdint.
58641         * m4/human.m4 (gl_HUMAN): Likewise.
58642         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
58643         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
58644         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
58645         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
58646         * m4/xstrtol (gl_XSTRTOL): Likewise.
58647
58648         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
58649         AC_TYPE_LONG_LONG_INT.
58650         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
58651         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
58652         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
58653         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
58654
58655         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
58656         on stdbool.
58657
58658         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
58659         (gl_PREREQ_XSTRTOUL): Remove.
58660
58661         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
58662
58663         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
58664         mode.
58665
58666 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
58667
58668         Add and change modules to make it easier for coreutils to use
58669         gnulib-tool.
58670         * modules/backupfile (Files): Remove m4/d-ino.m4.
58671         (Depends-on): Add d-ino.
58672         * modules/cycle-check (Depends-on): Add stdint.
58673         (lib_SOURCES): Add cycle-check.h.
58674         * modules/d-ino: New module.
58675         * modules/d-type: New module.
58676         * modules/error (Files): Remove m4/strerror_r.m4.
58677         * modules/filemode (Files): Add m4/st_dm_mode.m4.
58678         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
58679         m4/inttypes_h.m4, m4/uintmax_t.m4.
58680         (Depends-on): Add stdint.
58681         (lib_SOURCES): Add fsusage.h.
58682         * modules/getcwd (Files): Remove d-ino.m4.
58683         (Depends-on): Add d-ino.
58684         * modules/getndelim2 (Depends-on): Add stdint.
58685         * modules/glob (Files): Remove m4/d-type.m4.
58686         (Depends-on): Add d-type.
58687         * modules/host-os: New module.
58688         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
58689         m4/inttypes_h.m4, m4/uintmax_t.m4.
58690         * Depends-on: Add stdint.
58691         (lib_SOURCES): Add human.h.
58692         * modules/inttostr (Files): Remove m4/intmax_t.m4,
58693         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
58694         m4/uintmax_t.m4, m4/ulonglong.m4.
58695         (Depends-on): Add stdint.
58696         (EXTRA_DIST): Add inttostr.h.
58697         * modules/lchmod: New module.
58698         * modules/link-follow: New module.
58699         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
58700         (Depends-on): Add lchmod.
58701         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
58702         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
58703         (Depends-on): Add stdint.
58704         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
58705         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
58706         (Depends-on): Add stdint.
58707         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
58708         * modules/perl: New module.
58709         * modules/regex (Depends-on): Add stdint.
58710         * modules/rmdir-errno: New module.
58711         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
58712         m4/intmax_t.m4.
58713         (Depends-on): Add stdint.
58714         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
58715         m4/uintmax_t.m4.
58716         (Depends-on): Add stdint.
58717         * modules/unlink-busy: New module.
58718         * modules/utimecmp (Depends-on): Add stdint.
58719         * modules/uptime: New module.
58720         * modules/winsz-ioctl: New module.
58721         * modules/winsz-termios: New module.
58722         * modules/xnanosleep (Depends-on): Add nanosleep.
58723         * modules/ullong_max: Remove.
58724         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
58725         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
58726         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
58727         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
58728         (Depends-on): Add inttypes.
58729         (lib_SOURCES): Add xstrtol.h.
58730         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
58731         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
58732         * MODULES.html.sh: Move 'assert' into the assert section.
58733         Move 'dummy' into the linking section.
58734         Remove ullong_max.
58735         Add section for compatibility checks for POSIX:2001 functions,
58736         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
58737         winsz-ioctl, and winsz-termios into it.
58738         Add lchmod.
58739         Add top-level Misc section and put host-os, perl, and uptime
58740         into it.
58741
58742 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
58743
58744         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
58745         now assume the stdint module.  Do not include inttypes.h.
58746         * lib/fsusage.h: Likewise.
58747         * lib/getndelim2.c: Likewise.
58748         * lib/human.h: Likewise.
58749         * lib/inttostr.h: Likewise.
58750         * lib/obstack.c: Likewise.
58751         * lib/regex_internal.h: Likewise.
58752         * lib/tempname.c: Likewise.
58753         * lib/utimecmp.c: Likewise.
58754         * lib/xstrtol.h: Likewise.
58755
58756         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
58757
58758         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
58759         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
58760         * lib/xtime.h: Likewise.
58761
58762 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
58763
58764         * modules/openat (Files): Add lib/fchmodat.c.
58765         Fixes problem reported by Jay Youngman.
58766
58767 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
58768
58769         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
58770         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
58771
58772 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
58773             Bruno Haible  <bruno@clisp.org>
58774
58775         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
58776         and is a script that invokes bison. Tighten the code. Add comments.
58777
58778 2006-08-18  Jim Meyering  <jim@meyering.net>
58779
58780         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
58781         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
58782         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
58783         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
58784
58785 2006-08-18  Bruno Haible  <bruno@clisp.org>
58786
58787         * modules/bison-i18n: New file.
58788         * MODULES.html.sh (Internationalization functions): Add it.
58789
58790 2006-08-18  Bruno Haible  <bruno@clisp.org>
58791
58792         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
58793         sys/statvfs.h. When getmntinfo was found, check its declaration and
58794         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
58795
58796 2006-08-18  Bruno Haible  <bruno@clisp.org>
58797
58798         * m4/bison-i18n.m4: New file, from bison.
58799
58800 2006-08-18  Bruno Haible  <bruno@clisp.org>
58801
58802         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
58803         (ME_DUMMY): Treat "kernfs" as a dummy.
58804         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
58805
58806 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
58807
58808         Update from coreutils.
58809
58810         2006-08-15  Jim Meyering  <jim@meyering.net>
58811
58812         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
58813
58814         2006-01-17  Jim Meyering  <jim@meyering.net>
58815
58816         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
58817
58818         2006-01-11  Jim Meyering  <jim@meyering.net>
58819
58820         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
58821         Check for the lchmod function.
58822
58823 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
58824
58825         Update from coreutils.
58826
58827         * lib/__fpending.h: Add copyright notice.
58828         * lib/fprintftime.h: Likewise.
58829         * lib/savedir.c: Use (C) in copyright notice.
58830         * lib/savedir.h: Likewise.
58831
58832         2006-08-15  Jim Meyering  <jim@meyering.net>
58833
58834         * lib/at-func.c: New file, with the logic of all emulated at-functions.
58835         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
58836         in support of the EXPECTED_ERRNO macro.
58837         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
58838         definitions.  Instead, define the appropriate symbols and include
58839         "at-func.c".
58840         * lib/mkdirat.c (mkdirat): Likewise.
58841         * lib/fchmodat.c (fchmodat): Likewise.
58842         (ENOSYS): Remove definition.
58843         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
58844         it.  Don't include "unistd--.h" -- it wasn't ever used.
58845
58846         2006-01-17  Jim Meyering  <jim@meyering.net>
58847
58848         Rewrite fts.c not to change the current working directory,
58849         by using openat, fstatat, fdopendir, etc..
58850
58851         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
58852         (HAVE_OPENAT_SUPPORT): Define.
58853         [_LIBC] (fchdir): Don't undef or define; no longer used.
58854         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
58855         Now, this `function' always succeeds, and consumes its file descriptor
58856         parameter -- so callers must not close such FDs.  Update callers.
58857         (diropen_fd, opendirat, cwd_advance_fd): New functions.
58858         (diropen): Add parameter, SP.  Adjust all callers.
58859         Implement using diropen_fd, rather than open.
58860         (fts_open): Initialize new member, fts_cwd_fd.
58861         Remove fts_rft-setting code.
58862         (fts_close): Close fts_cwd_fd, if necessary.
58863         (__opendir2): Define in terms of opendir or opendirat,
58864         depending on whether the FST_NOCHDIR flag is set.
58865         (fts_build): Since fts_safe_changedir consumes its FD, and since
58866         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
58867         and close the dup'd file descriptor upon failure.
58868         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
58869         (fts_safe_changedir): Tweak semantics to reflect that this function
58870         now calls cwd_advance_fd and hence consumes its FD argument.
58871         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
58872         [struct FTS] (fts_rft): Remove now-unused member.
58873         [struct FTS] (fts_cycle.state): Improve comment.
58874
58875         * lib/openat.c (openat_needs_fchdir): New function.
58876         * lib/openat.h (openat_needs_fchdir): Declare it.
58877
58878 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
58879
58880         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
58881         Problem and fix reported by Pádraig Brady in
58882         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
58883
58884 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
58885
58886         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
58887
58888 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
58889
58890         * lib/memcoll.c (memcoll): Optimize for the common case where the
58891         arguments are bytewise equal.
58892
58893 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
58894
58895         * doc/regexprops-generic.texi: Add a copyright notice.
58896
58897 2006-08-15  Bruno Haible  <bruno@clisp.org>
58898
58899         * modules/tmpdir (License): Change to LGPL.
58900
58901 2006-08-15  Bruno Haible  <bruno@clisp.org>
58902
58903         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
58904         module.
58905
58906 2006-08-14  Simon Josefsson  <jas@extundo.com>
58907
58908         * config/srclist.txt: Add gnupload.
58909
58910 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
58911
58912         Change copyright notice from LGPL 2 to GPL 2, since that's the
58913         standard form used in the gnulib repository.
58914         * tests/test-lock.c: Likewise.
58915         * tests/test-stdint.c: Likewise.
58916         * tests/test-tls.c: Likewise.
58917
58918         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
58919         prelude-manager.  User shorter URLs for GNU projects, without '?'.
58920         Add copyright notice.
58921
58922         * check-module: Add copyright notice.  Output a copyright
58923         notice if "--version" is specified.
58924         * modules/COPYING: New file.
58925         * tests/test-getaddrinfo.c: Add copyright notice.
58926         * tests/test-verify.c: Likewise.
58927
58928 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
58929
58930         Change copyright notice from LGPL 2 to GPL 2, since that's the
58931         standard form used in the gnulib repository.
58932         * lib/lock.c: LGPL -> GPL.
58933         * lib/lock.h: Likewise.
58934         * lib/strnlen1.c: Likewise.
58935         * lib/strnlen1.h: Likewise.
58936         * lib/tls.c: Likewise.
58937         * lib/tls.h: Likewise.
58938         * lib/tmpdir.c: Likewise.
58939
58940         * lib/TODO: Remove; this belongs only in coreutils.
58941
58942 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
58943
58944         Add copyright notices to long-enough files that lack them, since
58945         otherwise the files aren't clearly free.  Use the same notice that
58946         getdate.texi already uses.
58947         * doc/alloca-opt.texi: Add copyright notice.
58948         * doc/alloca.texi: Likewise.
58949         * doc/ctime.texi: Likewise.
58950         * doc/functions.texi: Likewise.
58951         * doc/gcd.texi: Likewise.
58952         * doc/gnulib-tool.texi: Likewise.
58953         * doc/inet_ntoa.texi: Likewise.
58954         * doc/visibility.texi: Likewise.
58955
58956         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
58957         * doc/quote.texi: Add copyright notice.
58958
58959         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
58960         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
58961         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
58962         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
58963         is now obsolete, and give a pointer to the Sun list.
58964         Add copyright notice.
58965
58966 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
58967
58968         * config/srclistvars.sh: Add copyright notice.
58969
58970 2006-08-14  Eric Blake  <ebb9@byu.net>
58971
58972         Import the following change from libc:
58973
58974         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
58975
58976         Upstream bug 2997.
58977         * lib/misc/error.c: Add space between program name and message if file
58978         name is missing.
58979
58980 2006-08-12  Karl Berry  <karl@gnu.org>
58981
58982         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
58983         remove, these originate in gnulib now.
58984
58985 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58986
58987         * doc/Makefile (standards.info standards.html standards.dvi):
58988         Also depend on make-stds.texi.
58989
58990 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
58991
58992         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
58993         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
58994
58995         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
58996         in wchar_t.  Problem reported by Eric Blake.
58997
58998         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
58999         LEN is smaller than SIZE.  Suggested by Bruno Haible.
59000         Also, help the compiler to keep LEN in a register.
59001
59002 2006-08-11  Eric Blake  <ebb9@byu.net>
59003
59004         * users.txt: Sort.  Add tar.
59005
59006 2006-08-11  Bruno Haible  <bruno@clisp.org>
59007
59008         * users.txt: New file.
59009
59010 2006-08-11  Bruno Haible  <bruno@clisp.org>
59011
59012         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
59013         before <wchar.h>. Needed for OSF/1 and BSD/OS.
59014
59015 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
59016
59017         * modules/snprintf (Depends-on): Remove minmax.
59018         (Maintainer): Add self and Bruno.
59019
59020 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
59021
59022         * lib/.cppi-disable: Add snprintf.h, socket_.h.
59023         * lib/snprintf.c: Include <errno.h> and <limits.h>.
59024         (EOVERFLOW): Define if the system does not.
59025         Do not include "minmax.h"; it wasn't used.
59026         (snprintf): Don't assume size_t promotes to an unsigned type.
59027         Fix bug when generated string was too long for the buffer: the
59028         buffer's contents are supposed to be the initial prefix of the
59029         output.  Don't assume vasnprintf returns EOVERFLOW if the size
59030         exceeds INT_MAX; do the check ourselves.
59031
59032         Import the following changes from libc:
59033
59034         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
59035
59036         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
59037         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
59038         set wc to the byte which couldn't be converted.
59039         (re_string_reconstruct): Don't clear valid_raw_len before calling
59040         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
59041         tip_context using re_string_context_at.
59042
59043         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
59044
59045         * lib/posix/regex.h: g++ still cannot handled [restrict].
59046
59047         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
59048
59049         * lib/posix/regex.h: Remove special handling for VMS.
59050
59051 2006-08-10  Jim Meyering  <jim@meyering.net>
59052
59053         * modules/same-inode: New module.
59054         * modules/dev-ino: New module.
59055         * modules/cycle-check: Depend on these modules, rather than simply
59056         including their .h files.
59057         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
59058         required via m4/cycle-check.m4.
59059         * modules/same: Depend on new same-inode module, rather than
59060         including same-inode.h.
59061         * modules/chdir-safer: New file.
59062
59063         * modules/chown (Depends-on): Add stat-macros.
59064
59065 2006-08-10  Jim Meyering  <jim@meyering.net>
59066
59067         * m4/cycle-check.m4: New file.
59068         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
59069         * m4/dev-ino.m4, m4/same-inode.m4: New files.
59070
59071 2006-08-10  Eric Blake  <ebb9@byu.net>
59072
59073         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
59074         in from original proposal.
59075
59076 2006-08-10  Eric Blake  <ebb9@byu.net>
59077         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
59078
59079         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
59080         namespace.
59081
59082 2006-08-10  Bruno Haible  <bruno@clisp.org>
59083
59084         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
59085         as well.
59086
59087 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
59088
59089         Sync from coreutils.
59090
59091         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
59092
59093         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
59094         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
59095
59096 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
59097
59098         * modules/restrict: Remove; no longer needed now that we assume
59099         Autoconf 2.59 or later.
59100         * MODULES.html.sh: Remove 'restrict'.
59101         * modules/argp (Depends-on): Remove 'restrict'.
59102         * modules/base64 (Depends-on): Likewise.
59103         * modules/gc (Depends-on): Likewise.
59104         * modules/getaddrinfo (Depends-on): Likewise.
59105         * modules/glob (Depends-on): Likewise.
59106         * modules/inet_ntop (Depends-on): Likewise.
59107         * modules/inet_pton (Depends-on): Likewise.
59108         * modules/memxor (Depends-on): Likewise.
59109         * modules/regex (Depends-on): Likewise.
59110         * modules/strtok_r (Depends-on): Likewise.
59111         * modules/time_r (Depends-on): Likewise.
59112
59113 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
59114
59115         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
59116         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
59117         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
59118         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
59119         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
59120         * m4/memxor.m4 (gl_MEMXOR): Likewise.
59121         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
59122         gl_C_RESTRICT replaced by AC_C_RESTRICT.
59123
59124         Merge from coreutils.
59125         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
59126         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
59127         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
59128         * m4/time_r.m4 (gl_TIME_R): Likewise.
59129
59130 2006-08-09  Karl Berry  <karl@gnu.org>
59131
59132         * config/srclist.txt: no more gettext-tools, per Bruno.
59133
59134 2006-08-08  Eric Blake  <ebb9@byu.net>
59135
59136         * modules/verror: New module.
59137         * MODULES.html.sh: Document it.
59138
59139 2006-08-08  Eric Blake  <ebb9@byu.net>
59140
59141         * lib/verror.h, lib/verror.c: New files.
59142
59143 2006-08-08  Eric Blake  <ebb9@byu.net>
59144
59145         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
59146         verror_at_line output complies with GNU Coding Standards even when
59147         file is NULL.
59148
59149 2006-08-07  Bruno Haible  <bruno@clisp.org>
59150
59151         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
59152         versions of AIX.
59153         Reported by Ralf Wildenhues.
59154
59155 2006-08-07  Bruno Haible  <bruno@clisp.org>
59156
59157         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
59158         in an AC_DEFUN. Needed so that the autoconf snippets can use
59159         AC_REQUIRE.
59160
59161 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59162
59163         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
59164         Initialize pkgdata_DATA.
59165         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
59166         overriding it.
59167
59168 2006-08-06  Eric Blake  <ebb9@byu.net>
59169
59170         * lib/error.h: Fold in some upstream changes from glibc.
59171         * lib/error.c: Likewise.
59172
59173 2006-08-04  Bruno Haible  <bruno@clisp.org>
59174
59175         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
59176         Make the mostlyclean-local rule depend on mostlyclean-generic.
59177         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
59178
59179 2006-07-31  Bruno Haible  <bruno@clisp.org>
59180
59181         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
59182         <stdlib.h>, <string.h>.
59183
59184 2006-07-30  Bruno Haible  <bruno@clisp.org>
59185
59186         * modules/readlink (License): Change to LGPL.
59187
59188 2006-07-30  Bruno Haible  <bruno@clisp.org>
59189
59190         * modules/javaversion (Makefile.am): Distribute javaversion.java and
59191         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
59192         set PKGDATADIR to point to it.
59193
59194 2006-07-30  Bruno Haible  <bruno@clisp.org>
59195
59196         * modules/csharpexec (configure.ac): Comment out macro invocation.
59197         * modules/javaexec (configure.ac): Likewise.
59198         * modules/javacomp-script (configure.ac): Likewise.
59199
59200         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
59201
59202 2006-07-30  Bruno Haible  <bruno@clisp.org>
59203
59204         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
59205         linked-list.
59206
59207 2006-07-30  Bruno Haible  <bruno@clisp.org>
59208
59209         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
59210
59211 2006-07-30  Bruno Haible  <bruno@clisp.org>
59212
59213         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
59214         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
59215         get removed.
59216
59217 2006-07-29  Bruno Haible  <bruno@clisp.org>
59218
59219         Make it possible for gnulib-tool to work with locally modified or
59220         augmented gnulib repositories.
59221         * gnulib-tool (func_usage): Document --local-dir option.
59222         (local_gnulib_dir): New variable.
59223         Handle --local-dir option.
59224         (func_lookup_file): New function.
59225         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
59226         (func_get_description, func_get_filelist, func_get_description,
59227         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
59228         func_get_automake_snippet, func_get_include_directive,
59229         func_get_license, func_get_maintainer): Use func_lookup_file.
59230         (func_import, func_create_testdir): Use func_lookup_file.
59231
59232 2006-07-29  Bruno Haible  <bruno@clisp.org>
59233
59234         * modules/setenv (Depends-on): Add unistd.
59235
59236 2006-07-29  Bruno Haible  <bruno@clisp.org>
59237
59238         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
59239
59240 2006-07-29  Bruno Haible  <bruno@clisp.org>
59241
59242         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
59243
59244 2006-07-29  Bruno Haible  <bruno@clisp.org>
59245
59246         * gnulib-tool (import, update): If there is no Makefile.am, look at
59247         aclocal.m4, instead of bailing out.
59248
59249 2006-07-29  Bruno Haible  <bruno@clisp.org>
59250
59251         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
59252         Categorize the options by when they are useful.
59253
59254 2006-07-29  Bruno Haible  <bruno@clisp.org>
59255
59256         * gnulib-tool (func_usage): Document option --no-libtool.
59257         Handle option --no-libtool.
59258         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
59259         for changed semantics of $libtool variable.
59260         (func_import): Likewise. If libtool is not used, show this through
59261         an option --no-libtool.
59262         (func_create_testdir): Update.
59263
59264 2006-07-29  Bruno Haible  <bruno@clisp.org>
59265
59266         * gnulib-tool (func_import): Extend error message about missing
59267         --doc-base.
59268
59269 2006-07-29  Bruno Haible  <bruno@clisp.org>
59270
59271         * gnulib-tool (func_import): Don't create the $docbase directory if
59272         there is no file to store there.
59273
59274 2006-07-29  Bruno Haible  <bruno@clisp.org>
59275
59276         * gnulib-tool (autoconf_minversion): If a --dir option is given and
59277         relevant, look for configure.ac there, not in the current directory.
59278         Also use a simple search for AC_PREREQ, not "autoconf --trace".
59279
59280 2006-07-29  Bruno Haible  <bruno@clisp.org>
59281
59282         * gnulib-tool (SORT): New variable.
59283         (func_usage): Undocument --assume-autoconf option.
59284         Remove --assume-autoconf option handling.
59285         (autoconf_minversion): Determine from the contents of configure.ac.
59286         (func_import): Remove autoconf_minversion handling.
59287         Suggested by Eric Blake.
59288
59289 2006-07-29  Bruno Haible  <bruno@clisp.org>
59290
59291         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
59292
59293 2006-07-29  Bruno Haible  <bruno@clisp.org>
59294
59295         * config/srclist.txt (*setenv.[ch]): Remove rules.
59296
59297 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
59298
59299         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
59300
59301 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
59302
59303         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
59304         arpa/inet.h.
59305
59306 2006-07-28  Simon Josefsson  <jas@extundo.com>
59307
59308         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
59309         * modules/inet_pton (Depends-on): Likewise.
59310
59311 2006-07-28  Simon Josefsson  <jas@extundo.com>
59312
59313         * m4/netinet_in_h.m4: New file.
59314
59315 2006-07-28  Simon Josefsson  <jas@extundo.com>
59316
59317         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
59318         #include's.
59319
59320 2006-07-28  Simon Josefsson  <jas@extundo.com>
59321
59322         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
59323         #include's.
59324
59325 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
59326
59327         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
59328         setgid on directories only if they set these bits.
59329         * lib/modechange.h: Remove obsolete comment about masks.
59330
59331 2006-07-28  Eric Blake  <ebb9@byu.net>
59332
59333         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
59334         macro expansion.
59335
59336 2006-07-28  Bruno Haible  <bruno@clisp.org>
59337
59338         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
59339
59340 2006-07-28  Bruno Haible  <bruno@clisp.org>
59341
59342         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
59343
59344 2006-07-28  Bruno Haible  <bruno@clisp.org>
59345
59346         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
59347         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
59348         Define fallbacks.
59349         Avoids link error on FreeBSD 4.x.
59350         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
59351
59352         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
59353         encoding.
59354         * lib/mbswidth.c (iswcntrl): Likewise.
59355
59356 2006-07-27  Bruno Haible  <bruno@clisp.org>
59357
59358         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
59359         test.
59360
59361 2006-07-27  Bruno Haible  <bruno@clisp.org>
59362
59363         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
59364         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
59365         defined.
59366
59367 2006-07-26  Eric Blake  <ebb9@byu.net>
59368
59369         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
59370
59371 2006-07-26  Eric Blake  <ebb9@byu.net>
59372
59373         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
59374         like mingw that lack mkstemp.
59375         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
59376         avoid compilation warning on mingw.
59377
59378 2006-07-26  Bruno Haible  <bruno@clisp.org>
59379
59380         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
59381         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
59382         INT_FAST*_MIN, INTPTR_MIN.
59383
59384 2006-07-25  Bruno Haible  <bruno@clisp.org>
59385
59386         * modules/version-etc (Depends-on): Add stdarg.
59387
59388 2006-07-25  Bruno Haible  <bruno@clisp.org>
59389
59390         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
59391         complex commands.
59392
59393 2006-07-25  Bruno Haible  <bruno@clisp.org>
59394
59395         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
59396         defined in <stdarg.h> or config.h.
59397
59398 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
59399
59400         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
59401         (gl_STDIO_SAFER): Remove.
59402
59403 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
59404
59405         * MODULES.html.sh (File stream based Input/Output):
59406         Add fopen-safer, tmpfile-safer; remove stdio-safer.
59407         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
59408         * modules/fopen-safer, modules/tmpfile-safer: New files.
59409         * modules/stdio-safer: Remove.
59410
59411 2006-07-24  Bruno Haible  <bruno@clisp.org>
59412
59413         * modules/tmpdir: New file.
59414         * MODULES.html.sh (File system functions): Add it.
59415
59416 2006-07-24  Bruno Haible  <bruno@clisp.org>
59417
59418         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
59419         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
59420
59421 2006-07-24  Bruno Haible  <bruno@clisp.org>
59422
59423         * modules/clean-temp: New file.
59424
59425 2006-07-24  Bruno Haible  <bruno@clisp.org>
59426
59427         * m4/tmpdir.m4: New file, from GNU gettext.
59428
59429 2006-07-24  Bruno Haible  <bruno@clisp.org>
59430
59431         * lib/tmpdir.h: New file, from GNU gettext.
59432         * lib/tmpdir.c: New file, from GNU gettext.
59433
59434 2006-07-24  Bruno Haible  <bruno@clisp.org>
59435
59436         * lib/clean-temp.h: New file, from GNU gettext.
59437         * lib/clean-temp.c: New file, from GNU gettext.
59438
59439 2006-07-23  Eric Blake  <ebb9@byu.net>
59440
59441         * modules/stdio-safer (Files): Add tmpfile-safer.c.
59442         (Depends-on): Add binary-io.
59443
59444 2006-07-23  Eric Blake  <ebb9@byu.net>
59445
59446         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
59447
59448 2006-07-23  Eric Blake  <ebb9@byu.net>
59449
59450         * lib/tmpfile-safer.c: New file.
59451         * lib/stdio-safer.h (fopen_safer): Add prototype.
59452         * lib/stdio--.h (tmpfile): Make safer.
59453
59454 2006-07-23  Bruno Haible  <bruno@clisp.org>
59455
59456         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
59457         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
59458         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
59459         gl_linked_remove_at): Use it.
59460
59461 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
59462         and Simon Josefsson <jas@extundo.com>
59463
59464         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
59465
59466         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
59467
59468 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
59469
59470         * modules/close-stream: New file.
59471         * modules/closeout (Description): Make it clear that it exits
59472         with a diagnostic on error.
59473         (Depends-on): Add close-stream.  Remove fpending, stdbool.
59474         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
59475
59476 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
59477
59478         * m4/close-stream.m4: New file.
59479
59480 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
59481
59482         * lib/close-stream.c, lib/close-stream.h: New files.
59483
59484 2006-07-22  Bruno Haible  <bruno@clisp.org>
59485
59486         Merge from GNU gettext 0.15.
59487
59488         2006-05-01  Bruno Haible  <bruno@clisp.org>
59489
59490                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
59491
59492         2006-07-22  Bruno Haible  <bruno@clisp.org>
59493
59494                 * modules/javaversion: New file.
59495                 * MODULES.html.sh (Java): Add javaversion.
59496
59497         2006-03-12  Bruno Haible  <bruno@clisp.org>
59498
59499                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
59500
59501         2005-12-04  Bruno Haible  <bruno@clisp.org>
59502
59503                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
59504                 (untested).
59505
59506         2006-06-21  Bruno Haible  <bruno@clisp.org>
59507
59508                 Avoid warnings from recent versions of mcs.
59509                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
59510                 -o, -L, -r any more. Use options documented since mcs-1.0
59511                 instead. Similarly for -g.
59512
59513         2005-12-04  Bruno Haible  <bruno@clisp.org>
59514
59515                 * build-aux/csharpcomp.sh.in: Suffix for resources is
59516                 .resources, not .resource.
59517
59518         2005-07-09  Bruno Haible  <bruno@clisp.org>
59519
59520                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
59521                 add a .dll suffix.
59522                 Reported by Mark Junker <mjscod@gmx.de>.
59523
59524         2006-07-22  Bruno Haible  <bruno@clisp.org>
59525
59526                 * modules/gettext: Upgrade to gettext-0.15.
59527                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
59528                 m4/visibility.m4.
59529                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
59530
59531 2006-07-22  Bruno Haible  <bruno@clisp.org>
59532
59533         Merge from GNU gettext 0.15.
59534
59535         2006-03-25  Bruno Haible  <bruno@clisp.org>
59536
59537                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
59538
59539         2006-07-21  Bruno Haible  <bruno@clisp.org>
59540
59541                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
59542                 "1.1".
59543
59544         2006-05-09  Bruno Haible  <bruno@clisp.org>
59545
59546                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
59547                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
59548                 for the conftestver execution.
59549
59550         2006-05-01  Bruno Haible  <bruno@clisp.org>
59551
59552                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
59553                 optional target-version argument. Verify that the compiler
59554                 groks source of the specified source-version, or add -source
59555                 option as necessary. Verify that the compiler produces
59556                 bytecode in the specified target-version, or add -target and
59557                 -source options as necessary. Make the result of the test
59558                 available as variable CONF_JAVAC. Also log error output in
59559                 config.log.
59560
59561         2006-03-11  Bruno Haible  <bruno@clisp.org>
59562
59563                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
59564
59565         2006-05-09  Bruno Haible  <bruno@clisp.org>
59566
59567                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
59568                 CLASSPATH_SEPARATOR to a semicolon.
59569
59570         2006-03-12  Bruno Haible  <bruno@clisp.org>
59571
59572                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
59573                 available as variable CONF_JAVA, for subsequent autoconf
59574                 tests. Also log error output in config.log.
59575
59576         2006-07-19  Bruno Haible  <bruno@clisp.org>
59577
59578                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
59579                 that getline works on glibc2 systems. Needed to avoid trouble
59580                 in relocatable.c.
59581                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
59582
59583         2005-12-04  Bruno Haible  <bruno@clisp.org>
59584
59585                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
59586                 launcher (untested).
59587
59588         2005-12-04  Bruno Haible  <bruno@clisp.org>
59589
59590                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
59591
59592         2006-07-22  Bruno Haible  <bruno@clisp.org>
59593
59594                 * gettext.m4: Update from GNU gettext-0.15.
59595                 * nls.m4: Likewise.
59596                 * po.m4: Likewise.
59597                 * inttypes-pri.m4: Likewise.
59598                 * inttypes-h.m4: Renamed from inttypes.m4.
59599                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
59600
59601 2006-07-22  Bruno Haible  <bruno@clisp.org>
59602
59603         Merge from GNU gettext 0.15.
59604
59605         2005-07-05  Bruno Haible  <bruno@clisp.org>
59606
59607                 * printf-args.c (printf_fetchargs): Work around broken
59608                 definition of wint_t on mingw.
59609
59610         2005-02-12  Bruno Haible  <bruno@clisp.org>
59611
59612                 * xallocsa.h: Add extern "C" for C++.
59613
59614         2006-05-17  Bruno Haible  <bruno@clisp.org>
59615
59616                 Cygwin portability.
59617                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
59618
59619         2006-04-30  Bruno Haible  <bruno@clisp.org>
59620
59621                 * progreloc.c: Include <mach-o/dyld.h> if available.
59622                 (find_executable): Use _NSGetExecutablePath when possible.
59623
59624         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
59625
59626                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
59627                 function.
59628
59629         2005-12-29  Bruno Haible  <bruno@clisp.org>
59630
59631                 * progreloc.c (set_program_name_and_installdir): Fix
59632                 compilation error.
59633
59634         2005-12-04  Bruno Haible  <bruno@clisp.org>
59635
59636                 Cygwin portability.
59637                 * progreloc.c: Include <windows.h> also on Cygwin.
59638                 (find_executable): Add support for Cygwin.
59639                 (set_program_name_and_installdir): Handle also platforms with
59640                 nonempty EXEEXT.
59641
59642         2006-07-11  Bruno Haible  <bruno@clisp.org>
59643
59644                 * javacomp.c: Fix a comment.
59645                 Reported by Jim Meyering.
59646
59647         2006-04-30  Bruno Haible  <bruno@clisp.org>
59648
59649                 * javacomp.h (compile_java_class): Add source_version,
59650                 target_version arguments.
59651                 * javacomp.c: Rewritten to choose only a compiler that
59652                 respects the specified source_version and target_version.
59653
59654         2006-06-27  Bruno Haible  <bruno@clisp.org>
59655
59656                 Assume correct S_ISDIR macro.
59657                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
59658
59659         2006-07-22  Bruno Haible  <bruno@clisp.org>
59660
59661                 * javaversion.h: New file, from GNU gettext.
59662                 * javaversion.c: New file, from GNU gettext.
59663                 * javaversion.java: New file, from GNU gettext.
59664                 * javaversion.class: New file, from GNU gettext.
59665
59666         2006-05-17  Bruno Haible  <bruno@clisp.org>
59667
59668                 Cygwin portability.
59669                 * javaexec.c (execute_java_class): Test for jview program
59670                 also on Cygwin.
59671
59672         2006-04-09  Bruno Haible  <bruno@clisp.org>
59673
59674                 * fatal-signal.c: Don't include string.h.
59675                 (at_fatal_signal): Use a copying loop instead of memcpy.
59676
59677         2005-12-04  Bruno Haible  <bruno@clisp.org>
59678
59679                 * csharpexec.c: Add support for 'clix' launcher (untested).
59680                 (execute_csharp_using_sscli): New function.
59681                 (execute_csharp_program): Call it.
59682
59683         2006-06-21  Bruno Haible  <bruno@clisp.org>
59684
59685                 Avoid warnings from recent versions of mcs.
59686                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
59687                 -o, -L, -r any more. Use options documented since mcs-1.0
59688                 instead. Similarly for -g.
59689
59690         2005-07-09  Bruno Haible  <bruno@clisp.org>
59691
59692                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
59693                 add a .dll suffix.
59694                 Reported by Mark Junker <mjscod@gmx.de>.
59695
59696         2006-06-17  Bruno Haible  <bruno@clisp.org>
59697
59698                 * config.charset: Update for NetBSD 3.0.
59699
59700         2006-05-17  Bruno Haible  <bruno@clisp.org>
59701
59702                 Cygwin portability.
59703                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
59704
59705         2006-05-16  Bruno Haible  <bruno@clisp.org>
59706
59707                 * localcharset.c [CYGWIN]: Include <windows.h>.
59708                 (get_charset_aliases): For Cygwin, return the same CPxxx
59709                 aliases list as under WIN32.
59710                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
59711                 the environment variables. Fall back to GetACP().
59712
59713         2006-04-05  Bruno Haible  <bruno@clisp.org>
59714
59715                 * config.charset: Update Juan Manuel Guerrero's address.
59716
59717         2005-02-12  Bruno Haible  <bruno@clisp.org>
59718
59719                 * allocsa.h: Add extern "C" for C++.
59720
59721         2005-02-10  Bruno Haible  <bruno@clisp.org>
59722
59723                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
59724                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
59725
59726         2006-07-22  Bruno Haible  <bruno@clisp.org>
59727
59728                 * gettext.h: Update to GNU gettext-0.15.
59729
59730 2006-07-22  Bruno Haible  <bruno@clisp.org>
59731
59732         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
59733         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
59734         lib-prefix.m4, longdouble.m4, ssize_t.m4.
59735
59736 2006-07-21  Eric Blake  <ebb9@byu.net>
59737
59738         * modules/stdlib-safer: New file.
59739         * MODULES.html.sh (File stream based Input/Output): Add
59740         stdlib-safer.
59741
59742 2006-07-21  Eric Blake  <ebb9@byu.net>
59743
59744         * lib/stdlib-safer.h: New file from coreutils, required by
59745         stdlib--.h.
59746
59747 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
59748
59749         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
59750
59751 2006-07-20  Bruno Haible  <bruno@clisp.org>
59752
59753         * gnulib-tool: Recognize new option --assume-autoconf.
59754         (autoconf_minversion): New variable.
59755         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
59756
59757 2006-07-20  Bruno Haible  <bruno@clisp.org>
59758
59759         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
59760
59761 2006-07-19  Derek R. Price  <derek@ximbiot.com>
59762
59763         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
59764         Reindent and repaginate.
59765
59766 2006-07-19  Derek Price  <derek@ximbiot.com>
59767
59768         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
59769         Correct grammar.
59770
59771 2006-07-17  Bruno Haible  <bruno@clisp.org>
59772
59773         * modules/list: New file.
59774         * modules/array-list: New file.
59775         * modules/carray-list, modules/carray-list-tests: New files.
59776         * modules/linked-list, modules/linked-list-tests: New files.
59777         * modules/avltree-list, modules/avltree-list-tests: New files.
59778         * modules/rbtree-list, modules/rbtree-list-tests: New files.
59779         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
59780         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
59781         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
59782         * modules/oset: New file.
59783         * modules/array-oset: New file.
59784         * modules/avltree-oset, modules/avltree-oset-tests: New files.
59785         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
59786         * tests/test-carray_list.c: New file.
59787         * tests/test-linked_list.c: New file.
59788         * tests/test-avltree_list.c: New file.
59789         * tests/test-rbtree_list.c: New file.
59790         * tests/test-linkedhash_list.c: New file.
59791         * tests/test-avltreehash_list.c: New file.
59792         * tests/test-rbtreehash_list.c: New file.
59793         * tests/test-avltree_oset.c: New file.
59794         * tests/test-rbtree_oset.c: New file.
59795         * MODULES.html.sh (Container data structures): New section.
59796
59797 2006-07-17  Bruno Haible  <bruno@clisp.org>
59798
59799         * m4/gl_list.m4: New file.
59800
59801 2006-07-17  Bruno Haible  <bruno@clisp.org>
59802
59803         * lib/gl_list.h: New file.
59804         * lib/gl_list.c: New file.
59805         * lib/gl_array_list.h: New file.
59806         * lib/gl_array_list.c: New file.
59807         * lib/gl_carray_list.h: New file.
59808         * lib/gl_carray_list.c: New file.
59809         * lib/gl_linked_list.h: New file.
59810         * lib/gl_linked_list.c: New file.
59811         * lib/gl_anylinked_list1.h: New file.
59812         * lib/gl_anylinked_list2.h: New file.
59813         * lib/gl_avltree_list.h: New file.
59814         * lib/gl_avltree_list.c: New file.
59815         * lib/gl_anyavltree_list1.h: New file.
59816         * lib/gl_anyavltree_list2.h: New file.
59817         * lib/gl_rbtree_list.h: New file.
59818         * lib/gl_rbtree_list.c: New file.
59819         * lib/gl_anyrbtree_list1.h: New file.
59820         * lib/gl_anyrbtree_list2.h: New file.
59821         * lib/gl_anytree_list1.h: New file.
59822         * lib/gl_anytree_list2.h: New file.
59823         * lib/gl_linkedhash_list.h: New file.
59824         * lib/gl_linkedhash_list.c: New file.
59825         * lib/gl_anyhash_list1.h: New file.
59826         * lib/gl_anyhash_list2.h: New file.
59827         * lib/gl_avltreehash_list.h: New file.
59828         * lib/gl_avltreehash_list.c: New file.
59829         * lib/gl_rbtreehash_list.h: New file.
59830         * lib/gl_rbtreehash_list.c: New file.
59831         * lib/gl_anytreehash_list1.h: New file.
59832         * lib/gl_anytreehash_list2.h: New file.
59833
59834         * lib/gl_oset.h: New file.
59835         * lib/gl_oset.c: New file.
59836         * lib/gl_array_oset.h: New file.
59837         * lib/gl_array_oset.c: New file.
59838         * lib/gl_avltree_oset.h: New file.
59839         * lib/gl_avltree_oset.c: New file.
59840         * lib/gl_rbtree_oset.h: New file.
59841         * lib/gl_rbtree_oset.c: New file.
59842         * lib/gl_anytree_oset.h: New file.
59843
59844 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
59845
59846         * m4/mkancesdirs.m4: New file.
59847         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
59848         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
59849         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
59850         it.
59851
59852 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
59853
59854         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
59855         * lib/mkancesdirs.h: New files.
59856         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
59857         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
59858         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
59859         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
59860         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
59861         callers changed.  Revamp internals significantly, by not
59862         attempting to create directories that are temporarily more
59863         permissive than the final results.  Do not attempt to use
59864         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
59865         This removes some race conditions, fixes some bugs, and simplifies
59866         things.  Use new dirchownmod function to do owner and mode changes.
59867         * lib/mkdir-p.h: Likewise.
59868         * lib/modechange.c (octal_to_mode): New function.
59869         (struct mode_change): New member mentioned.
59870         (make_node_op_equals): New arg mentioned.  All callers changed.
59871         (mode_compile): Keep track of which mode bits the user has explicitly
59872         mentioned.
59873         (mode_adjust): New arg DIR, so that we implement the X op correctly.
59874         New arg PMODE_BITS, to keep track of which mode bits the user
59875         mentioned; it treats S_ISUID and S_ISGID speciall.
59876         All callers changed.
59877         * lib/modechange.h: Likewise.
59878
59879 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
59880
59881         * MODULES.html.sh: Add mkancestors.
59882         * modules/mkancesdirs: New module.
59883         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
59884         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
59885         The chdir-safer and afs files are now orphans; I'll remove them
59886         unless someone speaks up.
59887         Add lib/dirchownmod.c, lib/dirchownmod.h.
59888         (Depends-on): Remove alloca, chown, save-cwd, dirname.
59889         Add lchown, mkancesdirs.
59890         (Maintainer): Add self.
59891
59892 2006-07-15  Karl Berry  <karl@gnu.org>
59893
59894         * gnulib-tool: help message wording/arrangement.
59895
59896 2006-07-14  Simon Josefsson  <jas@extundo.com>
59897
59898         * doc/gnulib.texi (Libtool and Windows): New section.
59899
59900 2006-07-12  Simon Josefsson  <jas@extundo.com>
59901
59902         * modules/gendocs (License): Fix license, approved by Karl.
59903
59904 2006-07-12  Eric Blake  <ebb9@byu.net>
59905
59906         * MODULES.html.sh: Add gendocs.
59907
59908 2006-07-11  Eric Blake  <ebb9@byu.net>
59909
59910         * modules/fdl: New module, to install doc/fdl.texi.
59911         * MODULES.html.sh: Add new section for documentation modules.
59912         * gnulib-tool: Avoid space-tab.
59913         (--doc-base): New option, to manage files from doc.
59914
59915 2006-07-11  Eric Blake  <ebb9@byu.net>
59916
59917         * m4/absolute-header.m4: Fix comments to match recent change.
59918
59919 2006-07-11  Eric Blake  <ebb9@byu.net>
59920
59921         * gnulib-tool: List --doc-base before --tests-base.
59922
59923 2006-07-11  Derek R. Price  <derek@ximbiot.com>
59924
59925         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
59926
59927 2006-07-11  Bruno Haible  <bruno@clisp.org>
59928
59929         * README: Mention where to put documentation.
59930
59931 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59932
59933         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
59934
59935 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
59936
59937         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
59938         to stdint.m4.
59939
59940 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
59941
59942         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
59943         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
59944         "no/such/file/stdint.h" when there is no such file, so that
59945         the resulting C code can be parsed by dodgy compilers.
59946         Problems reported by Bob Proulx.
59947
59948 2006-07-10  Derek R. Price  <derek@ximbiot.com>
59949
59950         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
59951         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
59952         macros into the GNU _D_EXACT_NAMLEN.
59953         * lib/savedir.c:  Likewise.
59954         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
59955
59956 2006-07-10  Derek R. Price  <derek@ximbiot.com>
59957         and Paul Eggert  <eggert@cs.ucla.edu>
59958
59959         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
59960         * m4/savedir.m4:
59961         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
59962         macros into the GNU _D_EXACT_NAMLEN.
59963
59964 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
59965
59966         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
59967         around the absolute name, to work around a problem with the HP-UX
59968         11.23 native C compiler, reported by Bob Proulx.
59969
59970 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
59971
59972         * doc/maintain.texi, make-stds.texi: Sync from
59973         <http://savannah.gnu.org/projects/gnustandards>.
59974
59975 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
59976
59977         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
59978
59979 2006-07-09  Jim Meyering  <jim@meyering.net>
59980
59981         * m4/glob.m4: Remove a doubled word in a comment.
59982
59983 2006-07-09  Jim Meyering  <jim@meyering.net>
59984
59985         * lib/argp-pv.c: Remove a doubled word in a comment.
59986         * lib/check-version.c (check_version): Likewise.
59987         * lib/javacomp.c (compile_java_class): Likewise.
59988
59989 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
59990
59991         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
59992         for the benefit of people using Autoconf 2.60.  If you want to
59993         support older Autoconf versions you can copy m4/onceonly_2_57.m4
59994         (or m4/onceonly.m4, if pre-2.57) manually.
59995
59996 2006-07-08  Jim Meyering  <jim@meyering.net>
59997
59998         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
59999         comment.
60000         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
60001         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
60002         comment.
60003
60004 2006-07-08  Jim Meyering  <jim@meyering.net>
60005
60006         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
60007
60008 2006-07-07  Simon Josefsson  <jas@extundo.com>
60009
60010         * tests/test-crc.c: Change expected crc value, the test vector
60011         were probably computed using the old broken crc.c?
60012
60013 2006-07-06  Simon Josefsson  <jas@extundo.com>
60014
60015         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
60016         now the canonical place for the M4 file).
60017
60018         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
60019         from the sys_socket dependency now.
60020
60021         * modules/inet_pton (Files): Ditto.
60022
60023         * modules/inet_ntop (Files): Ditto.
60024
60025 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
60026
60027         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
60028         not gl_PREREQ_GETUSERSHELL.
60029
60030 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60031
60032         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
60033         with only one argument, for Autoconf 2.60.
60034         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
60035         expand to nothing, so add a shell command to avoid syntax error.
60036         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
60037
60038 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60039
60040         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
60041
60042 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
60043
60044         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
60045         no longer needed.  Check for isblank decl.
60046         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
60047         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
60048         of existence.
60049
60050 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
60051
60052         * lib/getloadavg.c: Use __VMS, not VMS.
60053         * lib/getopt.c: Likewise.
60054         * lib/getpagesize.h: Likewise.
60055         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
60056         and probably does not work.
60057
60058 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
60059
60060         * lib/.cppi-disable: Add wcwidth.
60061         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
60062         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
60063         (ISGRAPH): Remove.  All uses changed to isgraph.
60064         (FOLD) [!defined _LIBC]: Remove special case.
60065         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
60066         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
60067         HAVE_ISBLANK.
60068         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
60069         case.
60070
60071 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
60072
60073         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
60074         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
60075         brackets.  Other minor changes to suppress some compiler
60076         warnings.
60077
60078 2006-07-06  Derek R. Price  <derek@ximbiot.com>
60079         and Paul Eggert  <eggert@cs.ucla.edu>
60080
60081         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
60082         of invoking obsolescent AC_HEADER_DIRENT macro.
60083         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
60084         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
60085         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
60086         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
60087         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
60088         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
60089         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
60090         * m4/readdir.m4: Remove; no longer needed.
60091
60092 2006-07-06  Derek R. Price  <derek@ximbiot.com>
60093         and Paul Eggert  <eggert@cs.ucla.edu>
60094
60095         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
60096         Don't worry about this obsolete case any more.
60097         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
60098         directories.
60099         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
60100         worry about this obsolete case any more.
60101         * lib/fts.c: Likewise.
60102         * lib/getcwd.c: Likewise.
60103         * lib/glob.h: Likewise.
60104         * lib/savedir.c: Likewise.
60105
60106 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
60107
60108         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
60109         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
60110         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
60111         needed.
60112         All uses removed.
60113         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
60114         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
60115         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
60116         needed.
60117         * m4/getdate.m4 (gl_GETDATE): Likewise.
60118         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
60119         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
60120         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
60121         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
60122         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
60123         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
60124         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
60125         needed.
60126
60127 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
60128
60129         * lib/memcasecmp.c: Include <limits.h>.
60130         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
60131         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
60132         Don't assume isdigit succeeds only on '0' through '9'.
60133
60134 2006-07-05  Eric Blake  <ebb9@byu.net>
60135
60136         * modules/getaddrinfo (Depends-on): Add snprintf.
60137
60138 2006-07-05  Eric Blake  <ebb9@byu.net>
60139
60140         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
60141         to avoid 'header present but could not be compiled' on cygwin.
60142
60143 2006-07-05  Eric Blake  <ebb9@byu.net>
60144
60145         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
60146         missing from netdb.h.
60147         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
60148
60149 2006-07-05  Derek R. Price  <derek@ximbiot.com>
60150
60151         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
60152         no longer needed.
60153         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
60154         * m4/getdate.m4 (gl_GETDATE): Likewise.
60155         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
60156         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
60157         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
60158         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
60159         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
60160
60161 2006-07-05  Derek R. Price  <derek@ximbiot.com>
60162
60163         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
60164         All uses of is_space replaced by isspace.
60165         * lib/exit.h: Don't talk about STDC_HEADERS.
60166         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
60167         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
60168         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
60169         replaced by isprint etc.
60170         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
60171         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
60172         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
60173         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
60174         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
60175         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
60176
60177 2006-07-05  Bruno Haible  <bruno@clisp.org>
60178
60179         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
60180         the function exists, before testing against AIX.
60181         Reported by Martin Lambers <marlam@marlam.de>.
60182
60183 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
60184
60185         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
60186         From Mark D. Baushke.
60187
60188 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
60189
60190         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
60191         to the absolute name, not just one, to bypass Sun C 5.8's
60192         "warning: #include of /usr/include/... may be non-portable".
60193
60194 2006-07-04  Eric Blake  <ebb9@byu.net>
60195
60196         * modules/dirname-tests: New test module.
60197         * tests/test-dirname.c: New file, replacing dirname.c
60198         TEST_DIRNAME section that was recently deleted.
60199
60200 2006-07-04  Bruno Haible  <bruno@clisp.org>
60201
60202         Assume ANSI C header files and <ctype.h> functions.
60203         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
60204         (mbsnwidth): Use isprint, iscntrl instead.
60205
60206 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
60207
60208         Merge from coreutils.
60209         * MODULES.html.sh: Add xstrtold.
60210         * modules/xstrtold: New file.
60211         * modules/cycle-check (Files): Add lib/same-inode.h.
60212         * modules/dirname (Files): Add m4/double-slash-root.m4.
60213         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
60214         * modules/mkdir-p (Files): Add lib/same-inode.h.
60215         * modules/same (Files): Add lib/same-inode.h.
60216
60217 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
60218
60219         * m4/absolute-header.m4: Renamed from full-header-path.m4.
60220         This is to keep the terminology clean; POSIX talks about
60221         "absolute pathnames", not "full pathnames", but the GNU
60222         Coding Standards say to use "path" for something else;
60223         so use "absolute" to keep both sides happy.
60224         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
60225         Set gl_absolute_header, not gl_full_header_path.
60226         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
60227         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
60228         All uses changed.
60229
60230         Merge from coreutils.
60231
60232         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
60233
60234         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
60235         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
60236         want to require the building of c-strtod.o.
60237         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
60238         needs -lm directly.
60239         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
60240
60241         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
60242
60243         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
60244         --as-needed option if available.  Problem reported by Albert Chin in
60245         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
60246         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
60247         cc merely issues a bunch of annoying warnings for --as-needed
60248         (this problem was reported by Bob Proulx).  Also, try linking with
60249         -lm to detect a bug in binutils 2.16 (this problem was reported
60250         by Ralf Wildenhues).
60251
60252         2006-06-18  Jim Meyering  <jim@meyering.net>
60253
60254         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
60255         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
60256         macro.
60257         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
60258         also check for glibc-2.4's abort-inducing bug.
60259
60260         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
60261         Low-probability clean-up should be to use rmdir to get rid of
60262         the just-created directory, not unlink.
60263
60264         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
60265         configure fail, and request a bug report to inform us about it.
60266         Add a comment that, barring reports to the contrary, in 2007 we'll
60267         assume ftruncate is universally available.
60268
60269         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
60270
60271         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
60272
60273         2006-03-12  Jim Meyering  <jim@meyering.net>
60274
60275         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
60276         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
60277         * m4/same.m4 (gl_SAME): Likewise.
60278         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
60279
60280         2006-03-11  Eric Blake  <ebb9@byu.net>
60281
60282         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
60283         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
60284         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
60285         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
60286
60287 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
60288
60289         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
60290         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
60291         reported by Mark D. Baushke, one in
60292         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
60293
60294         Merge from coreutils.
60295
60296         * lib/.cppi-disable: Add stdint_.h.
60297         * lib/.cvsignore: Add stdint.h.
60298
60299         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
60300
60301         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
60302         both double and long double versions.
60303         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
60304         * lib/xstrtold.c: New file.
60305         * lib/xstrtod.h (xstrtold): New decl.
60306
60307         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
60308
60309         * lib/filemode.c (setst): Remove.
60310         (strmode): Rewrite to avoid setst.  This makes the code shorter,
60311         (arguably) clearer, and the generated code is a bit smaller on my
60312         Debian GNU/Linux stable x86 host.
60313
60314         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
60315
60316         * lib/filemode.c: Include "filemode.h" first, to test the interface.
60317         Assume that filemode.h includes sys/types.h and sys/stat.h.
60318         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
60319         (ftypelet): Reorder to put common cases first, for efficiency.
60320         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
60321         to do 'M'.
60322         (strmode): Renamed from mode_string, and now stores 12 bytes instead
60323         of 10, for compatibility with FreeBSD.  All callers changed.
60324         (filemodestring): Now stores 12 bytes instead of 10, and sets file
60325         types that can't be deduced solely from st_mode.  First arg is now a
60326         const pointer.
60327         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
60328         (strmode): Renamed from mode_string.
60329         (filemodestring): New decl.
60330         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
60331         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
60332         needed.
60333         (S_ISPORT, S_ISWHT): New macros, if not already defined.
60334
60335         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
60336
60337         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
60338         fsusage.h now does that.  Include fsusage.h first, to test interface.
60339         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
60340         at most one method (the old code could have generated decls that
60341         didn't conform to C89, not that this was ever exercised).
60342         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
60343
60344         2006-03-19  Jim Meyering  <jim@meyering.net>
60345
60346         Work even in a chroot where d_ino values for entries in "/"
60347         don't match the stat.st_ino values for the same names.
60348         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
60349         number, iterate through all entries again, using lstat instead.
60350         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
60351         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
60352
60353         * lib/getcwd.c (__getcwd): Clarify a comment.
60354         Use memcpy in place of a call to strcpy.
60355
60356         2006-03-12  Jim Meyering  <jim@meyering.net>
60357
60358         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
60359         matches that of the current directory (which we're about to chdir ".."
60360         out of), then save the dev-ino of the parent, instead.
60361
60362         * lib/same-inode.h (SAME_INODE): New file/macro.
60363         * lib/chdir-safer.c (SAME_INODE): Remove definition.
60364         Include "same-inode.h", instead.
60365         * lib/same.c: Likewise.
60366         * lib/cycle-check.h: Include "same-inode.h".
60367         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
60368         * lib/cycle-check.c (SAME_INODE): Remove definition.
60369         * lib/root-dev-ino.h: Include "same-inode.h".
60370
60371         2006-03-11  Eric Blake  <ebb9@byu.net>
60372
60373         * lib/same.c (same_name): s/base_name/last_component/
60374         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
60375         * lib/filenamecat.c (file_name_concat): Likewise.
60376
60377         2006-03-11  Eric Blake  <ebb9@byu.net>,
60378                     Paul Eggert  <eggert@cs.ucla.edu>
60379
60380         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
60381         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
60382         drive prefix.
60383         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
60384         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
60385         (last_component): New method.
60386         * lib/dirname.c (dir_len): Determine when drive letters need a
60387         subsequent slash.  Preserve // when it is special.
60388         (dir_name): Don't append dot when drive letter is absolute.
60389         [TEST_DIRNAME]: Move into a full-blown gnulib test.
60390         * lib/basename.c (base_name): New semantics - malloc the result.
60391         Preserve // when it is special.  Preserve relative files that look
60392         like drive letters.
60393         (base_len): Preserve // when it is special.
60394         (last_component): New method, similar to old base_name semantics.
60395         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
60396         base_name.  Strip redundant slashes from ///.
60397
60398 2006-07-03  Jim Meyering  <jim@meyering.net>
60399
60400         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
60401         macro is used before the first cycle_check call.
60402
60403 2006-07-03  Eric Blake  <ebb9@byu.net>
60404
60405         * modules/dirname (Depends-on): Add xstrndup.
60406
60407 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
60408
60409         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
60410         test cases, so that config.log is a bit easier to follow.
60411
60412 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
60413
60414         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
60415         both are 64 bits, since this seems to be the tradition, and this
60416         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
60417         we ever run into a host that prefers long long to long in this
60418         case, we'll need another configure-time test.  Problem reported by
60419         Jim Meyering.
60420
60421 2006-07-02  Eric Blake  <ebb9@byu.net>
60422
60423         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
60424
60425 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
60426
60427         * modules/inttypes (Depends-on): No longer depends on stdint.
60428         * modules/stdint (Description): Say more about assumptions.
60429         Say that the fast types might differ.  Say macros are used.
60430         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
60431         (Makefile.am): Revise list of substituted symbols to match
60432         new stdint.m4.
60433         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
60434         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
60435         * tests/test-stdint.c (verify_same_types)
60436         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
60437         the code conforms to C99/C89.
60438         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
60439         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
60440
60441 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
60442
60443         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
60444         but fix a bug, by requiring at least 64 bits.
60445         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
60446         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
60447         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
60448         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
60449
60450         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
60451         changes.  Make 2.59 a prerequisite.  Check and substitute for
60452         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
60453         inttypes.h.  Do not use special include files; just use the
60454         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
60455         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
60456         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
60457         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
60458         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
60459         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
60460         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
60461         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
60462         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
60463         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
60464         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
60465         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
60466         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
60467         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
60468         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
60469         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
60470         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
60471         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
60472         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
60473         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
60474         WINT_MAX.  Check for C99 conformance more strictly, by detecting
60475         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
60476         not check for things that C99 does not require, e.g., int8_t.  If
60477         a test isn't needed unless <stdint.h> isn't working, and is
60478         unlikely to be needed for any other reason, then don't do it
60479         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
60480         size_t, since we assume C89 freestanding at least.  Do not check
60481         for sig_atomic_t, wchar_t, or wint_t, since the code now does
60482         the right thing even if the types are not defined.  Instead use:
60483         (gl_STDINT_TYPE_PROPERTIES): New macro.
60484         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
60485         testing whether <sys/types.h> clashes, as Autoconf does this for
60486         us now.  All uses removed.
60487         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
60488         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
60489         (gl_CHECK_TYPE_SAME):
60490         Remove; no longer needed.
60491         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
60492         exists, since we'll return 0 anyway in that case.
60493         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
60494
60495 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
60496
60497         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
60498         possible collision with system files.
60499         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
60500         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
60501         WCHAR_MIN and WCHAR_MAX in this case.
60502         (<stddef.h>): Do not include; no longer needed.
60503         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
60504         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
60505         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
60506         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
60507         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
60508         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
60509         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
60510         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
60511         !defined(__c99))]: Include in this case too, since it's harmless
60512         now.
60513         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
60514         dangerous to do so.
60515         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
60516         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
60517         (_STDINT_MIN, _STDINT_MAX): New macros.
60518         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
60519         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
60520         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
60521         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
60522         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
60523         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
60524         macros, not typedefs; this simplifies things quite a bit.
60525         Use long int for all types narrower than int64_t.
60526         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
60527         Define in terms of long long int or int64_t or long int,
60528         not int64_t or int32_t.  This saves some compile-time testing.
60529         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
60530         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
60531         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
60532         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
60533         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
60534         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
60535         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
60536         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
60537         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
60538         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
60539         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
60540         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
60541         undef any previous version and define our own version, for
60542         simplicity and consistency with the new macros for types.
60543         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
60544         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
60545         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
60546         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
60547         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
60548         @WINT_T_SUFFIX@ to keep things simple here.
60549         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
60550         Simplify by assuming typical 8/16/32/64 host, since we're
60551         already doing that elsewhere anyway.
60552         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
60553         and assume long long int is 64 bits if available.  This
60554         speeds up 'configure'.
60555
60556 2006-07-01  Eric Blake  <ebb9@byu.net>
60557
60558         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
60559         Reported by Andreas Buening.
60560
60561 2006-07-01  Eric Blake  <ebb9@byu.net>
60562
60563         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
60564
60565 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
60566
60567         * lib/getaddrinfo.c: fixed typo
60568
60569 2006-06-29  Jim Meyering  <jim@meyering.net>
60570
60571         * modules/strftime (Maintainer): Add my name, since with the
60572         FPRINTFTIME changes strftime.c has forked from glibc.
60573
60574 2006-06-29  Eric Blake  <ebb9@byu.net>
60575
60576         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
60577
60578 2006-06-29  Eric Blake  <ebb9@byu.net>
60579
60580         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
60581
60582 2006-06-29  Eric Blake  <ebb9@byu.net>
60583
60584         * lib/stat_.h: New file.
60585
60586 2006-06-29  Eric Blake  <ebb9@byu.net>
60587
60588         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
60589         unused static function.
60590
60591 2006-06-29  Eric Blake  <ebb9@byu.net>
60592
60593         * doc/functions.texi (Function Portability): Document missing lstat
60594         on mingw.
60595
60596 2006-06-29  Eric Blake  <ebb9@byu.net>
60597
60598         * MODULES.html.sh: Add sys_stat.
60599         * modules/sys_stat: New module.
60600         * modules/mkstemp (Depends-on): Add sys_stat.
60601
60602 2006-06-29  Derek R. Price  <derek@ximbiot.com>
60603
60604         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
60605
60606 2006-06-29  Derek R. Price  <derek@ximbiot.com>
60607
60608         * m4/c-bs-a.m4: Removed.
60609
60610 2006-06-29  Derek R. Price  <derek@ximbiot.com>
60611
60612         * lib/strftime.c: Assume strftime() exists.
60613
60614 2006-06-29  Derek Price  <derek@ximbiot.com>
60615
60616         * modules/c-bs-a: Removed - \a is C89.
60617         * MODULES.html.sh: Remove c-bs-a.
60618
60619 2006-06-29  Bruno Haible  <bruno@clisp.org>
60620
60621         * modules/wcwidth (License): Change to LGPL.
60622
60623 2006-06-28  Simon Josefsson  <jas@extundo.com>
60624
60625         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
60626         on _WIN32.
60627
60628         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
60629         getnameinfo.
60630
60631 2006-06-28  Simon Josefsson  <jas@extundo.com>
60632
60633         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
60634
60635 2006-06-28  Simon Josefsson  <jas@extundo.com>
60636
60637         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
60638         functions there.  It will succeed on Windows XP, but on Windows
60639         2000 and (presumably) earlier, it will fail, and use the internal
60640         re-implementation.
60641         (use_win32_p): New function.
60642         (getaddrinfo): Use strtoul on servname, to support numeric ports.
60643         Support AI_NUMERICSERV to disable getservbyname.
60644         (getnameinfo): New function, only supports
60645         NI_NUMERICHOST|NI_NUMERICSERV for now.
60646
60647         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
60648         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
60649         getnameinfo.
60650
60651 2006-06-28  Eric Blake  <ebb9@byu.net>
60652
60653         * modules/wcwidth: New file.
60654         * modules/mbchar (Depends-on): Add wcwidth.
60655         * modules/mbswidth (Depends-on): Add wcwidth.
60656         * MODULES.html.sh: Add wcwidth.
60657
60658 2006-06-28  Eric Blake  <ebb9@byu.net>
60659
60660         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
60661         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
60662
60663 2006-06-28  Eric Blake  <ebb9@byu.net>
60664
60665         * lib/xvasprintf.h: Fix comments.
60666
60667 2006-06-28  Eric Blake  <ebb9@byu.net>
60668
60669         * lib/mbchar.h (wcwidth): Include wcwidth.h.
60670         * lib/mbswidth.c (wcwidth): Move from here...
60671         * lib/wcwidth.h: ...to this new file.
60672
60673 2006-06-28  Derek R. Price  <derek@ximbiot.com>
60674
60675         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
60676
60677         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
60678         it's obsolete.
60679         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
60680
60681 2006-06-28  Derek R. Price  <derek@ximbiot.com>
60682
60683         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
60684         Autoconf 2.60 says this stuff was obsolete.
60685
60686 2006-06-28  Bruno Haible  <bruno@clisp.org>
60687
60688         * modules/wcwidth (Files): Add m4/wchar_t.m4.
60689
60690 2006-06-28  Bruno Haible  <bruno@clisp.org>
60691
60692         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
60693         gt_TYPE_WCHAR_T.
60694
60695 2006-06-28  Bruno Haible  <bruno@clisp.org>
60696
60697         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
60698         declaration for wcwidth.
60699         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
60700
60701 2006-06-28  Bruno Haible  <bruno@clisp.org>
60702
60703         * lib/mkdtemp.c [MINGW]: Include <io.h>.
60704         (mkdir): Define using _mkdir.
60705
60706 2006-06-28  Bruno Haible  <bruno@clisp.org>
60707
60708         * lib/getaddrinfo.h: Fix POSIX URL.
60709         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
60710         _WIN32.
60711         (use_win32_p): Make static.
60712         (getaddrinfo): Reject service name if it is empty or does not consist
60713         solely of decimal digits, or if its value is > 65535.
60714         (getnameinfo): Remove useless casts.
60715
60716 2006-06-27  Simon Josefsson  <jas@extundo.com>
60717
60718         * modules/sys_select: New file, suggested by Bruno Haible, Paul
60719         Eggert and Martin Lambers.
60720
60721 2006-06-27  Simon Josefsson  <jas@extundo.com>
60722
60723         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
60724         Eggert and Martin Lambers.
60725
60726 2006-06-27  Bruno Haible  <bruno@clisp.org>
60727
60728         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
60729         result to 0, not to empty.
60730         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
60731
60732 2006-06-27  Bruno Haible  <bruno@clisp.org>
60733
60734         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
60735
60736 2006-06-26  Simon Josefsson  <jas@extundo.com>
60737
60738         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
60739         present.
60740
60741 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
60742
60743         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
60744         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
60745         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
60746
60747 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
60748
60749         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
60750
60751 2006-06-26  Bruno Haible  <bruno@clisp.org>
60752
60753         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
60754
60755 2006-06-26  Bruno Haible  <bruno@clisp.org>
60756
60757         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
60758
60759 2006-06-26  Bruno Haible  <bruno@clisp.org>
60760
60761         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
60762         SGI C compiler in pre-C99 mode.
60763         Suggested by Mark D. Baushke and Larry Jones.
60764
60765 2006-06-26  Bruno Haible  <bruno@clisp.org>
60766
60767         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
60768         WCHAR_MAX.
60769         Reported by Mark D. Baushke and Larry Jones.
60770
60771 2006-06-26  Bruno Haible  <bruno@clisp.org>
60772
60773         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
60774         in pre-C99 mode.
60775         Suggested by Mark D. Baushke and Larry Jones.
60776
60777 2006-06-23  Simon Josefsson  <jas@extundo.com>
60778             Bruno Haible  <bruno@clisp.org>
60779
60780         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
60781         Emit mostlyclean-local rule.
60782         (func_emit_tests_Makefile_am): Likewise.
60783         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
60784
60785 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
60786
60787         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
60788
60789 2006-06-23  Bruno Haible  <bruno@clisp.org>
60790
60791         * tests/test-stdint.c: Update to match ISO C 99 Technical
60792         Corrigendum 1.
60793
60794 2006-06-23  Bruno Haible  <bruno@clisp.org>
60795
60796         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
60797
60798 2006-06-23  Bruno Haible  <bruno@clisp.org>
60799
60800         * lib/stdint_.h: Treat IRIX like OpenBSD.
60801
60802 2006-06-23  Bruno Haible  <bruno@clisp.org>
60803
60804         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
60805         ISO C 99 Technical Corrigendum 1.
60806
60807 2006-06-22  Simon Josefsson  <jas@extundo.com>
60808
60809         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
60810         MinGW.
60811
60812 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
60813
60814         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
60815         needed.  Some compiler complained about some of them.  Problem reported
60816         by Larry Jones in
60817         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
60818
60819 2006-06-21  Simon Josefsson  <jas@extundo.com>
60820
60821         * tests/test-getaddrinfo.c: New file.
60822
60823         * modules/getaddrinfo-tests: New file.
60824
60825         * MODULES.html.sh: Add inet_pton.
60826
60827         * modules/inet_pton: New file.
60828
60829 2006-06-21  Simon Josefsson  <jas@extundo.com>
60830
60831         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
60832         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
60833         of using the (limited) gnulib implementation on Windows XP.
60834
60835         * m4/inet_pton.m4: New file.
60836
60837 2006-06-21  Simon Josefsson  <jas@extundo.com>
60838
60839         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
60840         variable.
60841
60842         * lib/socket_.h: Don't define WINVER.
60843
60844         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
60845         slightly modified to work in gnulib.
60846
60847 2006-06-21  Simon Josefsson  <jas@extundo.com>
60848
60849         * doc/gnulib.texi (Windows sockets): Add.
60850
60851 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
60852
60853         * lib/read-file.c (fread_file): Start with buffer allocation of
60854         0 bytes rather than 1 byte; this simplifies the code.
60855         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
60856         code to free buffer and save/restore errno.
60857         (internal_read_file): Remove unused local.
60858
60859 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
60860
60861         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
60862         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
60863         Problem reported by Denis Excoffier in
60864         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
60865
60866 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
60867
60868         * modules/sys_socket, modules/socklen: Include sys/types since
60869         FreeBSD 4.x's sys/socket.h needs it.
60870
60871 2006-06-19  Simon Josefsson  <jas@extundo.com>
60872
60873         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
60874
60875 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
60876
60877         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
60878
60879 2006-06-19  Bruno Haible  <bruno@clisp.org>
60880
60881         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
60882         and FULL_PATH_INTTYPES_H in angle brackets.
60883         Reported by Mark D. Baushke <mdb@gnu.org>.
60884
60885 2006-06-17  Eric Blake  <ebb9@byu.net>
60886
60887         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
60888         errno.
60889
60890 2006-06-17  Bruno Haible  <bruno@clisp.org>
60891
60892         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
60893         <sys/inttypes.h>.
60894
60895 2006-06-17  Bruno Haible  <bruno@clisp.org>
60896
60897         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
60898         whether errno is declared. Assume <errno.h> declares errno.
60899
60900 2006-06-17  Bruno Haible  <bruno@clisp.org>
60901
60902         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
60903
60904 2006-06-17  Bruno Haible  <bruno@clisp.org>
60905
60906         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
60907         problem on Solaris 2.5.1.
60908
60909 2006-06-16  Eric Blake  <ebb9@byu.net>
60910
60911         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
60912         * lib/unicodeio.c [!defined errno]: Likewise.
60913         * lib/strtol.c [!defined errno]: Likewise.
60914         * lib/strtod.c [!defined errno]: Likewise.
60915
60916 2006-06-15  Eric Blake  <ebb9@byu.net>
60917
60918         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
60919
60920 2006-06-15  Eric Blake  <ebb9@byu.net>
60921
60922         * config/srclist.txt (ssize_t.m4): Lose sync.
60923
60924 2006-06-15  Bruno Haible  <bruno@clisp.org>
60925
60926         * modules/stdint (Files): Include m4/full-header-path.m4,
60927         m4/size_max.m4, m4/wchar_t.m4.
60928         (Makefile.am): Many more substitutions.
60929         * modules/stdint-tests: New file.
60930         * tests/test-stdint.c: New file.
60931
60932 2006-06-15  Bruno Haible  <bruno@clisp.org>
60933
60934         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
60935         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
60936         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
60937         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
60938         gl_CHECK_TYPE_SAME): New macros.
60939
60940 2006-06-15  Bruno Haible  <bruno@clisp.org>
60941
60942         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
60943
60944 2006-06-15  Bruno Haible  <bruno@clisp.org>
60945
60946         * lib/stdint_.h: Rewritten to be fully auto-configured.
60947         Fixes bug on HP-UX/IA64.
60948
60949 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
60950
60951         * lib/getdate.y (__attribute__): Don't define if already defined.
60952         Problem reported by Larry Jones.
60953         * lib/utimens.c (__attribute__): Likewise.
60954
60955 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
60956
60957         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
60958         reported by Andreas Schwab.
60959
60960 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60961             Bruno Haible  <bruno@clisp.org>
60962
60963         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
60964         check for the declaration of strnlen and a run test that exposes the
60965         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
60966         rpl_strndup.
60967
60968 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60969             Bruno Haible  <bruno@clisp.org>
60970
60971         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
60972
60973 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60974
60975         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
60976         compile test, for Tru64 4.0D.
60977
60978 2006-05-28  Karl Berry  <karl@gnu.org>
60979
60980         * config/srclist.txt (printf-args.c): lose sync.
60981
60982 2006-05-26  Martin Lambers  <marlam@marlam.de>
60983
60984         * lib/getpass.c: Updates the test for the native W32 API, and adds
60985         missing includes, thus fixing compilation warnings.
60986
60987 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
60988
60989         * lib/exclude.c (exclude_fnmatch): New function.
60990         (excluded_file_name): Call exclude_fnmatch.
60991         * lib/exclude.h (excluded_file_name): New prototype
60992
60993 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
60994
60995         * lib/tempname.c (small_open, large_open): New macros.
60996         (__open, __open64) [!_LIBC]: Remove.
60997         (__gen_tempname): Use small_open and large_open instead of __open
60998         and __open64.  This fixes a portability bug on HP-UX 11.11i
60999         reported by Simon Wing-Tang in
61000         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
61001
61002 2006-05-24  Bruno Haible  <bruno@clisp.org>
61003
61004         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
61005         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
61006         Reported by Thorsten Maerz <torte@netztorte.de> via
61007         Aaron Stone <aaron@serendipity.cx>.
61008
61009 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
61010
61011         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
61012         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
61013         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
61014         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
61015         not really conditional on the cache.
61016         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
61017
61018 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
61019
61020         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
61021         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
61022         (my_usleep): Don't mishandle maximum value.
61023
61024 2006-05-19  Jim Meyering  <jim@meyering.net>
61025
61026         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
61027
61028 2006-05-17  Bruno Haible  <bruno@clisp.org>
61029
61030         Cygwin portability.
61031         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
61032
61033 2006-05-17  Bruno Haible  <bruno@clisp.org>
61034
61035         * lib/stdint_.h: Fix recognition of Cygwin.
61036
61037 2006-05-15  Bruno Haible  <bruno@clisp.org>
61038
61039         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
61040         on libtool patch by Ralf Wildenhues.
61041
61042 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
61043
61044         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
61045         test for C99 conformance; (bool) 0.5 is an integer constant
61046         expression, but (bool) -0.5 is not.  Problem reported by Fedor
61047         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
61048
61049 2006-05-11  Simon Josefsson  <jas@extundo.com>
61050
61051         * m4/xvasprintf.m4: Fix obvious typo.
61052
61053 2006-05-11  Jim Meyering  <jim@meyering.net>
61054
61055         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
61056         James Lemley.
61057
61058 2006-05-10  Simon Josefsson  <jas@extundo.com>
61059
61060         * lib/md4.c: Typo fix, update copyright years.
61061         (K1, K2): Don't use L because it turn computations into 64-bit on
61062         64-bit platforms.
61063
61064 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
61065
61066         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
61067         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
61068         unwanted sign propagation, e.g., on hosts with 64-bit int.
61069         There still are some problems with reeelly weird theoretical hosts
61070         (e.g., 33-bit int) but it's not worth worrying about now.
61071         * lib/sha1.c (rol): Likewise.
61072         (K1, K2, K3, K4): Remove unnecessary L suffix.
61073
61074 2006-05-10  Bruno Haible  <bruno@clisp.org>
61075
61076         * lib/des.c: Cast to avoid warnings.
61077
61078 2006-05-09  Bruno Haible  <bruno@clisp.org>
61079
61080         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
61081         (Depends-on): Depend also on xsize, stdarg.
61082         (configure.ac): Add gl_XVASPRINTF.
61083
61084 2006-05-09  Bruno Haible  <bruno@clisp.org>
61085
61086         * m4/xvasprintf.m4: New file.
61087
61088 2006-05-09  Bruno Haible  <bruno@clisp.org>
61089
61090         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
61091         (EOVERFLOW): Define fallback value.
61092         (xstrcat): New function.
61093         (xvasprintf): Recognize the special case of a string concatenation.
61094
61095 2006-05-08  Eric Blake  <ebb9@byu.net>
61096
61097         * gnulib-tool (func_version): Base copyright year on CVS date.
61098         (func_emit_copyright_notice): New function.
61099         (func_emit_lib_Makefile_am): Use it.
61100         (func_emit_tests_Makefile_am): Likewise.
61101         (func_import): Likewise.
61102
61103 2006-05-08  Bruno Haible  <bruno@clisp.org>
61104
61105         * modules/stdarg: New file.
61106         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
61107
61108 2006-05-08  Bruno Haible  <bruno@clisp.org>
61109
61110         * m4/stdarg.m4: New file, from GNU gettext.
61111
61112 2006-05-08  Bruno Haible  <bruno@clisp.org>
61113
61114         * config/srclist.txt (build-aux/config.rpath): different from latest
61115         release.
61116
61117 2006-05-08  Bruno Haible  <bruno@clisp.org>
61118
61119         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
61120
61121 2006-05-05  Jim Meyering  <jim@meyering.net>
61122
61123         * m4/warning.m4: New file, derived from bison's file by the same name.
61124
61125 2006-05-03  Bruno Haible  <bruno@clisp.org>
61126
61127         * lib/stdint_.h: Shorter URL.
61128         * lib/inttypes.h: Likewise.
61129
61130 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
61131
61132         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
61133
61134 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
61135
61136         * lib/verify.h: Document the internals better.  Most of this change
61137         was written by Bruno Haible.
61138
61139 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
61140
61141         * doc/verify.texi: New file, partly based on a proposal by
61142         Bruno Haible.
61143
61144 2006-05-02  Bruno Haible  <bruno@clisp.org>
61145
61146         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
61147         test from here...
61148         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
61149
61150 2006-04-29  Bruno Haible  <bruno@clisp.org>
61151
61152         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
61153         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
61154
61155 2006-04-29  Bruno Haible  <bruno@clisp.org>
61156
61157         * gnulib-tool: Make --update option actually work.
61158
61159 2006-04-29  Bruno Haible  <bruno@clisp.org>
61160
61161         * doc/gcd.texi: New file.
61162         * doc/gnulib.texi: Include it.
61163
61164 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
61165
61166         * lib/getdate.y (get_date): When adding relative date, start with the
61167         initial time, not with the result of the first mktime call.
61168
61169 2006-04-25  Bruno Haible  <bruno@clisp.org>
61170
61171         * gnulib-tool (func_import): Output the include directives in three
61172         blocks, sorted separately.
61173         Reported by Ben Pfaff <blp@cs.stanford.edu>.
61174
61175 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
61176
61177         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
61178         to define main with arguments, for C++.  Reported by Eric Blake.
61179         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
61180         Prefer 'int main ()' to 'int main (void)', for C++.
61181         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
61182         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
61183         for 'main', for C99 and C++.
61184
61185 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
61186
61187         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
61188         Don't assume that exit status -1 is valid.
61189         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
61190         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
61191         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
61192         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
61193         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
61194         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
61195         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
61196         functions can be used without declaring them, or that you can
61197         exit with status -1.
61198         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
61199
61200 2006-04-24  Karl Berry  <karl@gnu.org>
61201
61202         * config/srclist.txt (longdouble.m4): sync lost.
61203
61204 2006-04-24  Eric Blake  <ebb9@byu.net>
61205
61206         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
61207
61208 2006-04-24  Bruno Haible  <bruno@clisp.org>
61209
61210         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
61211         poll() implementation in AIX.
61212         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
61213
61214 2006-04-24  Bruno Haible  <bruno@clisp.org>
61215
61216         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
61217         assigned exactly once.
61218
61219 2006-04-23  Claudio Fontana  <claudio@gnu.org>
61220             Bruno Haible  <bruno@clisp.org>
61221
61222         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
61223         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
61224         for AM_CPPFLAGS.
61225
61226 2006-04-23  Bruno Haible  <bruno@clisp.org>
61227
61228         * modules/copy-file: Depend on unistd.
61229         * modules/execute: Likewise.
61230         * modules/fatal-signal: Likewise.
61231         * modules/findprog: Likewise.
61232         * modules/mkdtemp : Likewise.
61233         * modules/pipe: Likewise.
61234         * modules/wait-process: Likewise.
61235
61236 2006-04-23  Bruno Haible  <bruno@clisp.org>
61237
61238         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
61239         condition was already detected.
61240         Reported by Ben Pfaff <blp@cs.stanford.edu>.
61241
61242 2006-04-23  Bruno Haible  <bruno@clisp.org>
61243
61244         * lib/copy-file.c: Include <unistd.h> unconditionally.
61245         * lib/execute.c: Likewise.
61246         * lib/fatal-signal.c: Likewise.
61247         * lib/findprog.c: Likewise.
61248         * lib/mkdtemp.c: Likewise.
61249         * lib/pipe.h: Likewise.
61250         * lib/pipe.c: Likewise.
61251         * lib/wait-process.h: Likewise.
61252
61253 2006-04-23  Bruno Haible  <bruno@clisp.org>
61254
61255         * gnulib-tool (func_usage): Fix --import description. Document
61256         --update.
61257         (func_import): Create temporary file in a temporary directory, if
61258         --dry-run is specified. Silence errors from 'grep' when there are no
61259         m4 files in $m4dir.
61260         (func_create_testdir): Silence errors from 'grep' when there are no
61261         m4 files in $m4dir.
61262         Reported by Karl Berry <karl@freefriends.org>.
61263
61264 2006-04-20  Bruno Haible  <bruno@clisp.org>
61265
61266         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
61267         one argument, so that the code will be portable to Autoconf 2.60.
61268         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
61269         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
61270         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
61271
61272 2006-04-19  Derek Price  <derek@ximbiot.com>
61273             Eric Blake  <ebb9@byu.net>
61274
61275         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
61276         rather than "/full/path.h".  Update comment to match.  Shorten &
61277         generalize m4_translit call via AS_TR_CPP.
61278
61279 2006-04-19  Derek Price  <derek@ximbiot.com>
61280             Eric Blake  <ebb9@byu.net>
61281
61282         * lib/inttypes.h: Correct grammar in comment.
61283
61284 2006-04-18  Derek Price  <derek@ximbiot.com>
61285             Paul Eggert  <eggert@cs.ucla.edu>
61286
61287         * modules/inttypes: New file.
61288         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
61289
61290 2006-04-18  Derek Price  <derek@ximbiot.com>
61291             Paul Eggert  <eggert@cs.ucla.edu>
61292
61293         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
61294         New files.
61295
61296 2006-04-18  Derek Price  <derek@ximbiot.com>
61297             Paul Eggert  <eggert@cs.ucla.edu>
61298
61299         * lib/inttypes.h: New file.
61300         * lib/strtoimax.c: Assume <inttypes.h>.
61301
61302 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
61303
61304         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
61305         isn't mounted.  Problem reported by Kir Kolyshkin.
61306
61307 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
61308
61309         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
61310         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
61311         Derek R. Price.
61312         * lib/regex.h (RE_DUP_MAX): Update comment to match current
61313         implementation.
61314
61315 2006-04-12  Eric Blake  <ebb9@byu.net>
61316
61317         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
61318         is now done automatically by the corresponding Autoconf macro.
61319
61320 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
61321
61322         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
61323         time_r.h.
61324
61325 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
61326
61327         Merge regex changes from libc, removing some of our
61328         POSIX-conformance changes that were rejected and redoing them in a
61329         less-intrusive way.
61330
61331         * lib/regcomp.c (re_compile_internal, init_dfa):
61332         Length arg is now size_t, not Idx.  All uses changed.
61333         (peek_token): Forward decl now says internal_function.
61334         (__re_error_msgid, __re_error_msgid_idx):
61335         Now static rather than extern with attribute_hidden.
61336         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
61337         For some reason libc prefers K&R style defns for external functions.
61338         (regerror) [!defined _LIBC]: Likewise.
61339         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
61340         (seek_collating_symbol_entry, lookup_collation_sequence_value):
61341         (build_range_exp, build_collating_symbol):
61342         Use K&R-style defn.
61343         (re_compile_fastmap): Use '\0' to memset, not 0.
61344         (utf8_sb_map): Make the calculations more obvious.
61345         (init_dfa, parse_bracket_exp, build_charclass_op):
61346         Call calloc and cast result, as glibc does.
61347         (init_word_char, fetch_token, peek_token, peek_token_bracket):
61348         (build_range_exp, build_collating_symbol):
61349         Now internal functions.
61350
61351         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
61352
61353         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
61354         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
61355         Don't depend on VMS; depend on __VMS instead, for POSIX
61356         namespace cleanness.
61357         (regoff_t): Define to ssize_t, not long int.
61358
61359         Remove the REG_ macros named below.  Instead, make the old names
61360         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
61361         __USE_GNU_REGEX.
61362         (REG_BACKSLASH_ESCAPE_IN_LISTS):
61363         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
61364         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
61365         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
61366         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
61367         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
61368         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
61369         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
61370         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
61371         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
61372         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
61373         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
61374         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
61375         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
61376         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
61377         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
61378         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
61379         (REG_NREGS):
61380         Remove.  All uses replaced by the old RE_* names.
61381         (RE_BACKSLASH_ESCAPE_IN_LISTS):
61382         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
61383         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
61384         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
61385         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
61386         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
61387         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
61388         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
61389         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
61390         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
61391         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
61392         Don't bother having these macros be independent of each others'
61393         values, since they no longer exist in the POSIX name space.
61394
61395         Rename the following member names back to their old names,
61396         unless !__USE_GNU_REGEX.  All uses changed back.
61397         (buffer): Renamed from re_buffer.
61398         (allocated): Renamed from re_allocated.
61399         (used): Renamed from re_used.
61400         (syntax): Renamed from re_syntax.
61401         (fastmap): Renamed from re_fastmap.
61402         (translate): Renamed from re_translate.
61403         (can_be_null): Renamed from re_can_be_null.
61404         (regs_allocated): Renamed from re_regs_allocated.
61405         (fastmap_accurate): Renamed from re_fastmap_accurate.
61406         (no_sub): Renamed from re_no_sub.
61407         (not_bol): Renamed from re_not_bol.
61408         (not_eol): Renamed from re_not_eol.
61409         (newline_anchor): Renamed from re_newline_anchor.
61410         (num_regs): Renamed from rm_num_regs.
61411         (start): Renamed from rm_start.
61412         (end): Renamed from rm_end.
61413
61414         (free_state): Move up a bit.
61415
61416         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
61417         #define to be empty.
61418         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
61419         when that is what is intended.
61420         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
61421         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
61422         (MAX): New macro.
61423         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
61424         All uses changed back to re_malloc, etc.  It's now the caller's
61425         responsibility to check for overflow; all callers changed.
61426         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
61427         (re_x2nrealloc): Remove.
61428         (free_state): Remove decl.
61429
61430         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
61431         (re_set_registers, re_exec):
61432         Use K&R-style defn.
61433
61434         2006-01-31  Roland McGrath  <roland@redhat.com>
61435
61436         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
61437         Reported by Mike Frysinger <vapier@gentoo.org>.
61438
61439         2006-01-15  Andreas Jaeger  <aj@suse.de>
61440
61441         [BZ #1950]
61442         * lib/regex_internal.c (re_string_reconstruct): Adjust for
61443         build_wcs_upper_buffer change.
61444         (build_wcs_upper_buffer): Change return type.
61445
61446         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
61447
61448         * lib/regex_internal.h: Include <stdint.h> if available.
61449
61450         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
61451
61452         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
61453
61454         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
61455
61456         * lib/regcomp.c: Adjust for changed secondary hash function.
61457
61458         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
61459
61460         * lib/regex.h: Pretty printing.
61461         Clean up namespace a bit.
61462
61463         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
61464
61465         * lib/regexec.c (update_cur_sifted_state, check_arrival,
61466         check_arrival_add_next_nodes): Avoid using uninitialized variable.
61467
61468         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
61469                     Ulrich Drepper  <drepper@redhat.com>
61470
61471         [BZ #1302]
61472         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
61473         changed.
61474         (bitset_word_t): Renamed from bitset_word.  All uses changed.
61475
61476         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
61477
61478         [BZ #281]
61479         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
61480         * lib/regcomp.c: Remove unnecessary uses of
61481         unsigned RE_TRANSLATE_TYPE.
61482         * lib/regex_internal.h: Likewise.
61483         * lib/regex_internal.c: Likewise.
61484         * lib/regexec.c: Likewise.
61485         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
61486
61487         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
61488
61489         * lib/regexec.c (find_recover_state): Remove unnecessary
61490         initialization.
61491         (transit_state_bkref): Make DFA a const pointer.
61492         (get_subexp): Likewise.
61493         (check_arrival): Likewise.
61494         (update_cur_sifted_state): Likewise.
61495         (re_search_internal): Likewise.
61496         (prune_impossible_nodes): Likewise.
61497         (acquire_init_state_context): Likewise.
61498         (proceed_next_node): Likewise.
61499         (set_regs): Likewise.
61500         (free_fail_stack_return): Likewise.
61501         (check_arrival_expand_ecl): Mark DFA parameter as const.
61502         (check_arrival_expand_ecl_sub): Likewise.
61503         (check_subexp_limits): Likewise.
61504         (sub_epsilon_src_nodes):  Likewise.
61505         (add_epsilon_src_nodes):  Likewise.
61506         (merge_state_array): Likewise.
61507         (update_regs): Likewise.
61508         (build_trtable): Likewise.
61509         (sift_states_backward): Mark MCTX parameter as const.
61510         (build_sifted_states): Likewise.
61511         (update_cur_sifted_state): Likewise.
61512         (sift_states_mkref): Likewise.
61513         (check_arrival_expand_ecl): Mark eclosure as const.
61514         (check_dst_limits_calc_pos_1): Likewise.
61515         * lib/regex_internal.h (re_match_context_t): Make dfa a const
61516         pointer.
61517
61518         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
61519
61520         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
61521         (transit_state_sb): Likewise.
61522         (transit_state_mb): Likewise.
61523         (sift_states_iter_mb): Likewise.
61524         (check_arrival_add_next_nodes): Likewise.
61525         (check_node_accept_bytes): Change first parameter to pointer-to-const.
61526         [_LIBC] (re_search_2_stub): Use mempcpy.
61527
61528         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
61529         mbrtowc for very simple UTF-8 case.
61530
61531         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
61532         a pointer-to-const.
61533         (re_acquire_state_context): Likewise.
61534         * lib/regex_internal.h: Adjust prototypes.
61535
61536         * lib/regex.c: Prevent using C++ compilers.
61537
61538         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
61539         (re_acquire_state_context): Likewise.
61540
61541 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
61542
61543         * modules/regex (Depends-on): Add ssize_t.
61544
61545 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
61546
61547         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
61548         translation table.
61549
61550 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
61551
61552         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
61553
61554 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
61555             Bruno Haible  <bruno@clisp.org>
61556
61557         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
61558         <sys/types.h> and <inttypes.h>.
61559
61560 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61561
61562         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
61563         `__error_t_defined', so argp.h will not typedef the former.
61564
61565 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
61566
61567         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
61568         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
61569         glibc names.  Even if glibc is changed to conform to POSIX, the
61570         traditional names will be available anyway, since regex depends on
61571         the extensions module.  Also, fix a longstanding typo in the
61572         implementation of Spencer ERE test #75 from grep 2.3.  Problems
61573         reported by Emanuele Giaquinta.  Also, change sense of cached
61574         variable, so that the message makes sense.
61575
61576 2006-03-24  Simon Josefsson  <jas@extundo.com>
61577
61578         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
61579         including some doc fixes.
61580         (base64_encode_alloc): Fix +1 bug on allocation failures.
61581
61582 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61583
61584         * lib/base64.c (base64_encode): Do not read past end of array with
61585         unsanitized input on systems with CHAR_BIT > 8.
61586
61587 2006-03-24  Eric Blake  <ebb9@byu.net>
61588
61589         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
61590
61591 2006-03-22  Karl Berry  <karl@gnu.org>
61592
61593         * config/srclist.txt (*setenv.[ch]): get from coreutils.
61594         * config/srclistvars.sh (COREUTILS): new var.
61595
61596 2006-03-17  Jim Meyering  <jim@meyering.net>
61597
61598         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
61599         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
61600
61601 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
61602
61603         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
61604         no longer needs it.  Instead, check that regoff_t is as least
61605         as wide as ptrdiff_t.
61606
61607         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
61608         so that our regex.h stays compatible with the installed regex.
61609         This is helpful for installers who configure --without-included-regex.
61610         Problem reported by Emanuele Giaquinta.
61611
61612 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
61613
61614         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
61615         Typedef to long int, not to off_, as POSIX will likely change
61616         in that direction.
61617
61618 2006-03-15  Eric Blake  <ebb9@byu.net>
61619
61620         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
61621
61622 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
61623
61624         * lib/argp-help.c (validate_uparams): Fix typo
61625         * lib/argp-parse.c (argp_default_options): Consistently begin help
61626         messages with a lowercase letter.
61627
61628 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
61629
61630         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
61631         overrun buffers and shouldn't be used (much as gets shouldn't be
61632         used).
61633         * lib/time_r.c (asctime_r, ctime_r): Likewise.
61634
61635 2006-03-08  Simon Josefsson  <jas@extundo.com>
61636
61637         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
61638         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
61639
61640 2006-03-08  Simon Josefsson  <jas@extundo.com>
61641
61642         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
61643         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
61644
61645 2006-03-08  Simon Josefsson  <jas@extundo.com>
61646
61647         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
61648         signal that configure disabled the device.
61649
61650 2006-03-08  Simon Josefsson  <jas@extundo.com>
61651
61652         * build-aux/maint.mk: Fix refresh-po, to handle no translated
61653         languages.
61654
61655 2006-03-07  Simon Josefsson  <jas@extundo.com>
61656
61657         * modules/getopt (Depends-on): Add unistd.
61658
61659         * modules/unistd: New file.
61660
61661 2006-03-07  Simon Josefsson  <jas@extundo.com>
61662
61663         * modules/gc-random: New file.
61664
61665 2006-03-07  Simon Josefsson  <jas@extundo.com>
61666
61667         * m4/unistd_h.m4: New file.
61668
61669 2006-03-07  Simon Josefsson  <jas@extundo.com>
61670
61671         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
61672         test to be side-effect free by storing the result in the cache
61673         variable gl_cv_lib_readline, and moving the assignment of
61674         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
61675         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
61676
61677 2006-03-07  Simon Josefsson  <jas@extundo.com>
61678
61679         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
61680         error on missing devices (the functions will return an error).
61681
61682         * m4/gc.m4: Move random stuff to gc-random.m4
61683
61684 2006-03-07  Simon Josefsson  <jas@extundo.com>
61685
61686         * lib/unistd_.h: New file.
61687
61688 2006-03-07  Simon Josefsson  <jas@extundo.com>
61689
61690         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
61691
61692 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
61693
61694         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
61695         Problem reported by Juan Manuel Guerrero.
61696
61697 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
61698
61699         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
61700         the unistd module.
61701         * lib/getlogin_r.c: Likewise.
61702         * lib/getlogin_r.h: Likewise.
61703         * lib/glob.c: Likewise.
61704         * lib/pagealign_alloc.c: Likewise.
61705         * lib/unistd_.h: Remove; no longer needed.
61706
61707 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
61708
61709         * MODULES.html.sh (Support for systems lacking POSIX:2001):
61710         Add unistd.
61711         * modules/c-stack (Depends-on): Add unistd.
61712         * modules/getlogin_r: Likewise.
61713         * modules/glob: Likewise.
61714         * modules/pagealign_alloc: Likewise.
61715         * modules/unistd (Files): Remove lib/unistd_.h.
61716         (EXTRA_DIST): Remove.
61717         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
61718         need unistd_.h.
61719         (MOSTLYCLEANFILES): Remove unistd.h-t.
61720
61721 2006-03-03  Simon Josefsson  <jas@extundo.com>
61722
61723         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
61724
61725 2006-03-03  Simon Josefsson  <jas@extundo.com>
61726
61727         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
61728         libidn and bison.
61729
61730 2006-03-03  Simon Josefsson  <jas@extundo.com>
61731
61732         * build-aux/maint.mk: Add indent target.
61733
61734 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
61735
61736         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
61737         our replacement poll.h in any case, to avoid a differing
61738         declaration from a system header.  Seen on AIX.
61739
61740 2006-03-01  Simon Josefsson  <jas@extundo.com>
61741
61742         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
61743         <kasal@ucw.cz>.
61744
61745 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
61746
61747         * modules/gettime (Depends-on): Add extensions module.
61748         * modules/nanosleep (Depends-on): Likewise.
61749         * modules/settime (Depends-on): Likewise.
61750
61751 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
61752
61753         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
61754         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
61755         pedantically.
61756         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
61757         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
61758
61759         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
61760         not "==".  Reported by Ralf Wildenhues.
61761
61762 2006-03-01  Karl Berry  <karl@gnu.org>
61763
61764         * doc/Copyright/request-*: new files, synced from gnuorg.
61765
61766 2006-03-01  Karl Berry  <karl@gnu.org>
61767
61768         * config/srclist.txt (Copyright/*): new entries.
61769
61770 2006-02-28  Simon Josefsson  <jas@extundo.com>
61771
61772         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
61773
61774 2006-02-27  Simon Josefsson  <jas@extundo.com>
61775
61776         * lib/base64.h: Indent #define's.  From Jim Meyering
61777         <jim@meyering.net>.
61778
61779 2006-02-27  Jim Meyering  <jim@meyering.net>
61780
61781         Revert the change of 2006-02-24, so these files can continue
61782         to be sync'd from gettext.
61783         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
61784         of `config.h'.
61785
61786 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
61787
61788         * modules/intprops: New file.
61789         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
61790         Add intprops.
61791         * modules/getloadavg (Files): Remove lib/intprops.h.
61792         (Depends-on): Add intprops.
61793         * modules/human: Likewise.
61794         * modules/inttostr: Likewise.
61795         * modules/openat: Likewise.
61796         * modules/sig2str: Likewise.
61797         * modules/userspec: Likewise.
61798         * modules/utimecmp: Likewise.
61799         * modules/xnanosleep: Likewise.
61800         * modules/xstrtol: Likewise.
61801
61802 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
61803
61804         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
61805         * modules/lock-tests (TESTS): Use $(EXEEXT).
61806         * modules/tls-tests: Likewise.
61807         * modules/argp-tests: Likewise.
61808         (check_PROGRAMS): New var, replacing...
61809         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
61810
61811 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61812
61813         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
61814         `config.h'.
61815
61816 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
61817
61818         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
61819
61820 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61821
61822         Sync from coreutils.
61823         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
61824         gl_CHDIR_SAFER.
61825
61826 2006-02-22  Jim Meyering  <jim@meyering.net>
61827
61828         Sync from coreutils.
61829         * m4/chdir-safer.m4: New file.
61830
61831 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
61832
61833         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
61834         AT_FDCWD exceeds INT_MAX.
61835         * lib/openat.h (AT_FDCWD): Likewise.
61836
61837 2006-02-17  Eric Blake  <address@hidden>
61838
61839         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
61840
61841 2006-02-16  Simon Josefsson  <jas@extundo.com>
61842
61843         * modules/getaddrinfo (Depends-on): Add sys_socket.
61844
61845 2006-02-15  Simon Josefsson  <jas@extundo.com>
61846
61847         * build-aux/maint.mk: Add dsyntax-check rule.
61848
61849 2006-02-15  Eric Blake  <ebb9@byu.net>
61850
61851         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
61852         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
61853         'present but cannot compile' warnings on cygwin.
61854         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
61855         use ws2tcpip.h if sys/socket.h works.
61856         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
61857         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
61858
61859 2006-02-14  Simon Josefsson  <jas@extundo.com>
61860
61861         * modules/maintainer-makefile (Files): Rename.
61862
61863         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
61864         and (the local) Makefile.cfg to maint-cfg.mk.
61865
61866         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
61867         to the latter.
61868
61869         * modules/maintainer-makefile: New module.
61870
61871         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
61872         severaly stripped to make it possible to build it up from scratch
61873         with reliable tests.
61874
61875         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
61876         fixes to permit overriding the default actions when configure and
61877         makefile are not available.
61878
61879 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
61880
61881         Sync from coreutils.
61882         * modules/lstat (Depends-on): Don't depend on xalloc.
61883         (License): Change from GPL to LGPL, since this is now simply a
61884         replacement for a libc function.
61885
61886 2006-02-14  Jim Meyering  <jim@meyering.net>
61887
61888         Sync from coreutils.
61889
61890         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
61891         failure on deficient systems, and simplify gnulib lgpl dependencies.
61892         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
61893         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
61894
61895         * lib/xalloc-die.c: Remove unused definition of N_.
61896
61897 2006-02-14  Jim Meyering  <jim@meyering.net>
61898
61899         Sync from coreutils.
61900         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
61901         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
61902         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
61903         double-quote uses of that variable, to accommodate the rare case in
61904         which getmntent is available in none of the libraries checked.  This
61905         happens at least on FreeBSD 5.0.
61906
61907 2006-02-13  Simon Josefsson  <jas@extundo.com>
61908
61909         * gnulib-tool (Usage): Fix --import, from
61910         karl@freefriends.org (Karl Berry).
61911
61912 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
61913
61914         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
61915
61916 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
61917
61918         * lib/argp-namefrob.h: Restore changes accidentally lost during the
61919         "autoupdate" on 2005-12-12.
61920
61921 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
61922
61923         * modules/closeout (Depends-on): Remove atexit.
61924
61925 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
61926
61927         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
61928         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
61929
61930 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
61931
61932         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
61933         __EXTENSIONS__ if this causes compilation to fail.  Problem
61934         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
61935         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
61936
61937 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
61938
61939         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
61940         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
61941         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
61942         All uses changed.
61943
61944 2006-01-26  Simon Josefsson  <jas@extundo.com>
61945
61946         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
61947         prototype is visible on mingw32.
61948
61949         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
61950         for mingw32.
61951
61952         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
61953         mingw32).
61954
61955 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
61956
61957         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
61958         attempt to open for write; this always fails, at least on POSIX
61959         hosts.  This reinstates the 2006-01-09 change, which was
61960         inadvertently removed.
61961
61962 2006-01-26  Bruno Haible  <bruno@clisp.org>
61963
61964         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
61965         Reported by Paul Eggert.
61966
61967 2006-01-26  Bruno Haible  <bruno@clisp.org>
61968             Paul Eggert  <eggert@cs.ucla.edu>
61969
61970         * lib/stdbool_.h (_Bool)
61971         [(! (defined __cplusplus || defined __BEOS__)
61972           && !defined __GNUC__
61973           && !(defined __HP_cc || defined __xlc__
61974                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
61975                || defined __sgi))]:
61976         #define to signed char in these cases too; this simplifies
61977         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
61978         etc., separately) and makes it more conservative.
61979
61980 2006-01-25  Simon Josefsson  <jas@extundo.com>
61981
61982         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
61983         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
61984         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
61985
61986 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
61987
61988         * lib/argp-namefrob.h: Bugfix. Remove stray #
61989
61990 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
61991
61992         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
61993         so that we test the test.
61994         Check for yet another HP-UX cc bug involving *bool |= bool.
61995
61996 2006-01-25  Karl Berry  <karl@gnu.org>
61997
61998         * config/srclist.txt (vasnprintf.c): sync lost.
61999
62000 2006-01-25  Jim Meyering  <jim@meyering.net>
62001
62002         Sync from the stable (b5) branch of coreutils:
62003
62004         * lib/fts.c (fts_children): Don't let close() clobber errno from
62005         failed fchdir().
62006
62007         * lib/fts.c (fts_stat): When following a symlink-to-directory,
62008         don't necessarily interpret stat-fails+lstat-succeeds as indicating
62009         a dangling symlink.  That can also happen at least for ELOOP.
62010         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
62011         FYI, this bug predates the inclusion of fts.c in coreutils.
62012
62013         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
62014         in their own block, so pre-c99 compilers don't object.
62015
62016         Avoid the double-free (first in fts_read, second in fts_close) that
62017         would occur when an `active' directory is made inaccessible (e.g.,
62018         via chmod a-x) during a traversal.
62019         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
62020         before returning.  Reproduce this failure by
62021         mkdir -p a/b; cd a; chmod a-x . b
62022         Reported by Stavros Passas.
62023
62024 2006-01-25  Jim Meyering  <jim@meyering.net>
62025
62026         * lib/fileblocks.c: Remove more useless parentheses.
62027         * lib/readutmp.h: Likewise.
62028
62029 2006-01-25  Bruno Haible  <bruno@clisp.org>
62030
62031         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
62032         warnings.
62033         Reported by Paul Eggert.
62034
62035 2006-01-25  Bruno Haible  <bruno@clisp.org>
62036
62037         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
62038         rid of a trap command. For Solaris sh.
62039         Reported by Mark D. Baushke <mdb@gnu.org>.
62040
62041 2006-01-24  Simon Josefsson  <jas@extundo.com>
62042
62043         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
62044         Bruno.
62045
62046 2006-01-24  Karl Berry  <karl@gnu.org>
62047
62048         * config/srclist.txt (argp-namefrob.h): sync lost.
62049
62050 2006-01-24  Jim Meyering  <jim@meyering.net>
62051
62052         * modules/openat (Files): Add lib/intprops.h.
62053         From Mark D. Baushke.
62054
62055 2006-01-24  Jim Meyering  <jim@meyering.net>
62056
62057         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
62058         Reported by Mark D. Baushke.
62059
62060 2006-01-24  Jim Meyering  <jim@meyering.net>
62061
62062         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
62063
62064 2006-01-24  Bruno Haible  <bruno@clisp.org>
62065
62066         * modules/strnlen (Maintainer): Change from glibc to all.
62067
62068 2006-01-24  Bruno Haible  <bruno@clisp.org>
62069
62070         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
62071         Patch by Paul Eggert.
62072
62073 2006-01-24  Bruno Haible  <bruno@clisp.org>
62074
62075         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
62076         already has it.
62077         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
62078         2005-11-26.
62079
62080         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
62081         'signed char' to avoid problems with the built-in _Bool type.
62082         Reported by Paul Eggert on 2005-11-26.
62083
62084 2006-01-24  Bruno Haible  <bruno@clisp.org>
62085
62086         * gnulib-tool (func_import): Avoid constructing complicated sed
62087         expressions inside backquote.
62088         Report and solution by Mark D. Baushke <mdb@gnu.org>.
62089
62090 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
62091
62092         These changes imported from libc.
62093         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
62094         test and two separate function calls.
62095         * lib/strndup.c (__strndup): Add libc_hidden_def.
62096
62097 2006-01-23  Simon Josefsson  <jas@extundo.com>
62098
62099         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
62100         Remove the test_*_SOURCES variable: automake infers it by default.
62101         * modules/tls-tests: Likewise.
62102
62103 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
62104
62105         Work around porting bugs reported by Dieter in
62106         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
62107         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
62108         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
62109         Include "getopt.h" first, to check interface.
62110         (getenv): Declare only if defined HAVE_DECL_GETENV &&
62111         !HAVE_DECL_GETENV.
62112         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
62113         (__strndup): Revert to K&R-style function dfns, the glibc style.
62114         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
62115         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
62116         Include strnlen.h first, to get prototype properly.
62117         (strnlen): Renamed from __strnlen.
62118         Remove weak alias.
62119
62120 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
62121
62122         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
62123
62124 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
62125
62126         * config/srclist.txt: Adjust to reflect glibc reorganization.
62127         This affects only comments.
62128
62129 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
62130
62131          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
62132          Reported by Bruce Korb <bkorb@gnu.org>.
62133
62134 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
62135
62136         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
62137         to pacify gcc -Wswitch-default.
62138
62139 2006-01-22  Bruno Haible  <bruno@clisp.org>
62140
62141         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
62142         temporary buffer for sprintf, take into account the precision also
62143         for 'd', 'i', 'u', 'o', 'x', 'X'.
62144
62145 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
62146
62147         * modules/argp-tests: New module
62148         * tests/test-argp.c: New file
62149         * tests/test-argp-2.sh: New file
62150
62151 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
62152
62153         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
62154         (__argp_base_name): Removed
62155         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
62156         typo.
62157         (__argp_base_name): Provide macro definition or extern declaration
62158         depending on the configuration
62159
62160 2006-01-20  Simon Josefsson  <jas@extundo.com>
62161
62162         * modules/inet_ntop (Depends-on): Depend on sys_socket.
62163
62164 2006-01-20  Simon Josefsson  <jas@extundo.com>
62165
62166         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
62167
62168 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
62169
62170         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
62171         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
62172         Suggested by Bruno Haible.
62173
62174 2006-01-20  Karl Berry  <karl@gnu.org>
62175
62176         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
62177         until changes propagate, I guess.
62178
62179 2006-01-19  Simon Josefsson  <jas@extundo.com>
62180
62181         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
62182
62183 2006-01-19  Simon Josefsson  <jas@extundo.com>
62184
62185         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
62186
62187 2006-01-19  Simon Josefsson  <jas@extundo.com>
62188
62189         * gnulib-tool: Set check_PROGRAMS.
62190
62191         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
62192         modules/des-tests, modules/gc-arcfour-tests,
62193         modules/gc-arctwo-tests, modules/gc-des-tests,
62194         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
62195         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
62196         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
62197         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
62198         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
62199         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
62200         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
62201         test_*_SOURCES.
62202
62203 2006-01-18  Simon Josefsson  <jas@extundo.com>
62204
62205         * modules/socklen (Depends-on): Depend on sys_socket.
62206
62207 2006-01-18  Simon Josefsson  <jas@extundo.com>
62208
62209         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
62210         modules/des-tests, modules/gc-arcfour-tests,
62211         modules/gc-arctwo-tests, modules/gc-des-tests,
62212         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
62213         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
62214         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
62215         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
62216         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
62217         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
62218         $(EXEEXT) to automake TESTS variable, for mingw32.
62219
62220 2006-01-17  Simon Josefsson  <jas@extundo.com>
62221
62222         * modules/socklen (Include): Need sys/socket.h.
62223
62224 2006-01-17  Bruno Haible  <bruno@clisp.org>
62225
62226         * modules/ssize_t (Include): Add <sys/types.h>.
62227
62228 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
62229
62230         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
62231         it's not portable and it doesn't work with cross-compiles.
62232         Problem reported by Bruno Haible.  Fix missing-$ typo in
62233         'test "gl_cv_ignore_unused_libraries" ...' that prevented
62234         -zignore from being used with Sun's C compiler.
62235
62236 2006-01-12  Simon Josefsson  <jas@extundo.com>
62237
62238         * lib/base64.c: Fix warning, reported by Bruno Haible
62239         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
62240
62241 2006-01-12  Bruno Haible  <bruno@clisp.org>
62242
62243         * modules/ldd: New file.
62244         * build-aux/ldd.sh.in: New file.
62245         * MODULES.html.sh (Support for building libraries and executables): Add
62246         ldd.
62247
62248 2006-01-12  Bruno Haible  <bruno@clisp.org>
62249
62250         * m4/ldd.m4: New file.
62251
62252 2006-01-12  Bruno Haible  <bruno@clisp.org>
62253
62254         * gnulib-tool (func_import, func_create_testdir): Don't go into an
62255         endless loop while replacing $auxdir with build-aux.
62256
62257 2006-01-11  Simon Josefsson  <jas@extundo.com>
62258
62259         * lib/stdint_.h (SIZE_MAX): Add missing (.
62260
62261 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
62262
62263         Sync from coreutils.
62264         * lib/md5.c: Fix commentary typos.
62265         (alignof, UNALIGNED_P): No need for a GCC-specific version.
62266         * lib/md5.h (__attribute__): Remove; unused.
62267         * lib/sha1.c: Fix commentary to match md5 better.
62268         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
62269         so that we don't need to worry about alignment.  All uses changed.
62270         This merges the 2005-10-28 md5 change into sha1.
62271
62272 2006-01-11  Jim Meyering  <jim@meyering.net>
62273
62274         Sync from coreutils.
62275         * lib/md5.c (OP): Fix spacing.
62276
62277 2006-01-11  Bruno Haible  <bruno@clisp.org>
62278
62279         Ensure automatic ordering between gl_LOCK and gl_ARGP.
62280         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
62281         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
62282
62283 2006-01-11  Bruno Haible  <bruno@clisp.org>
62284
62285         Ensure automatic ordering between gl_LOCK and gl_ARGP.
62286         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
62287         the "early" section as well.
62288
62289 2006-01-11  Bruno Haible  <bruno@clisp.org>
62290
62291         Avoid "ar: no archive members specified" error on MacOS X.
62292         * gnulib-tool (func_modules_add_dummy): New function.
62293         (func_import, func_create_testdir): Invoke it.
62294
62295 2006-01-11  Bruno Haible  <bruno@clisp.org>
62296
62297         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
62298         with $auxdir in AC_CONFIG_FILES statements.
62299
62300 2006-01-11  Bruno Haible  <bruno@clisp.org>
62301
62302         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
62303         Initialize also noinst_HEADERS to empty.
62304
62305 2006-01-11  Bruno Haible  <bruno@clisp.org>
62306
62307         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
62308         variables.
62309         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
62310         autoreconf.
62311
62312 2006-01-11  Bruno Haible  <bruno@clisp.org>
62313
62314         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
62315         overridable by the user.
62316         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62317
62318 2006-01-10  Simon Josefsson  <jas@extundo.com>
62319
62320         * modules/sys_socket: New file.
62321
62322 2006-01-10  Simon Josefsson  <jas@extundo.com>
62323
62324         * m4/sys_socket_h.m4: New file.
62325
62326 2006-01-10  Simon Josefsson  <jas@extundo.com>
62327
62328         * lib/socket_.h: New file.
62329
62330 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
62331
62332         * modules/readutmp (Maintainer): Add myself.
62333
62334 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
62335
62336         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
62337         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
62338         People who are still concerned with buggy memcmp implementations
62339         can invoke gl_FUNC_MEMCMP themselves.
62340
62341 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
62342
62343         * lib/regex_internal.h (BITSET_WORD_BITS):
62344         Work around a bug in 64-bit PGC (before version 6.1-2), where the
62345         preprocessor mishandles large unsigned values as if they were signed.
62346         Problem reported by Claudio Fontana in
62347         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
62348
62349 2006-01-10  Jim Meyering  <jim@meyering.net>
62350
62351         Avoid the double-free (first in fts_read, second in fts_close) that
62352         would occur when an `active' directory is made inaccessible (e.g.,
62353         via chmod a-x) during a traversal.
62354         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
62355         before returning.  Reproduce this failure by
62356         mkdir -p a/b; cd a; chmod a-x . b
62357         Reported by Stavros Passas.
62358
62359         Sync from coreutils.
62360         * lib/sha1.c: Tweak grammar in a comment.
62361
62362 2006-01-10  Jim Meyering  <jim@meyering.net>
62363
62364         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
62365         Patch by Joerg Sonnenberger.
62366
62367 2006-01-10  Bruno Haible  <bruno@clisp.org>
62368
62369         * modules/readutmp: Depend on module free.
62370         * modules/strtok_r: Depend on module restrict.
62371
62372 2006-01-10  Bruno Haible  <bruno@clisp.org>
62373
62374         * modules/gettext (configure.ac): Add an invocation of
62375         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
62376
62377 2006-01-10  Bruno Haible  <bruno@clisp.org>
62378
62379         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
62380         Reported by Werner Lemberg <wl@gnu.org>.
62381
62382 2006-01-10  Bruno Haible  <bruno@clisp.org>
62383
62384         * lib/localcharset.c: Update from GNU gettext.
62385
62386 2006-01-10  Bruno Haible  <bruno@clisp.org>
62387
62388         * lib/argp.h (__const): Remove macro. Use const instead.
62389         * lib/argp-fmtstream.h (__const): Likewise.
62390         * lib/glob_.h (__const): Remove macro.
62391         * lib/glob-libc.h: Use const instead of __const.
62392
62393 2006-01-10  Bruno Haible  <bruno@clisp.org>
62394
62395         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
62396         variable.
62397         Needed to avoid an automake error regarding the 'gettext' module.
62398
62399 2006-01-09  Simon Josefsson  <jas@extundo.com>
62400
62401         * modules/inet_ntop (Depends-on): Add restrict.
62402
62403 2006-01-09  Simon Josefsson  <jas@extundo.com>
62404
62405         * modules/gc-rijndael-tests (License): Put under LGPL.
62406
62407         * modules/gc-des-tests (License): Likewise.
62408
62409         * modules/gc-arcfour-tests (License): Likewise.
62410
62411         * modules/gc-arctwo-tests (License): Likewise.
62412
62413         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
62414
62415         * modules/gc-hmac-sha1-tests (Files): Likewise.
62416
62417         * modules/gc-hmac-md5-tests (License): Likewise.
62418
62419         * modules/gc-sha1-tests (License): Likewise.
62420
62421         * modules/gc-md5-tests (License): Likewise.
62422
62423         * modules/gc-md4-tests (License): Likewise.
62424
62425         * modules/gc-md2-tests (License): Likewise.
62426
62427         * modules/gc-tests (License): Likewise.
62428
62429         * modules/des-tests (License): Likewise.
62430
62431         * modules/md4-tests (License): Likewise.
62432
62433         * modules/md2-tests (License): Likewise.
62434
62435 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
62436
62437         Sync from coreutils:
62438
62439         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
62440         * modules/lib-ignore: New file.
62441         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
62442         chdir-safer.m4, lchmod.m4.
62443         * modules/openat: Add mkdirat.c, openat-priv.h.
62444
62445 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
62446
62447         Sync from coreutils.
62448         * m4/lib-ignore.m4: New file.
62449         * m4/lchmod.m4: New file.
62450
62451 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
62452
62453         Sync from coreutils.
62454         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
62455         for write access: POSIX says that must fail.
62456         * lib/fts.c (diropen): Likewise.
62457         * lib/save-cwd.c (save_cwd): Likewise.
62458         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
62459         well, for minor improvements on hosts that lack O_DIRECTORY.
62460         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
62461         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
62462         Fall back on chown if open failed with EACCES.
62463
62464         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
62465         Report an error at compile-time if only a 1-second nominal clock
62466         resolution is found.
62467
62468         * lib/lchmod.h: New file.
62469         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
62470         (make_dir_parents): Use lchown rather than chown, and
62471         lchmod rather than chmod.
62472
62473         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
62474         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
62475         "proc" reported by n0dalus.
62476
62477         * lib/mountlist.c: Include <limits.h>.
62478         (dev_from_mount_options)
62479         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
62480         New function.  It no longer assumes "dev=" has the System V meaning
62481         on Linux (since it doesn't).  It also parses "dev=" more carefully.
62482         (read_file_system_list)
62483         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
62484         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
62485         dev= in that case.
62486
62487         * lib/posixtm.h (PDS_PRE_2000): New macro.
62488         * lib/posixtm.c (year): Arg is now syntax_bits rather than
62489         allow_century.  All usages changed.  Reject dates outside the range
62490         1969-1999 if PDS_PRE_2000 is used.
62491
62492 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
62493
62494         Sync from coreutils.
62495         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
62496         (Time of day items): Mention the possibility of leap seconds.
62497         Problem reported by Dr. David Alan Gilbert.
62498
62499 2006-01-09  Jim Meyering  <jim@meyering.net>
62500
62501         Sync from coreutils.
62502
62503         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
62504
62505         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
62506
62507         * lib/modechange.c (mode_compile): Reject an invalid mode string
62508         that starts with an octal digit.  From Andreas Gruenbacher.
62509
62510         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
62511         and dup to open_safer and dup_safer, respectively.
62512         (openat_permissive): Fix typo in comment.
62513
62514         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
62515         "gettext.h"; either no longer needed or are guaranteed by openat.h.
62516         (_): Remove; no longer needed.
62517         (openat): Renamed from rpl_openat; no need for rpl_openat
62518         since openat.h renames openat for us.
62519         Replace most of the body with a call to openat_permissive,
62520         to avoid duplicate code.
62521         Port to (probably hypothetical) environments were mode_t is
62522         wider than int.
62523         (openat_permissive): Require mode arg, so that we can check
62524         types better.  Put it just after flags.  Change cwd failure
62525         indicator from pointer-to-bool to pointer-to-errno-value.
62526         All callers changed.
62527         Invoke openat_save_fail and/or openat_restore_fail if
62528         cwd_errno is null, so that openat can call us.
62529         (openat_permissive, fdopendir, fstatat, unlinkat):
62530         Simplify errno handling to avoid some duplicate code,
62531         as it's OK to set errno on success.
62532         * lib/openat.h: Revamp code so that function macros depend on
62533         __OPENAT_PREFIX only, not also on AT_FDCWD.
62534         (openat_ro): Remove.  Caller changed to use openat_permissive.
62535         (openat_permissive): Now a macro, if not a function.
62536         (openat_restore_fail, openat_save_fail): Now always functions,
62537         since mkdirat needs them even if __OPENAT_PREFIX is defined.
62538
62539         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
62540         and openat.c.
62541         * lib/mkdirat.c: Include openat-priv.h.
62542         Remove definitions of macros defined therein.
62543         * lib/openat.c: Likewise.
62544
62545         * lib/mkdirat.c (mkdirat): New file and function.
62546         * lib/openat.h (mkdirat): Declare.
62547
62548         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
62549
62550         * lib/openat.h (openat_permissive): Declare.
62551         (openat_ro): Define.
62552
62553         * lib/openat.c (EXPECTED_ERRNO): New macro.
62554         (openat_permissive): New function -- used in remove.c rewrite.
62555         (all functions): Set errno just before returning, only if there
62556         was an actual failure.
62557         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
62558
62559         Emulate openat-family functions using Linux's procfs, if possible.
62560         Idea and some code based on Ulrich Drepper's glibc changes.
62561
62562         * lib/openat.c: (BUILD_PROC_NAME): New macro.
62563         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
62564         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
62565         before falling back on save_cwd and restore_cwd.
62566         (fdopendir, fstatat, unlinkat): Likewise.
62567
62568         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
62569         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
62570
62571         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
62572         as second argument to va_arg.  Otherwise, some versions of gcc
62573         warn that `if this code is reached, the program will abort'.
62574
62575 2006-01-09  Jim Meyering  <jim@meyering.net>
62576
62577         Sync from coreutils.
62578         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
62579         Require openat-priv.h.
62580
62581 2006-01-09  Bruno Haible  <bruno@clisp.org>
62582
62583         * modules/strnlen (Include): Use strnlen.h.
62584
62585 2006-01-09  Bruno Haible  <bruno@clisp.org>
62586
62587         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
62588
62589 2006-01-09  Bruno Haible  <bruno@clisp.org>
62590
62591         * lib/sysexit_.h (EX_OK): New macro.
62592         Suggested by Martin Lambers <marlam@marlam.de>.
62593
62594 2006-01-09  Bruno Haible  <bruno@clisp.org>
62595
62596         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
62597         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
62598
62599 2006-01-09  Bruno Haible  <bruno@clisp.org>
62600
62601         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
62602         numbers.
62603
62604 2006-01-09  Bruno Haible  <bruno@clisp.org>
62605
62606         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
62607         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
62608         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
62609         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
62610
62611 2006-01-09  Bruno Haible  <bruno@clisp.org>
62612
62613         * build-aux/javacomp.sh.in: New file, moved from lib/.
62614         * modules/javacomp-script (Files): Update.
62615         (configure.ac): Add AC_CONFIG_FILES invocation.
62616         (EXTRA_DIST): Remove variable.
62617
62618         * build-aux/javaexec.sh.in: New file, moved from lib/.
62619         * modules/javaexec (Files): Update.
62620         (configure.ac): Add AC_CONFIG_FILES invocation.
62621         (EXTRA_DIST): Remove javaexec.sh.in.
62622
62623         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
62624         * modules/csharpcomp-script (Files): Update.
62625         (configure.ac): Add AC_CONFIG_FILES invocation.
62626         (EXTRA_DIST): Remove variable.
62627
62628         * build-aux/csharpexec.sh.in: New file, moved from lib/.
62629         * modules/csharpexec (Files): Update.
62630         (configure.ac): Add AC_CONFIG_FILES invocation.
62631         (EXTRA_DIST): Remove csharpexec.sh.in.
62632
62633 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
62634
62635         Sync from coreutils.
62636
62637         Add POSIX ACL support
62638         * lib/acl.h (copy_acl, set_acl): Add declarations.
62639         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
62640         systems other than Linux.
62641         (chmod_or_fchmod): New function: use fchmod when possible,
62642         and chmod otherwise.
62643         (file_has_acl): Add a POSIX ACL implementation, with a
62644         Linux-specific subcase.
62645         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
62646         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
62647         acls are unsupported.
62648         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
62649         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
62650         are unsupported.
62651
62652 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
62653
62654         Sync from coreutils.
62655         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
62656
62657 2006-01-07  Bruno Haible  <bruno@clisp.org>
62658
62659         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
62660         gl_EARLY.
62661
62662 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
62663
62664         * lib/strftime.c (tzname): Don't declare if it is already #defined.
62665         Problem reported for Mingw by Mark Junker.
62666
62667 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
62668
62669         * README: Gnulib normally doesn't generate a tarball.
62670
62671 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
62672
62673         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
62674         long int, not int, for nanosecond counts, so that people who are
62675         used to POSIX struct timespec won't be surprised.  Reported by Jim
62676         Meyering.
62677
62678 2005-12-28  Bruno Haible  <bruno@clisp.org>
62679
62680         * build-aux/config.rpath: Update from GNU gettext.
62681
62682 2005-12-16  Jim Meyering  <jim@meyering.net>
62683
62684         * modules/fprintftime: New module.
62685         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
62686
62687 2005-12-16  Jim Meyering  <jim@meyering.net>
62688
62689         * m4/fprintftime.m4: New file.
62690
62691 2005-12-16  Jim Meyering  <jim@meyering.net>
62692
62693         * lib/fprintftime.c, lib/fprintftime.h: New files.
62694
62695 2005-12-15  Simon Josefsson  <jas@extundo.com>
62696
62697         * modules/socklen (configure.ac): Fix M4 macro name, to align with
62698         new m4/socklen.m4.
62699
62700 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
62701
62702         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
62703         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
62704
62705 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
62706
62707         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
62708         * lib/argp-help.c (fill_in_uparams): Check if the constructed
62709         struct uparams is valid. Fall back to the default values if it is
62710         not.
62711
62712 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
62713
62714         * modules/argp (Files): Add argp-pin.c
62715         (Depends-on): dirname
62716         (lib_SOURCES): Add argp-pin.c
62717
62718 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
62719
62720         * m4/argp.m4:  Check if program_invocation_name and
62721         program_invocation_short_name are declared and define appropriate
62722         macros if they are not.
62723
62724 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
62725
62726         * lib/argp-help.c (__argp_base_name): New function
62727         (__argp_short_program_name): Rewrite using __argp_base_name
62728         * lib/argp-namefrob.h: Define program_invocation_name and
62729         program_invocation_short_name if requested
62730         (__argp_base_name): Add prototype
62731         * lib/argp-parse.c (argp_def): Use gettext wrappers
62732         (argp_default_parser): Use __argp_base_name
62733         * lib/argp-pin.c: New file. Defines program_invocation_name and
62734         program_invocation_short_name on systems that lack them.
62735
62736 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
62737
62738         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
62739         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
62740         porting problem reported by Georg Schwarz in
62741         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
62742
62743 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
62744
62745         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
62746         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
62747         porting problem reported by Georg Schwarz in
62748         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
62749
62750 2005-12-05  Bruno Haible  <bruno@clisp.org>
62751
62752         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
62753         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
62754         Reported by Mark Junker <mjscod@gmx.de>.
62755
62756 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
62757
62758         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
62759         Use implementation from Albert Chin, with some
62760         comments/corrections by Stepan Kasal and myself.
62761
62762 2005-12-02  Bruno Haible  <bruno@clisp.org>
62763
62764         * gnulib-tool (func_import): Accept GPLed build tool modules when
62765         --lgpl is given.
62766         * modules/csharpcomp-script: New file.
62767         * modules/csharpcomp: Depend on it.
62768         * modules/javacomp-script: New file.
62769         * modules/javacomp: Depend on it.
62770         Suggested by Simon Josefsson.
62771
62772 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
62773
62774         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
62775         statement, to work around an HP-UX 10.20 compiler bug reported by
62776         Peter O'Gorman.
62777
62778 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
62779
62780         * modules/savedir (Depends-on): Add openat.
62781
62782 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
62783
62784         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
62785         (uintmax_t) [defined uintmax_t]: Do not declare.
62786         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
62787         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
62788         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
62789         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
62790         sake of portability to weird hosts that C allows (though we don't
62791         know of any practical examples).
62792
62793         * lib/savedir.h (fdsavedir): New decl.
62794         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
62795         contains most of the former guts of savedir.
62796         (savedir): Use savedirstream.
62797         Include "openat.h".
62798
62799 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
62800
62801         * modules/obstack (Files): Add m4/ulonglong.m4.
62802         Problem reported by Davide Angelocola.
62803
62804 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
62805
62806         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
62807         coreutils no longer futzes with rounding modes.
62808
62809 2005-11-14  Jim Meyering  <jim@meyering.net>
62810
62811         * lib/mkstemp-safer.c: Include <config.h>, required for possible
62812         replacement of mkstemp.
62813
62814 2005-11-10  Simon Josefsson  <jas@extundo.com>
62815
62816         * lib/readline.c: Remove EOL.
62817
62818 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
62819
62820         * modules/gethrxtime (Depends-on): Add gettime.
62821
62822 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
62823
62824         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
62825         or gettimeofday; no longer needed.
62826
62827 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
62828
62829         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
62830         time business.
62831         (gethrxtime) [! (HAVE_NANOUPTIME
62832         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
62833         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
62834         our own approximation.
62835
62836 2005-11-08  Eric Blake  <ebb9@byu.net>
62837
62838         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
62839
62840 2005-11-08  Eric Blake  <ebb9@byu.net>
62841
62842         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
62843
62844 2005-11-04  Bruno Haible  <bruno@clisp.org>
62845
62846         * gnulib-tool: Implement --update mode.
62847
62848 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
62849
62850         Fix porting problem reported by Theodoros V. Kalamatianos.
62851         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
62852         Don't assume that futimes failing means we must fail.
62853
62854 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
62855
62856         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
62857         variables to suggest the intended function of the PATH_MAX check.
62858
62859 2005-10-30  Kean Johnston  <jkj@sco.com>
62860
62861         Trivial changes to support SCO systems.
62862         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
62863         as PATH_MAX.
62864         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
62865         where __ptr is null when no I/O is pending.
62866
62867 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
62868
62869         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
62870         leave errno alone.  Problem reported by Dmitry V. Levin.
62871
62872 2005-10-28  Simon Josefsson  <jas@extundo.com>
62873
62874         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
62875         Test more.
62876
62877         * tests/test-gc-md2.c, tests/test-md2.c: New files.
62878
62879         * modules/md2, modules/md2-tests: New files.
62880
62881 2005-10-28  Simon Josefsson  <jas@extundo.com>
62882
62883         * m4/inet_ntop.m4: More tests.
62884
62885         * m4/gc-md2.m4, md2.m4: New file.
62886
62887 2005-10-28  Simon Josefsson  <jas@extundo.com>
62888
62889         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
62890         "restrict" keywords, as per POSIX.  Protect the function
62891         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
62892         Don't use K&R prototypes.  Check the sprintf return values.
62893         Re-define EAFNOSUPPORT if not present.  Indent.
62894
62895         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
62896         suggested by Bruno Haible <bruno@clisp.org>.
62897
62898         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
62899
62900         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
62901
62902         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
62903         libgcrypt).
62904
62905         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
62906
62907         * lib/md2.h, lib/md2.c: New files.
62908
62909 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
62910
62911         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
62912         errno alone.  Problem reported by Frederic Jolliton.
62913
62914 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
62915
62916         * modules/verify (License): Change from GPL to LGPL.  This is a
62917         tiny module and there are apparently near-equivalents that are
62918         under the BSD license.
62919
62920 2005-10-24  Simon Josefsson  <jas@extundo.com>
62921
62922         * modules/sha1: Relicense to LGPL.
62923
62924 2005-10-24  Simon Josefsson  <jas@extundo.com>
62925
62926         * lib/md4.h: Shrink buffer size, now that we changed the type.
62927
62928 2005-10-23  Simon Josefsson  <jas@extundo.com>
62929
62930         * gnulib-tool (func_import): Fix --tests-base.
62931
62932 2005-10-22  Simon Josefsson  <jas@extundo.com>
62933
62934         * modules/arcfour (Depends-on): Need stdint.
62935
62936 2005-10-22  Simon Josefsson  <jas@extundo.com>
62937
62938         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
62939         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
62940
62941 2005-10-22  Simon Josefsson  <jas@extundo.com>
62942
62943         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
62944         suggested by Bruno Haible <bruno@clisp.org>.
62945
62946 2005-10-22  Simon Josefsson  <jas@extundo.com>
62947
62948         * lib/crc.h: Include stddef.h, for size_t.
62949
62950 2005-10-22  Simon Josefsson  <jas@extundo.com>
62951
62952         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
62953         arcfour_context struct (simplify test vector testing in GNU
62954         Shishi).
62955
62956 2005-10-21  Simon Josefsson  <jas@extundo.com>
62957
62958         * modules/des, modules/des-tests: New files.
62959
62960         * modules/gc-des, modules/gc-des-tests: New files.
62961
62962         * tests/test-des.c, tests/test-gc-des.c: New file.
62963
62964 2005-10-21  Simon Josefsson  <jas@extundo.com>
62965
62966         * modules/arctwo, modules/arctwo-tests: New files.
62967
62968         * tests/test-arctwo.c: New file.
62969
62970         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
62971
62972         * tests/test-gc-arctwo.c: New file.
62973
62974 2005-10-21  Simon Josefsson  <jas@extundo.com>
62975
62976         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
62977         Bruno Haible <bruno@clisp.org>.
62978
62979         * m4/gc-des.m4: New file.
62980
62981 2005-10-21  Simon Josefsson  <jas@extundo.com>
62982
62983         * m4/arctwo.m4: New file.
62984
62985         * m4/gc-arctwo.m4: New file.
62986
62987 2005-10-21  Simon Josefsson  <jas@extundo.com>
62988
62989         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
62990         block.
62991
62992 2005-10-21  Simon Josefsson  <jas@extundo.com>
62993
62994         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
62995         <bruno@clisp.org>.
62996
62997         * lib/hmac-sha1.c (hmac_sha1): Likewise.
62998
62999         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
63000         Bruno Haible <bruno@clisp.org>.
63001
63002         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
63003         <bruno@clisp.org>.
63004
63005 2005-10-21  Simon Josefsson  <jas@extundo.com>
63006
63007         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
63008
63009 2005-10-21  Simon Josefsson  <jas@extundo.com>
63010
63011         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
63012
63013 2005-10-21  Simon Josefsson  <jas@extundo.com>
63014
63015         * lib/des.h, lib/des.c: New files.
63016
63017         * lib/gc-gnulib.c: Support DES.c
63018
63019 2005-10-21  Simon Josefsson  <jas@extundo.com>
63020
63021         * lib/arctwo.h, lib/arctwo.c: New files.
63022
63023         * lib/gc-gnulib.c: Support ARCTWO.
63024
63025 2005-10-21  Simon Josefsson  <jas@extundo.com>
63026
63027         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
63028         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
63029
63030 2005-10-21  Simon Josefsson  <jas@extundo.com>
63031
63032         * gnulib-tool (func_import, func_create_testdir): Define automake
63033         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
63034         Makefile.am snippet),
63035         suggested by Bruno Haible <bruno@clisp.org>.
63036
63037         * modules/gc (Makefile.am): Use it.
63038
63039 2005-10-21  Bruno Haible  <bruno@clisp.org>
63040
63041         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
63042         patch.
63043
63044 2005-10-19  Simon Josefsson  <jas@extundo.com>
63045
63046         * tests/test-gc-rijndael.c: New file.
63047
63048         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
63049
63050 2005-10-19  Simon Josefsson  <jas@extundo.com>
63051
63052         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
63053         interface too.
63054
63055 2005-10-19  Simon Josefsson  <jas@extundo.com>
63056
63057         * tests/test-gc-arcfour.c: New file.
63058
63059         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
63060
63061 2005-10-19  Simon Josefsson  <jas@extundo.com>
63062
63063         * modules/gc-md4, modules/gc-md4-tests: New file.
63064
63065         * tests/test-gc-md4.c: New file.
63066
63067 2005-10-19  Simon Josefsson  <jas@extundo.com>
63068
63069         * m4/gc-md4.m4: New file.
63070
63071 2005-10-19  Simon Josefsson  <jas@extundo.com>
63072
63073         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
63074         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
63075         <kasal@ucw.cz>.
63076
63077 2005-10-19  Simon Josefsson  <jas@extundo.com>
63078
63079         * m4/gc-arcfour.m4: New file.
63080
63081         * m4/gc-rijndael.m4: New file.
63082
63083 2005-10-19  Simon Josefsson  <jas@extundo.com>
63084
63085         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
63086
63087 2005-10-19  Simon Josefsson  <jas@extundo.com>
63088
63089         * lib/gc-gnulib.c: Support ARCFOUR.
63090
63091 2005-10-19  Simon Josefsson  <jas@extundo.com>
63092
63093         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
63094         support.
63095
63096         * lib/gc.h: Add ECB enum type.
63097
63098         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
63099
63100 2005-10-18  Simon Josefsson  <jas@extundo.com>
63101
63102         * tests/test-md5.c: New file.
63103
63104         * modules/md5-tests: New file.
63105
63106 2005-10-18  Simon Josefsson  <jas@extundo.com>
63107
63108         * tests/test-md4.c: New file.
63109
63110         * modules/md4, modules/md4-tests: New files.
63111
63112 2005-10-18  Simon Josefsson  <jas@extundo.com>
63113
63114         * m4/md4.m4: New file.
63115
63116 2005-10-18  Simon Josefsson  <jas@extundo.com>
63117
63118         * lib/md4.h, lib/md4.c: New files, based on md5.?.
63119
63120 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
63121
63122         * gnulib-tool (func_create_testdir): Omit the second check whether
63123         BUILT_SOURCES in nonempty.
63124
63125 2005-10-17  Simon Josefsson  <jas@extundo.com>
63126
63127         * tests/test-rijndael.c: New file.
63128
63129 2005-10-17  Simon Josefsson  <jas@extundo.com>
63130
63131         * modules/sha1: Depend on stdint instead of md5.
63132
63133         * modules/md5: Depend on stdint, remove uint32_t.
63134
63135 2005-10-17  Simon Josefsson  <jas@extundo.com>
63136
63137         * modules/gc-sha1-tests: New file.
63138
63139         * tests/test-gc-sha1.c: New file.
63140
63141 2005-10-17  Simon Josefsson  <jas@extundo.com>
63142
63143         * m4/md5.m4: Remove call to uint32_t.m4.
63144
63145 2005-10-17  Simon Josefsson  <jas@extundo.com>
63146
63147         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
63148
63149         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
63150         md5.h.
63151
63152         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
63153
63154         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
63155
63156 2005-10-17  Simon Josefsson  <jas@extundo.com>
63157
63158         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
63159
63160 2005-10-17  Simon Josefsson  <jas@extundo.com>
63161
63162         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
63163
63164 2005-10-17  Simon Josefsson  <jas@extundo.com>
63165
63166         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
63167
63168         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
63169
63170 2005-10-17  Bruno Haible  <bruno@clisp.org>
63171
63172         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
63173         that it can also be used in a test.
63174
63175 2005-10-16  Bruno Haible  <bruno@clisp.org>
63176
63177         * gnulib-tool (func_emit_tests_Makefile_am): Also define
63178         TESTS_ENVIRONMENT, so that individual tests can augment it.
63179
63180         * gnulib-tool (func_create_testdir): Use an intermediate target for
63181         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
63182         macros, like $(ALLOCA_H), which cannot be passed through the command
63183         line.
63184
63185 2005-10-15  Simon Josefsson  <jas@extundo.com>
63186
63187         * modules/rijndael-tests: New file.
63188
63189         * modules/rijndael: New file.
63190
63191 2005-10-15  Simon Josefsson  <jas@extundo.com>
63192
63193         * m4/rijndael.m4: New file.
63194
63195 2005-10-15  Simon Josefsson  <jas@extundo.com>
63196
63197         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
63198
63199         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
63200
63201 2005-10-14  Simon Josefsson  <jas@extundo.com>
63202
63203         * tests/test-arcfour.c: New file.
63204
63205         * modules/arcfour, modules/arcfour-tests: New files.
63206
63207 2005-10-14  Simon Josefsson  <jas@extundo.com>
63208
63209         * m4/arcfour.m4: New file.
63210
63211 2005-10-14  Simon Josefsson  <jas@extundo.com>
63212
63213         * lib/arcfour.h, lib/arcfour.c: New files.
63214
63215 2005-10-14  Roland McGrath  <roland@redhat.com>
63216
63217         Import from libc.  [BZ #1331]
63218         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
63219         macro argument.
63220         Reported by Matej Vela <vela@debian.org>.
63221
63222 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
63223
63224         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
63225         include <wchar.h>; no longer needed.
63226
63227 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
63228
63229         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
63230
63231 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
63232         and  Ulrich Drepper  <drepper@redhat.com>
63233
63234         Import from libc.
63235         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
63236         instead of inline stream orientation test and two separate
63237         function calls.  Pay no attention to USE_IN_LIBIO.
63238
63239 2005-10-13  Simon Josefsson  <jas@extundo.com>
63240
63241         * modules/gc-hmac-md5-tests: New file.
63242
63243         * tests/test-gc-hmac-sha1.c: New file.
63244
63245         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
63246
63247         * modules/gc-hmac-md5-tests: New file.
63248
63249         * tests/test-gc-md5.c: New file.
63250
63251         * modules/gc-md5-tests: New file.
63252
63253 2005-10-13  Simon Josefsson  <jas@extundo.com>
63254
63255         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
63256         Move memory allocation outside of loop.
63257
63258 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
63259
63260         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
63261         intermediate directory is in a read-only file system.  Problem
63262         reported by Eric Blake.
63263
63264 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
63265
63266         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
63267
63268 2005-10-12  Simon Josefsson  <jas@extundo.com>
63269
63270         * tests/test-hmac-sha1.c: New file.
63271
63272         * modules/hmac-sha1-tests: New file.
63273
63274         * modules/hmac-sha1: New file.
63275
63276 2005-10-12  Simon Josefsson  <jas@extundo.com>
63277
63278         * modules/gc-sha1: New file.
63279
63280 2005-10-12  Simon Josefsson  <jas@extundo.com>
63281
63282         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
63283
63284         * tests/test-gc-pbkdf2-sha1.c: New file.
63285
63286 2005-10-12  Simon Josefsson  <jas@extundo.com>
63287
63288         * modules/gc-md5, modules/gc-hmac-md5: New files.
63289
63290         * modules/gc (Files): Remove md5, memxor and hmac files.
63291
63292 2005-10-12  Simon Josefsson  <jas@extundo.com>
63293
63294         * m4/gc-pbkdf2-sha1.m4: New file.
63295
63296         * m4/gc-hmac-sha1.m4: New file.
63297
63298         * m4/gc-sha1: New file.
63299
63300         * m4/hmac-sha1.m4: New file.
63301
63302 2005-10-12  Simon Josefsson  <jas@extundo.com>
63303
63304         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
63305
63306         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
63307
63308 2005-10-12  Simon Josefsson  <jas@extundo.com>
63309
63310         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
63311         suggested by Bruno Haible <bruno@clisp.org>.
63312
63313 2005-10-12  Simon Josefsson  <jas@extundo.com>
63314
63315         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
63316
63317 2005-10-12  Simon Josefsson  <jas@extundo.com>
63318
63319         * lib/gc-pbkdf2-sha1.c: New file.
63320
63321         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
63322
63323 2005-10-12  Simon Josefsson  <jas@extundo.com>
63324
63325         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
63326
63327         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
63328
63329 2005-10-12  Simon Josefsson  <jas@extundo.com>
63330
63331         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
63332         GC_USE_HMAC_MD5, respectively.
63333
63334         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
63335         (gc_md5): Fix typo.
63336
63337         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
63338
63339         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
63340
63341         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
63342
63343 2005-10-12  Bruno Haible  <bruno@clisp.org>
63344
63345         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
63346         Reported by Stepan Kasal <kasal@ucw.cz>.
63347
63348 2005-10-11  Simon Josefsson  <jas@extundo.com>
63349
63350         * tests/test-crc.c: New file.
63351
63352         * modules/crc, modules/crc-tests: New files.
63353
63354 2005-10-11  Simon Josefsson  <jas@extundo.com>
63355
63356         * m4/crc.m4: New file.
63357
63358 2005-10-11  Simon Josefsson  <jas@extundo.com>
63359
63360         * lib/gc.h: Add gc_hash and gc_hash_buffer.
63361
63362         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
63363
63364         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
63365
63366 2005-10-11  Simon Josefsson  <jas@extundo.com>
63367
63368         * lib/crc.h, lib/crc.c: New files.
63369
63370         * lib/gc.h (gc_hash_buffer): Add doc.
63371
63372 2005-10-11  Bruno Haible  <bruno@clisp.org>
63373
63374         * modules/c-strcasestr: New file.
63375         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
63376
63377 2005-10-11  Bruno Haible  <bruno@clisp.org>
63378
63379         * modules/c-strcase: New file.
63380         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
63381
63382 2005-10-11  Bruno Haible  <bruno@clisp.org>
63383
63384         * lib/strcasecmp.c: Include limits.h.
63385         (strcasecmp): Avoid integer overflow on exotic platforms.
63386         * lib/strncasecmp.c: Include limits.h.
63387         (strncasecmp): Avoid integer overflow on exotic platforms.
63388         Reported by Paul Eggert.
63389
63390 2005-10-11  Bruno Haible  <bruno@clisp.org>
63391
63392         * lib/c-strcasestr.h: New file, from GNU gettext.
63393         * lib/c-strcasestr.c: New file, from GNU gettext.
63394
63395 2005-10-11  Bruno Haible  <bruno@clisp.org>
63396
63397         * lib/c-strcase.h: New file, from GNU gettext.
63398         * lib/c-strcasecmp.c: New file, from GNU gettext.
63399         * lib/c-strncasecmp.c: New file, from GNU gettext.
63400
63401 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
63402
63403         * modules/mempcpy (License): GPL -> LGPL.
63404         * modules/strchrnul (License): Likewise.
63405         * modules/sysexits (License): Likewise.
63406
63407 2005-10-08  Simon Josefsson  <jas@extundo.com>
63408
63409         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
63410
63411 2005-10-07  Simon Josefsson  <jas@extundo.com>
63412
63413         * m4/memxor.m4: Remove gl_C_RESTRICT call.
63414
63415 2005-10-06  Simon Josefsson  <jas@extundo.com>
63416
63417         * tests/test-hmac-md5.c: New file.
63418
63419         * modules/hmac-md5-tests: New file.
63420
63421         * modules/hmac-md5: New file.
63422
63423 2005-10-06  Simon Josefsson  <jas@extundo.com>
63424
63425         * m4/hmac-md5.m4: New file.
63426
63427         * m4/memxor.m4: Require gl_C_RESTRICT.
63428
63429 2005-10-06  Simon Josefsson  <jas@extundo.com>
63430
63431         * lib/memxor.c (memxor): Avoid casts and warnings.
63432
63433 2005-10-06  Simon Josefsson  <jas@extundo.com>
63434
63435         * lib/hmac-md5.c: New file.
63436
63437         * lib/hmac.h: New file.
63438
63439 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
63440
63441         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
63442         promotes to int, not unsigned int, to catch the AIX 5.3
63443         compiler bug.
63444
63445 2005-10-05  Simon Josefsson  <jas@extundo.com>
63446
63447         * modules/memxor: New file.
63448
63449         * modules/iconv (Files): Move config.rpath to havelib, it is used
63450         there.
63451
63452         * modules/havelib (Files): Add config.rpath.
63453
63454 2005-10-05  Simon Josefsson  <jas@extundo.com>
63455
63456         * m4/memxor.m4: New file.
63457
63458 2005-10-05  Simon Josefsson  <jas@extundo.com>
63459
63460         * lib/memxor.c (memxor): Fix compiler error.
63461
63462         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
63463         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
63464
63465         * lib/memxor.h, lib/memxor.c: New files.
63466
63467         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
63468         we assume all systems have it, suggested by Jim Meyering
63469         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
63470         any systems lack sys/socket.h; mingw32 is known to lack it, but we
63471         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
63472         same reasons.
63473
63474 2005-10-05  Simon Josefsson  <jas@extundo.com>
63475
63476         * config/srclist.txt: Add glibc bug 1423 for md5.h.
63477
63478 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
63479
63480         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
63481         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
63482         needed, since the source code now assumes these .h files.
63483
63484 2005-10-05  Derek Price  <derek@ximbiot.com>
63485
63486         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
63487
63488 2005-10-05  Bruno Haible  <bruno@clisp.org>
63489
63490         * modules/stdint (License): Change to LGPL.
63491
63492 2005-10-04  Simon Josefsson  <jas@extundo.com>
63493
63494         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
63495         D. Baushke" <mdb@gnu.org>.
63496
63497 2005-10-04  Bruno Haible  <bruno@clisp.org>
63498
63499         * lib/verify.h (verify_true): Provide alternative definition for C++.
63500
63501 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
63502
63503         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
63504         (SSIZE_MAX): New macro, if not already defined.
63505         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
63506         than 2 GiB.
63507
63508 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
63509
63510         Sync from coreutils.
63511         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
63512         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
63513         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
63514         ULLONG_MAX doesn't work with 2.7.2.1.
63515
63516 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
63517
63518         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
63519         From Ben Pfaff.
63520
63521         * modules/exclude (Depends-on): Depend on verify.
63522         * modules/strtoimax (Depends-on): Likewise.
63523         * modules/utimecmp (Depends-on): Likewise.
63524
63525 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
63526
63527         * lib/exclude.c: Include verify.h.
63528         (verify): Remove.  All callers changed to use verify.h's version.
63529         * lib/strtoimax.c: Likewise.
63530         * lib/utimecmp.c: Likewis.e
63531
63532         Sync from coreutils.
63533         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
63534         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
63535         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
63536         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
63537         bother returning ENOSYS if settimeofday or stime fails; just let
63538         them return whatever errno they want to return.
63539         * lib/utimens.c: Include unistd.h, for dup2.
63540         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
63541         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
63542
63543 2005-10-02  Jim Meyering  <jim@meyering.net>
63544
63545         Sync from coreutils.
63546         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
63547         from glibc-2.2.5 that fails for read-only files.
63548
63549 2005-10-02  Jim Meyering  <jim@meyering.net>
63550
63551         Sync from coreutils.
63552         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
63553         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
63554         `#if HAVE_CONFIG_H'.
63555         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
63556         Remove AT_FDCWD test.
63557         Do not consume the fd unless successful.
63558         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
63559         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
63560         block, so that we don't even try to compile it if settimeofday is
63561         available.  This works around a compilation failure on OSF1 V5.1,
63562         due to stime requiring a `long int*' while tv_sec is `int'.
63563
63564 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
63565
63566         Sync from coreutils.
63567         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
63568         against `yes', rather than just testing for nonempty.
63569
63570 2005-10-01  Simon Josefsson  <jas@extundo.com>
63571
63572         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
63573         and Darwin.
63574
63575         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
63576         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
63577         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
63578         freeaddrinfo and gai_strerror are declared by the POSIX headers.
63579         Check if struct addrinfo is declared.
63580
63581 2005-10-01  Simon Josefsson  <jas@extundo.com>
63582
63583         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
63584         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
63585         AI_* and EAI_* definitions.  Protect function declarations.
63586
63587 2005-10-01  Jim Meyering  <jim@meyering.net>
63588
63589         Sync from coreutils.
63590
63591         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
63592         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
63593         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
63594         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
63595         in the inet and nsl libraries.  Required on Solaris 5.7.
63596
63597 2005-10-01  Jim Meyering  <jim@meyering.net>
63598
63599         Sync from coreutils.
63600         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
63601         in the inet and nsl libraries.  Required on Solaris 5.7.
63602
63603 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
63604
63605         * lib/getdelim.c (getdelim): Remove unused variables.
63606
63607 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
63608
63609         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
63610         so that the code works even with ancient cpp.  Portability problem
63611         with GCC 2.7.2.1 reported by Thomas M.Ott.
63612
63613 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
63614
63615         * modules/regex (Depends-on): Add strcase.
63616
63617         * modules/gethostname (Licence): Change from GPL to LGPL, since
63618         gethostname.c is a trivial implementation of a standard library
63619         function.
63620         * modules/poll (License): Change from GPL to LGPL, since it's
63621         derived from LGPL code.
63622
63623 2005-09-27  Jim Meyering  <jim@meyering.net>
63624
63625         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
63626         HAVE_CONFIG_H.
63627
63628         * lib/intprops.h (signed_type_or_expr__): Define.
63629         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
63630         for unsigned types.
63631
63632 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
63633
63634         * lib/verify.h (verify_expr): Remove, replacing with:
63635         (verify_true): New macro that returns true instead of void.
63636         (verify_type__): Remove.
63637         (verify): Use verify_true rather than verify_type__.
63638
63639 2005-09-26  Bruno Haible  <bruno@clisp.org>
63640
63641         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
63642         is necessary.
63643         (lib_SOURCES): Remove mbchar.c.
63644         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
63645         (Files): Add m4/mbrtowc.m4.
63646         * modules/mbiter: Likewise.
63647         * modules/mbuiter: Likewise.
63648
63649 2005-09-26  Bruno Haible  <bruno@clisp.org>
63650
63651         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
63652         compile mbchar.c if they are not both present.
63653         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
63654         * m4/mbiter.m4 (gl_MBITER): Likewise.
63655         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
63656         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
63657         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
63658
63659 2005-09-25  Jim Meyering  <jim@meyering.net>
63660
63661         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
63662         also uses socklen_t.
63663
63664 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
63665
63666         * lib/utimens.c (ENOSYS): Define if not already defined.
63667         (futimens): Support having a null PATH if the file descriptor
63668         is nonnegative.
63669
63670         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
63671         Remove.
63672         (__attribute): Define to empty unless GCC 3.1 or later.
63673         This works around a core dump on OpenBSD 3.4, which has GCC
63674         2.95.3, which dumps core when given __attribute__(()).  It also
63675         simplifies other tests, since we really don't want to bother with
63676         worrying about which ancient version of GCC supported what.
63677         Original problem reported by Yoann Vandoorselaere, with part of
63678         the fix suggested by Derek Price.
63679
63680 2005-09-24  Jim Meyering  <jim@meyering.net>
63681
63682         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
63683         so we can once again use a positive bitfield width of 1 -- now we
63684         don't have to explain why we were using a bitfield width of 2.
63685
63686 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
63687
63688         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
63689         and similarly for the other external symbols.  Problem reported
63690         by James Gallager.
63691
63692         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
63693         bug reported by Jim Meyering.
63694
63695         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
63696         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
63697         not needed, since socklen is a prerequisite module.
63698
63699 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
63700
63701         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
63702         Problem reported by Eric Blake.
63703         (getaddrinfo): Initialize se so that it's not garbage.
63704         Redo internal storage allocation so that it doesn't make unportable
63705         assumptions about alignment.
63706         Fix a memory leak.
63707
63708         * lib/utimens.c (futimens): Use futimesat if available.
63709         Prefer it to futimes since it doesn't have the futimes bug.
63710
63711         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
63712         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
63713         Instead, declare a function that returns a pointer to an array,
63714         and use verify_type__ to declare the size of the array.
63715         Problem and germ of a solution reported by Bruno Haible.
63716         (verify_type__): Use 2, not 1, for bitfield size, to avoid
63717         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
63718
63719 2005-09-23  Jim Meyering  <jim@meyering.net>
63720
63721         Sync from coreutils.
63722         Correct build failure (socklen_t not defined) on at least
63723         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
63724         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
63725
63726 2005-09-23  Jim Meyering  <jim@meyering.net>
63727
63728         * modules/getaddrinfo (Depends-on): Add socklen.
63729
63730 2005-09-23  Bruno Haible  <bruno@clisp.org>
63731
63732         * tests/test-verify.c: New file.
63733
63734 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
63735
63736         Sync from coreutils.
63737
63738         * modules/argmatch (Depends-on): Add verify.
63739         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
63740         unistd-safer.
63741         * modules/save-cwd (Depends-on): Likewise.
63742
63743         * modules/openat (Files): Add lib/openat-die.c.
63744         (Depends-on): Remove error, exitfail.
63745         Add dirname.
63746
63747         * modules/verify: New file.
63748         * MODULES.html.sh (Diagnostics <assert.h>): New section,
63749         with "verify" module.
63750
63751 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
63752
63753         Sync from coreutils.
63754
63755         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
63756         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
63757         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
63758         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
63759         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
63760         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
63761         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
63762         Don't bother checking for string.h, stdlib.h, unistd.h.
63763         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
63764         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
63765         module's job.
63766         * m4/jm-macros.m4 (gl_MACROS): Likewise.
63767         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
63768
63769         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
63770         (gl_GETDATE): Use it.
63771
63772         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
63773
63774 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
63775
63776         Sync from coreutils.
63777
63778         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
63779         stat-time.h.
63780         * lib/argmatch.h: Include verify.h
63781         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
63782         (ARGMATCH_ASSERT): Remove; unused.
63783         * lib/canonicalize.c: Assume STDC_HEADERS.
63784         * lib/exclude.c: Include "strcase.h".
63785         * lib/regex_internal.h [!defined _LIBC]: Likewise.
63786         * lib/getusershell.c: Include stdio--.h rather than stdio.h
63787         and stdio-safer.h.
63788         (getusershell): Call fopen, not fopen_safer.
63789         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
63790         Do not include unistd-safer.h.
63791         (save_cwd): Don't call fd_safer; no longer needed
63792         now that we include fcntl--.h.
63793
63794         * lib/getdate.y (relative_time): New type.
63795         (RELATIVE_TIME_0): New constant.
63796         (parser_control): Use relative_time instead of doing it ourselves.
63797         (%union): Add new relative_time rel member.
63798         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
63799         Now typeless.
63800         (relunit, relunit_snumber): Now of type rel.
63801         (zone, rel, relunit, get_date): Adjust to above changes.
63802
63803         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
63804         Do not include unistd-safer.h.
63805         (getloadavg): Don't call fd_safer; no longer needed
63806         now that we include fcntl--.h.
63807
63808         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
63809         (make_dir_parents): Treat ENOSYS like EEXIST.
63810
63811         Improve quality of diagnostics on restore_cwd failure.
63812         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
63813         (make_dir_parents): Last arg is now int * (for errno), not bool *.
63814         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
63815         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
63816         each time through the loop.  Do not diagnose restore_cwd failure;
63817         that is the caller's job (and perhaps the caller does not care).
63818
63819         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
63820         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
63821         If the file already exists but is not a directory, don't bother
63822         to try to make its parents.
63823         Close potential file descriptor leak if we can't chdir("/") (!).
63824         Don't always return true if chdir($PWD) fails; return true only
63825         if the requested action was done successfully (except for the
63826         chdir($PWD)).
63827         Don't log final directory unless we actually made it.
63828         Refactor to avoid duplicate code to fix up permissions.
63829         Don't attempt to fix up parent permissions if chdir($PWD) fails.
63830
63831         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
63832         to make it a bit faster and (I hope) clearer.
63833         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
63834         Fix bug in formats like %2N.
63835
63836         * lib/verify.h: New file.
63837
63838 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
63839
63840         Sync from coreutils.
63841         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
63842
63843 2005-09-22  Jim Meyering  <jim@meyering.net>
63844
63845         Sync from coreutils.
63846
63847         * m4/lstat.m4 (gl_FUNC_LSTAT):
63848         Use AC_LIBSOURCES to require lstat.c and lstat.h.
63849         Remove obsolete comment.
63850         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
63851         * m4/xstrtod.m4: Likewise.
63852
63853         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
63854
63855 2005-09-22  Jim Meyering  <jim@meyering.net>
63856
63857         Sync from coreutils.
63858
63859         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
63860
63861         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
63862         the .tm_year member, since otherwise gcc-4.0 would now warn about
63863         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
63864
63865         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
63866         order to avoid an unsuppressible warning from gcc on 64-bit systems.
63867
63868         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
63869         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
63870         when run in a time zone for which daylight savings time is in effect
63871         for the starting date.
63872
63873         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
63874         stop us from restricting permissions of just-created absolute-named
63875         directories.
63876         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
63877         to restore initial working directory.
63878         * lib/mkdir-p.c (make_dir_parents): New parameter:
63879         different_working_dir, to tell caller if/when we change the working
63880         directory and are unable to return to the initial one.
63881         * lib/mkdir-p.h (make_dir_parents): Update prototype.
63882         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
63883         `return false'.  This fixes a bug introduced on 2004-07-30.
63884
63885         * lib/openat.c (fdopendir): Be sure to close the supplied
63886         file descriptor before returning.  This makes our replacement
63887         implementation a little closer to Solaris's, where fdopendir
63888         ties the file descriptor to the returned DIR* pointer.
63889         * lib/openat.c (unlinkat): New function.
63890         * lib/openat.h (unlinkat): Add prototype.
63891         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
63892         (openat_restore_fail): Rename from openat_restore_die.
63893         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
63894
63895         Provide an alternative to exiting immediately upon save_cwd or
63896         restore_cwd failure.  Now, an application can arrange e.g.,
63897         to perform a longjump in that case.
63898         * lib/openat.c: Include dirname.h.
63899         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
63900         (rpl_openat, fdopendir, fstatat): Call openat_save_die
63901         and openat_restore_die rather than calling error directly.
63902         Don't include "error.h" or "exitfail.h"; they're no longer needed.
63903
63904         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
63905         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
63906         define.
63907
63908         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
63909         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
63910                             int utc, int nanoseconds);
63911         Background:
63912         date should not have to allocate a megabyte of virtual memory to
63913         handle a format argument like +%1048575T.  When implemented with
63914         strftime, it must allocate such a buffer, use strftime to fill it
63915         in, print it, then free it.
63916         With fprintftime, it simply prints everything and exits.
63917         With no need for memory allocation, that's one fewer way to fail.
63918         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
63919         optional field width, not before, so we accept %9:z, not %:9z.
63920         (my_strftime): Be sure to use L_('x') for literals.
63921
63922         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
63923         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
63924         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
63925         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
63926         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
63927         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
63928         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
63929         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
63930         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
63931         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
63932         * lib/xgethostname.c, lib/xreadlink.c:
63933         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
63934
63935         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
63936         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
63937         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
63938         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
63939         and don't include <sys/file.h>).
63940
63941 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
63942
63943         Sync from coreutils.
63944
63945         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
63946         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
63947         [!LDAV_DONE]: Avoid unused variable warning.
63948
63949 2005-09-21  Bruno Haible  <bruno@clisp.org>
63950
63951         * lib/unicodeio.h (unicode_to_mb): New declaration.
63952
63953 2005-09-20  Derek Price  <derek@ximbiot.com>
63954
63955         * lib/getaddrinfo.c: Don't include <netdb.h> included from
63956         getaddrinfo.h.
63957
63958 2005-09-20  Bruno Haible  <bruno@clisp.org>
63959
63960         * gnulib-tool: Remove trailing slashes from the values specified for
63961         --source-base, --m4-base, --tests-base, --aux-dir.
63962         Suggested by Simon Josefsson <jas@extundo.com>.
63963
63964 2005-09-20  Bruno Haible  <bruno@clisp.org>
63965
63966         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
63967         func_modules_to_filelist, func_import, func_create_testdir): Make all
63968         sorting results locale-independent, so that gnulib-cache.m4 doesn't
63969         change when gnulib-tool is invoked in a different locale.
63970
63971 2005-09-19  Simon Josefsson  <jas@extundo.com>
63972
63973         * m4/socklen.m4: Fix typo.
63974
63975 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63976
63977         Use a consistent style for including <config.h>.
63978         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
63979         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
63980         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
63981         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
63982         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
63983         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
63984         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
63985         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
63986         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
63987         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
63988         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
63989         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
63990         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
63991         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
63992         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
63993         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
63994         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
63995         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
63996         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
63997         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
63998         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
63999         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
64000         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
64001         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
64002         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
64003         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
64004         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
64005         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
64006         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
64007         lib/xstrtoumax.c, lib/yesno.c:
64008         Standardize inclusion of config.h.
64009         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
64010         lib/inttostr.h:  Removed inclusion of config.h from header files.
64011         * lib/inttostr.c:  Adjusted in-tree users.
64012         * lib/timespec.h: Remove superfluous warning to include config.h.
64013         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
64014         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
64015         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
64016         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
64017         config.h with HAVE_CONFIG_H.
64018
64019 2005-09-19  Jim Meyering  <jim@meyering.net>
64020
64021         * modules/pathmax (License): Change to LGPL.
64022
64023 2005-09-19  Derek Price  <derek@ximbiot.com>
64024
64025         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
64026
64027 2005-09-19  Bruno Haible  <bruno@clisp.org>
64028
64029         * gnulib-tool (import): Provide default for --tests-base.
64030
64031 2005-09-19  Bruno Haible  <bruno@clisp.org>
64032
64033         * doc/quote.texi: New file, extracted from gnulib.texi.
64034         * doc/ctime.texi: New file, extracted from gnulib.texi.
64035         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
64036         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
64037         * doc/gnulib.texi: Include them.
64038
64039 2005-09-18  Bruno Haible  <bruno@clisp.org>
64040
64041         Portability fix.
64042         * gnulib-tool (func_readlink): New function.
64043         (func_ln_if_changed): Use it.
64044
64045 2005-09-18  Bruno Haible  <bruno@clisp.org>
64046
64047         * gnulib-tool: Support --with-tests also with --import.
64048         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
64049         (func_import): Use variables $testsbase and $inctests. Emit a
64050         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
64051         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
64052         SUBDIRS += $testsdir.
64053         (func_create_testdir): Update.
64054
64055 2005-09-18  Bruno Haible  <bruno@clisp.org>
64056
64057         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
64058         instead of $dry_run.
64059         (func_cp_if_changed, func_mv_if_changed): Remove functions.
64060         (func_ln_if_changed): Don't handle dry-run here.
64061         (func_import): In dry-run mode, detect more precisely which actions
64062         would be performed, and don't use "...ing" verbs.
64063
64064 2005-09-18  Bruno Haible  <bruno@clisp.org>
64065
64066         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
64067         (func_import): Use join on two temporary files instead of three nested
64068         loops, in order to determine which files are new or old.
64069
64070 2005-09-18  Bruno Haible  <bruno@clisp.org>
64071
64072         * gnulib-tool (func_import): Comment out code that spits out the
64073         new files with --dry-run.
64074
64075 2005-09-18  Bruno Haible  <bruno@clisp.org>
64076
64077         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
64078
64079 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
64080
64081         * lib/stat-time.h: New file.
64082         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
64083         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
64084         in a different way.
64085         (timespec_cmp): New function.
64086         * lib/utimecmp.c: Include stat-time.h.
64087         (SYSCALL_RESOLUTION): Depend on whether various struct stat
64088         members exist, not on the obsolescent ST_MTIM_NSEC.
64089         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
64090
64091 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
64092
64093         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
64094
64095 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
64096
64097         * MODULES.html.sh (File system functions): Add stat-time.
64098         * modules/stat-time: New file.
64099         * modules/timespec (Files): Remove m4/st_mtim.m4; this
64100         is now done in a different way, by the stat-time module.
64101         * modules/utimecmp (Depends-on): Add stat-time.
64102
64103 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
64104
64105         * m4/st_mtim.m4: Remove.  Superseded by...
64106         * m4/stat-time.m4: New file.
64107         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
64108         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
64109
64110 2005-09-15  Derek Price  <derek@ximbiot.com>
64111
64112         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
64113
64114 2005-09-15  Derek Price  <derek@ximbiot.com>
64115
64116         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
64117         * lib/regex_internal.c: Ditto, using this...
64118         (__GNUC_PREREQ): ...new macro.
64119         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
64120         using...
64121         (__GNUC_PREREQ): ...this new macro.
64122
64123         * lib/strstr.h: Include string.h. Define strstr as a macro here.
64124
64125 2005-09-15  Derek Price  <derek@ximbiot.com>
64126             Paul Eggert  <eggert@cs.ucla.edu>
64127
64128         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
64129         changes, consolidating in...
64130         * lib/regex_internal.h: ...this file.
64131
64132 2005-09-13  Jim Meyering  <jim@meyering.net>
64133
64134         * lib/canon-host.c: Filter through gnu indent and reword comments
64135         slightly.
64136         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
64137
64138 2005-09-13  Derek Price  <derek@ximbiot.com>
64139
64140         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
64141         failure.
64142         Reported by Jim Meyering  <jim@meyering.net>.
64143
64144 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
64145
64146         * lib/base64.c: Typo.
64147         (base64_encode): Put b64str in initialized data section.
64148
64149 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
64150
64151         Merge glibc and coreutils changes into gnulib, plus a few
64152         extra fixes.
64153         * lib/md5.c: Use #error rather than a string.
64154         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
64155         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
64156         (__attribute__): Define to empty for non recent-GCC.
64157         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
64158         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
64159         Renamed from their non-__ counterparts, with new macros replacing
64160         them if not _LIBC.  Add __THROW attribute.
64161         (rol): Remove.
64162         (struct md5_ctx): Align buffer if using GCC.
64163         * lib/sha1.h (struct sha1_ctx): Likewise.
64164         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
64165         The old name was backwards.
64166         (NOTSWAP): Remove; not used.
64167         (rol): New macro, moved here from md5.h.
64168         (sha1_process_block): Remove a FIXME that doesn't make sense.
64169
64170 2005-09-12  Derek Price  <derek@ximbiot.com>
64171
64172         Return usable errors from canon-host.
64173         * lib/canon-host.h: New file.
64174         * lib/canon-host.c (canon_host): Wrap...
64175         (canon_host_r): ...this new function, which now relies exclusively on
64176         getaddrinfo.
64177         (ch_strerror): New function.
64178         (last_cherror): New global.
64179         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
64180         interface.
64181         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
64182         void *.
64183         (freeaddrinfo): Free ai->ai_canonname when set.
64184
64185 2005-09-12  Derek Price  <derek@ximbiot.com>
64186
64187         Make canon-host require getaddrinfo.
64188         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
64189         AC_LIBSOURCE canon-host.h.  Call...
64190         (gl_PREREQ_CANON_HOST): ...this new function, which requires
64191         gl_GETADDRINFO.
64192         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
64193
64194 2005-09-12  Derek Price  <derek@ximbiot.com>
64195
64196         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
64197         LGPL.
64198         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
64199
64200 2005-09-12  Derek Price  <derek@ximbiot.com>
64201
64202         * lib/gai_strerror.c: Include config.h when available.  Include
64203         getaddrinfo.h before other headers to test interface.
64204         Reported by Larry Jones <lawrence.jones@ugs.com>.
64205
64206 2005-09-12  Derek Price  <derek@ximbiot.com>
64207             Paul Eggert  <eggert@cs.ucla.edu>
64208
64209         * modules/glob (Files): Add glob-libc.h.
64210
64211 2005-09-12  Derek Price  <derek@ximbiot.com>
64212             Paul Eggert  <eggert@cs.ucla.edu>
64213
64214         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
64215         glob_.h, glob-libc.h.
64216         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
64217
64218 2005-09-12  Derek Price  <derek@ximbiot.com>
64219             Paul Eggert  <eggert@cs.ucla.edu>
64220
64221         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
64222         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
64223         protecting things that should be done only in gnulib contexts.
64224         * lib/glob_.h: New file, containing only the glob things needed for
64225         gnulib.
64226         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
64227         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
64228         (glob, globfree, glob_pattern_p): Now defined simply in terms of
64229         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
64230         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
64231         and to respect the namespace rules better.
64232
64233 2005-09-08  Simon Josefsson  <jas@extundo.com>
64234
64235         * modules/socklen: New file.
64236
64237 2005-09-08  Simon Josefsson  <jas@extundo.com>
64238
64239         * m4/socklen.m4: New file.
64240
64241 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
64242
64243         * modules/utimens (Files): Add m4/utimbuf.m4, since
64244         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
64245         Reported by Sergey Poznyakoff.
64246
64247 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
64248
64249         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
64250         definitions, since that's the preferred style in glibc.
64251         Fix a minor spacing issue, and update copyright notice to match
64252         glibc's.
64253
64254 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
64255
64256         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
64257
64258 2005-09-06  Simon Josefsson  <jas@extundo.com>
64259
64260         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
64261         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
64262
64263 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
64264
64265         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
64266         warning.
64267
64268 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
64269
64270         * config/srclist.txt: Add glibc bug 1302.
64271
64272 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
64273
64274         Change bitset word type from unsigned int to unsigned long int,
64275         as this has better performance on typical 64-bit hosts.
64276         Port bitset code to hosts with unusual word sizes.
64277         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
64278         (build_collating_symbol):
64279         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
64280         argument is a bitset.  This is merely a style issue, but it makes
64281         it clearer that an entire array is expected.
64282         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
64283         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
64284         Port to the case where bitset_word is not the same as unsigned int.
64285         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
64286         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
64287         Likewise.
64288         * lib/regexec.c (check_dst_limits_calc_pos_1,
64289         check_subexp_matching_top):
64290         (build_trtable, group_nodes_into_DFAstates):
64291         Likewise.
64292         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
64293         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
64294         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
64295         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
64296         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
64297         * lib/regcomp.c (optimize_subexps, lower_subexp):
64298         Work even if bitset_word has holes in its bitwise representation.
64299         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
64300         * lib/regexec.c (check_dst_limits_calc_pos_1,
64301         check_subexp_matching_top):
64302         Likewise.
64303         * lib/regex_internal.c (re_string_reconstruct):
64304         Don't assume UCHAR_MAX == 255.
64305         * lib/regex_internal.h (bitset_set_all): Likewise.
64306         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
64307         All uses changed.
64308         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
64309         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
64310         All uses changed.
64311         (BITSET_WORD_MAX): New macro.
64312         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
64313         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
64314         (bitset_empty, bitset_copy):
64315         Prefer sizeof (bitset) to multiplying it out ourselves.
64316         (bitset_not_merge): Remove; unused.
64317         (bitset_contain): Return bool, not unsigned int with one bit on.
64318         All callers changed.
64319         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
64320         alignment than re_node_set; do this by defining a new internal
64321         type struct dests_alloc and using it to allocate memory.
64322
64323 2005-09-05  Bruno Haible  <bruno@clisp.org>
64324
64325         * gnulib-tool (func_import): Fix comparison in handling of symbolic
64326         links.
64327
64328 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
64329
64330         * modules/size_max (Makefile.am): Add size_max.h
64331
64332 2005-09-04  Derek Price  <derek@ximbiot.com>
64333
64334         * gnulib-tool (func_import): Fix reversed $symbolic logic.
64335
64336 2005-09-03  Simon Josefsson  <jas@extundo.com>
64337
64338         * gnulib-tool: Fix typo.
64339
64340 2005-09-03  Simon Josefsson  <jas@extundo.com>
64341
64342         * config/srclist.txt: Add glibc bug 1293.
64343
64344 2005-09-03  Derek Price  <derek@ximbiot.com>
64345
64346         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
64347         From Larry Jones <lawrence.jones@ugs.com>.
64348
64349 2005-09-02  Simon Josefsson  <jas@extundo.com>
64350
64351         * modules/socklen: New file.
64352
64353 2005-09-02  Simon Josefsson  <jas@extundo.com>
64354
64355         * modules/havelib: New module.
64356
64357         * modules/gettext, modules/iconv, modules/lock, modules/readline:
64358         Use havelib.
64359
64360 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
64361
64362         Check for arithmetic overflow when calculating sizes, to prevent
64363         some buffer-overflow issues.  These patches are conservative, in the
64364         sense that when I couldn't determine whether an overflow was possible,
64365         I inserted a run-time check.
64366         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
64367         macros.
64368         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
64369         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
64370         (re_xnrealloc, re_x2nrealloc): New inline functions.
64371         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
64372         parse_bracket_exp):
64373         (build_equiv_class, build_charclass): Check for arithmetic overflow
64374         in size expression calculations.
64375         * lib/regex_internal.c (re_string_realloc_buffers):
64376         (build_wcs_upper_buffer, re_node_set_add_intersect):
64377         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
64378         (re_dfa_add_node, register_state): Likewise.
64379         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
64380         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
64381         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
64382         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
64383
64384 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
64385
64386         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
64387         m4/ulonglong.m4.  Problem reported by Martin Lambers.
64388
64389 2005-09-02  Bruno Haible  <bruno@clisp.org>
64390
64391         Support for lib vs. lib64 distinction on biarch platforms.
64392         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
64393         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
64394         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
64395
64396 2005-09-02  Bruno Haible  <bruno@clisp.org>
64397
64398         * gnulib-tool (import): In the other first-use case, provide defaults
64399         as well.
64400
64401 2005-09-02  Bruno Haible  <bruno@clisp.org>
64402
64403         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
64404         patches not yet found in the latest gettext release.
64405
64406 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
64407
64408         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
64409         to avoid a collision with bits/local_lim.h in glibc.
64410         All uses changed.  Problem reported by Dmitry V. Levin in
64411         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
64412
64413         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
64414         bugs in int versus size_t comparisons.
64415         (re_string_context_at): Fix bug where the code assumed that
64416         Idx is signed.
64417
64418         Use bool where appropriate.
64419         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
64420         All callers changed.
64421         (calc_eclosure_iter): Likewise, for ROOT arg.
64422         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
64423         (build_charclass_op): Likewise, for NON_MATCH arg.
64424         * lib/regex_internal.c (re_string_allocate, re_string_construct):
64425         (re_string_construct_common): Likewise, for ICASE arg.
64426         * lib/regexec.c (re_search_2_stub, re_search_stub):
64427         Likewise, for RET_LEN arg.
64428         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
64429         (set_regs): Likewise, for FL_BACKTRACK arg.
64430         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
64431         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
64432         (calc_eclosure_iter, parse_bracket_exp):
64433         Use bool for internal variables that are booleans.
64434         * lib/regexec.c (re_search_internal, check_matching,
64435         proceed_next_node):
64436         (set_regs, build_sifted_states, sift_states_bkref):
64437         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
64438         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
64439         (find_collation_sequence_value):
64440         Likewise.
64441         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
64442         (re_node_set_compare):
64443         Return bool, not int. All callers changed.
64444         * lib/regexec.c (check_halt_node_context, check_dst_limits):
64445         (build_trtable, check_node_accept): Likewise.
64446         * lib/regex_internal.h: Include stdbool.h.
64447
64448         Fix bugs uncovered when converting to bool.
64449         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
64450         failure instead of charging ahead blindly.
64451         * lib/regex_internal.c (register_state): Likewise.
64452         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
64453         for freeing internal storage.
64454         (group_nodes_into_DFA_states): Use unsigned int, not int, for
64455         bitset pieces used as boolean, to avoid undefined behavior
64456         on hosts that do int overflow checking.
64457
64458 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
64459
64460         * config/srclist.txt: Add glibc bugs 1285-1287.
64461
64462 2005-09-01  Jim Meyering  <jim@meyering.net>
64463
64464         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
64465         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
64466         Require gl_STAT_MACROS, too.
64467
64468 2005-09-01  Bruno Haible  <bruno@clisp.org>
64469
64470         * gnulib-tool (import): In the first-use case, provide defaults.
64471
64472 2005-09-01  Bruno Haible  <bruno@clisp.org>
64473
64474         * gnulib-tool (func_import): Remove the .tmp files.
64475
64476 2005-09-01  Bruno Haible  <bruno@clisp.org>
64477
64478         * gnulib-tool (func_import): Fix handling of symbolic links.
64479
64480 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
64481
64482         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
64483         old glibc regex code mishandles strings longer than 2**31 bytes.
64484         This patch fixes this when the regex code is used in gnulib
64485         (i.e., outside glibc).
64486
64487         This patch should not affect the use of the regex code inside
64488         glibc.  No doubt this problem also needs to be handled for glibc
64489         as well, but the result will be an incompatible change to the
64490         glibc ABI, and the old ABI will have to be supported too.  That
64491         can be the the subject for another patch.
64492
64493         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
64494         governing whether the rest of this patch is active.  By default,
64495         the macro is disabled and the patch has no effect.
64496         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
64497         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
64498         (struct re_pattern_buffer, re_search, re_search_2, re_match):
64499         (re_match_2, re_set_registers): Use the new types.
64500         * lib/regex_internal.h (Idx, re_hashval_t): New types.
64501         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
64502         New macros.
64503         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
64504         (re_string_context_at, bin_tree_t, re_dfastate_t):
64505         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
64506         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
64507         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
64508         (re_string_char_size_at, re_string_wchar_at):
64509         (re_string_elem_size_at):
64510         Use the new types and macros to port to 64-bit hosts.
64511         Use unsigned types for internal values, so that the code
64512         mostly works even for arrays larger than SSIZE_MAX.
64513         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
64514         (search_duplicated_node, calc_eclosure_iter, fetch_number):
64515         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
64516         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
64517         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
64518         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
64519         (calc_inveclosure, parse_dup_op, build_range_exp):
64520         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
64521         (fetch_number, create_token_tree, mark_opt_subexp):
64522         Likewise.
64523         * lib/regex_internal.c (re_string_construct_common,
64524         create_ci_newstate):
64525         (create_cd_newstate, re_string_allocate, re_string_construct):
64526         (re_string_realloc_buffers, build_wcs_upper_buffer):
64527         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
64528         (re_string_reconstruct, re_string_peek_byte_case):
64529         (re_string_fetch_byte_case, re_string_context_at):
64530         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
64531         (re_node_set_init_copy, re_node_set_add_intersect):
64532         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
64533         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
64534         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
64535         (re_acquire_state, re_acquire_state_context, register_state):
64536         Likewise.
64537         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
64538         search_cur_bkref_entry):
64539         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
64540         (re_search_internal, re_search_2_stub, re_search_stub)
64541         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
64542         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
64543         (update_cur_sifted_state, check_dst_limits):
64544         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
64545         (check_subexp_limits, sift_states_bkref, merge_state_array):
64546         (check_subexp_matching_top, get_subexp, get_subexp_sub):
64547         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
64548         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
64549         (expand_bkref_cache, check_node_accept_bytes):
64550         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
64551         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
64552         (acquire_init_state_context, check_halt_node_context):
64553         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
64554         (sift_states_backward, clean_state_log_if_needed):
64555         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
64556         (find_recover_state, transit_state_sb, transit_state_mb):
64557         (transit_state_bkref, build_trtable, match_ctx_clean):
64558         Likewise.
64559         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
64560         to work around an assumption that REG_MISSING is negative.
64561
64562         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
64563         (seek_collating_symbol_entry) [defined _LIBC]:
64564         (lookup_collation_sequence_value) [defined _LIBC]:
64565         (build_range_exp, build_collating_symbol) [defined _LIBC]:
64566         Use prototypes rather than old-style function definitions.
64567         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
64568         (transit_state_sb) [0]:
64569         (find_collation_sequence_value) [defined _LIBC]: Likewise.
64570
64571         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
64572         rm_eo.
64573
64574         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
64575         (optimize_subexps, lower_subexp):
64576         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
64577         since the signed shift might overflow.  Use 1u<<31 instead.
64578         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
64579         Likewise.
64580         * lib/regexec.c (check_dst_limits_calc_pos_1,
64581         check_subexp_matching_top): Likewise.
64582
64583         * lib/regcomp.c (optimize_subexps, lower_subexp):
64584         Use CHAR_BIT rather than 8, for clarity.
64585         * lib/regexec.c (check_dst_limits_calc_pos_1):
64586         (check_subexp_matching_top): Likewise.
64587         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
64588         have to worry about portability issues when shifting it left.
64589         Remove no-longer-needed test for table_size > 0.
64590         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
64591         in a word, as the resulting behavior is undefined.
64592         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
64593         in one case, a <= should have been an <, and in another case the
64594         whole test was missing.
64595         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
64596         the standard name CHAR_BIT.
64597         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
64598         this is not true on one's complement and signed-magnitude hosts.
64599
64600         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
64601         next_last_offset.
64602         (struct re_dfa_t): Remove unused member states_alloc.
64603         * lib/regcomp.c (init_dfa): Don't initialize unused members.
64604
64605 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
64606
64607         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
64608         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
64609         and large-file glibc and in 32-bit large-file Solaris.
64610
64611 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
64612
64613         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
64614         lengths fit in regoff_t; this isn't true if regoff_t is the same
64615         width as size_t.
64616         * lib/regex.c (re_search_internal): 5th arg is LAST_START
64617         (= START + RANGE) instead of RANGE.  This avoids overflow
64618         problems when regoff_t is the same width as size_t.
64619         All callers changed.
64620         (re_search_2_stub): Check for overflow when adding the
64621         sizes of the two strings.
64622         (re_search_stub): Check for overflow when adding START
64623         to RANGE; if it occurs, substitute the extreme value.
64624
64625 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
64626
64627         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
64628
64629 2005-08-31  Jim Meyering  <jim@meyering.net>
64630
64631         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
64632         a pointer-to-const.
64633         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
64634         (register_state): Likewise.
64635         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
64636         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
64637         (group_nodes_into_DFAstates): Likewise.
64638
64639 2005-08-31  Jim Meyering  <jim@meyering.net>
64640
64641         * check-module: Add a FIXME comment.
64642
64643 2005-08-31  Eric Blake  <ebb9@byu.net>
64644
64645         * modules/unistd-safer (Files): Add unistd--.h.
64646         * modules/stdio-safer (Files): Add stdio--.h.
64647
64648 2005-08-31  Derek Price  <derek@ximbiot.com>
64649
64650         * lib/getdelim.c (getdelim): Return EOF on EOF.
64651         Reported by Larry Jones <lawrence.jones@ugs.com>.
64652
64653 2005-08-31  Bruno Haible  <bruno@clisp.org>
64654
64655         Avoid unnecessary diffs in the generated lib/Makefile.am.
64656         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
64657         the generated files.
64658         (func_import): Don't set cmd.
64659
64660 2005-08-31  Bruno Haible  <bruno@clisp.org>
64661
64662         * lib/strstr.c: Include <stddef.h>, for NULL.
64663         * lib/strcasestr.c: Likewise.
64664         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
64665
64666 2005-08-31  Bruno Haible  <bruno@clisp.org>
64667
64668         * gnulib-tool: New option --macro-prefix.
64669         (func_import): Use macro_prefix.
64670         (import): Handle option --macro-prefix.
64671
64672 2005-08-31  Bruno Haible  <bruno@clisp.org>
64673
64674         * gnulib-tool (import): Rename most ac_* variables to cached_*.
64675         Also use new variables cached_lgpl, cached_libtool.
64676
64677 2005-08-31  Bruno Haible  <bruno@clisp.org>
64678
64679         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
64680         always instantiating them.
64681
64682 2005-08-31  Bruno Haible  <bruno@clisp.org>
64683
64684         * gnulib-tool (func_import): Read the previous cached settings
64685         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
64686         earlier added by gnulib but are now dropped. Warn when a gnulib file
64687         overwrites a non-gnulib file.
64688
64689 2005-08-31  Bruno Haible  <bruno@clisp.org>
64690
64691         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
64692         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
64693         projects that don't keep autogenerated files in CVS. Put into
64694         actioncmd only the specified modules, not the transitive closure.
64695
64696 2005-08-31  Bruno Haible  <bruno@clisp.org>
64697
64698         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
64699         Create directories that shall be filled.
64700         (import): Don't look for gl_* macros in configure.ac. Recurse across
64701         all directories containing a gnulib-cache.m4 files, if meaningful.
64702
64703 2005-08-31  Bruno Haible  <bruno@clisp.org>
64704
64705         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
64706         (import): Set seen_libtool when we see gl_LIBTOOL.
64707
64708 2005-08-31  Bruno Haible  <bruno@clisp.org>
64709
64710         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
64711         declaration macro definitions from generated gnulib.m4.
64712
64713 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
64714
64715         * lib/iconvme.h: Add prototype for iconv_alloc.
64716
64717 2005-08-29  Simon Josefsson  <jas@extundo.com>
64718
64719         * lib/iconvme.c: Fix errno.
64720
64721 2005-08-29  Bruno Haible  <bruno@clisp.org>
64722
64723         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
64724         that it works when the directory contains spaces.
64725
64726 2005-08-29  Bruno Haible  <bruno@clisp.org>
64727
64728         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
64729
64730 2005-08-29  Bruno Haible  <bruno@clisp.org>
64731
64732         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
64733         Emit more advice.
64734
64735 2005-08-29  Bruno Haible  <bruno@clisp.org>
64736         and Stepan Kasal  <kasal@ucw.cz>
64737
64738         * check-module: If more parameters are given, check each of them
64739         separately; add more exceptions, as noted by Jim Meyering.
64740         (check_module): New procedure.
64741         (%exempt_header): Now contains all exceptions.
64742
64743 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
64744
64745         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
64746
64747 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
64748
64749         * lib/iconvme.c: Split iconv_string into iconv_alloc.
64750
64751 2005-08-28  Bruno Haible  <bruno@clisp.org>
64752
64753         * m4/gnulib-tool.m4: New file.
64754
64755 2005-08-27  Jim Meyering  <jim@meyering.net>
64756
64757         * modules/unistd-safer (Files): Add pipe-safer.c.
64758         * modules/fcntl-safer (Files): Add creat-safer.c.
64759
64760 2005-08-27  Jim Meyering  <jim@meyering.net>
64761
64762         * m4/stdlib-safer.m4: New file.  From coreutils.
64763         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
64764         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
64765         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
64766         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
64767         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
64768
64769 2005-08-27  Jim Meyering  <jim@meyering.net>
64770
64771         * lib/fopen-safer.c: Merge minor changes from coreutils.
64772         * lib/dup-safer.c: Likewise.
64773         * lib/fd-safer.c: Likewise.
64774
64775         Merge from coreutils.
64776         * lib/stdio--.h: New file.
64777         * lib/stdlib--.h: New file.
64778         * lib/mkstemp-safer.c: New file.
64779
64780         GNU tar needs these.
64781         * lib/pipe-safer.c: New file.
64782         * lib/creat-safer.c: New file.
64783         * lib/fcntl--.h (creat): Define to creat_safer.
64784         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
64785         * lib/unistd--.h (pipe): Define to pipe_safer.
64786         * lib/unistd-safer.h: Declare pipe_safer.
64787
64788 2005-08-26  Simon Josefsson  <jas@extundo.com>
64789
64790         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
64791         Haible <bruno@clisp.org>.
64792
64793 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
64794
64795         * lib/regex_internal.h: Remove all references to
64796         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
64797         or better.
64798         (bitset_not, bitset_merge, bitset_not_merge):
64799         (bitset_mask, re_string_allocate, re_string_construct):
64800         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
64801         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
64802         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
64803         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
64804         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
64805         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
64806         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
64807         (re_acquire_state_context):
64808         Remove unnecessary forward decls.
64809         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
64810         Put __attribute at function definition,
64811         now that the function decl has been removed.
64812         * lib/regex_internal.c (re_string_peek_byte_case):
64813         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
64814         Likewise.
64815
64816 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
64817
64818         * m4/regex.m4: Add AC_PREREQ(2.50).
64819         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
64820
64821 2005-08-25  Simon Josefsson  <jas@extundo.com>
64822
64823         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
64824         __fsetlocking.
64825
64826 2005-08-25  Simon Josefsson  <jas@extundo.com>
64827
64828         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
64829         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
64830         GLIBC specific code.
64831
64832 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
64833
64834         Make regex safe for g++.  This fixes one real bug (an "err"
64835         that should have been "*err").  g++ problem reported by
64836         Sam Steingold.
64837         * lib/regex_internal.h (re_calloc): New macro, consistent with
64838         re_malloc etc.  All callers of calloc changed to use re_calloc.
64839         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
64840         not int.  All callers changed.
64841         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
64842         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
64843         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
64844         (find_recover_state): Change "err" to "*err"; this fixes what
64845         appears to be a real bug.
64846         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
64847         versus int.
64848
64849 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
64850
64851         * modules/regex (Depends-on): Add malloc, since the code
64852         assumes that !malloc(0) means failure.
64853
64854 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
64855
64856         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
64857
64858         alloca modernization/simplification for regex.
64859         * lib/regex.c: Remove portability cruft for alloca.  This no longer
64860         needs to be at the start of the file, and can be moved into
64861         regex_internal.h and simplified.
64862         * lib/regex_internal.h: Include <alloca.h>.
64863         (__libc_use_alloca) [!defined _LIBC]: New macro.
64864         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
64865         now works outside glibc.
64866
64867 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
64868
64869         * config/srclist.txt: Add glibc bugs 1241, 1245.
64870
64871 2005-08-25  Jim Meyering  <jim@meyering.net>
64872
64873         * lib/open-safer.c: Include <config.h>.
64874         Otherwise, we'd lose LARGEFILE support in any file using
64875         e.g. "fcntl--.h"
64876
64877 2005-08-25  Bruno Haible  <bruno@clisp.org>
64878
64879         * m4/minmax.m4: Require autoconf 2.52.
64880         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
64881         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
64882         alternatives of translit over the alphabet.
64883         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
64884
64885 2005-08-24  Simon Josefsson  <jas@extundo.com>
64886
64887         * tests/test-getpass.c: New file.
64888
64889 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
64890
64891         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
64892         for GNU regex features.
64893
64894 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
64895
64896         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
64897         * lib/regex.h (regerror): Likewise.
64898
64899         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
64900         requires this.  (The code never needed it.)
64901
64902         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
64903         All uses of recently-renamed identifiers changed to use the new,
64904         POSIX-compliant names.  The code will build and run just fine
64905         without these changes, but it's better to eat our own dog food
64906         and use the standard-conforming names.
64907
64908         * lib/regex.h: Fix a multitude of POSIX name space violations.
64909         These changes have an effect only for programs that define
64910         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
64911         do not change anything for programs compiled in the normal way.
64912         Also, there is no effect on the ABI.
64913
64914         (_REGEX_SOURCE): New macro.
64915         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
64916         defined and _GNU_SOURCE is not; this fixes a name space violation.
64917
64918         Rename the following macros to obey POSIX requirements.
64919         The old names are still visible as macros if _REGEX_SOURCE is defined.
64920         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
64921         RE_BACKSLASH_ESCAPE_IN_LISTS.
64922         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
64923         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
64924         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
64925         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
64926         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
64927         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
64928         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
64929         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
64930         (REG_INTERVALS): renamed from RE_INTERVALS.
64931         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
64932         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
64933         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
64934         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
64935         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
64936         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
64937         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
64938         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
64939         RE_UNMATCHED_RIGHT_PAREN_ORD.
64940         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
64941         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
64942         (REG_DEBUG): renamed from RE_DEBUG.
64943         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
64944         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
64945         unusual, since we can't clash with the POSIX REG_ICASE.
64946         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
64947         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
64948         (REG_NO_SUB): renamed from RE_NO_SUB.
64949         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
64950         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
64951         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
64952         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
64953         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
64954         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
64955         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
64956         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
64957         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
64958         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
64959         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
64960         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
64961         RE_SYNTAX_POSIX_MINIMAL_BASIC.
64962         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
64963         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
64964         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
64965         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
64966         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
64967         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
64968         (REG_FIXED): Renamed from REGS_FIXED.
64969         (REG_NREGS): Renamed from RE_NREGS.
64970
64971         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
64972         of other REG_* macros, since POSIX says the user is allowed to
64973         #undef these macros selectively.
64974
64975         (reg_errcode_t): Update comment stating what other tables need
64976         to be consistent.
64977
64978         Rename the following enum values to obey POSIX requirements.
64979         The old names are still visible as macros.
64980         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
64981         is not defined, since GNU is supposed to be a superset of POSIX as
64982         much as possible, and since we want reg_errcode_t to be a signed
64983         type for implementation consistency.
64984         (_REG_NOERROR): Renamed from REG_NOERROR.
64985         (_REG_NOMATCH): Renamed from REG_NOMATCH.
64986         (_REG_BADPAT): Renamed from REG_BADPAT.
64987         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
64988         (_REG_ECTYPE): Renamed from REG_ECTYPE.
64989         (_REG_EESCAPE): Renamed from REG_EESCAPE.
64990         (_REG_ESUBREG): Renamed from REG_ESUBREG.
64991         (_REG_EBRACK): Renamed from REG_EBRACK.
64992         (_REG_EPAREN): Renamed from REG_EPAREN.
64993         (_REG_EBRACE): Renamed from REG_EBRACE.
64994         (_REG_BADBR): Renamed from REG_BADBR.
64995         (_REG_ERANGE): Renamed from REG_ERANGE.
64996         (_REG_ESPACE): Renamed from REG_ESPACE.
64997         (_REG_BADRPT): Renamed from REG_BADRPT.
64998         (_REG_EEND): Renamed from REG_EEND.
64999         (_REG_ESIZE): Renamed from REG_ESIZE.
65000         (_REG_ERPAREN): Renamed from REG_ERPAREN.
65001         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
65002         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
65003         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
65004         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
65005
65006         (_REG_RE_NAME, _REG_RM_NAME): New macros.
65007         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
65008         changed.  But support the old name if the new one is not defined
65009         and if _REGEX_SOURCE.
65010
65011         Change the following member names in struct re_pattern_buffer.
65012         The old names are still supported if !_REGEX_SOURCE.
65013         The new names are always supported, regardless of _REGEX_SOURCE.
65014         (re_buffer): Renamed from buffer.
65015         (re_allocated): Renamed from allocated.
65016         (re_used): Renamed from used.
65017         (re_syntax): Renamed from syntax.
65018         (re_fastmap): Renamed from fastmap.
65019         (re_translate): Renamed from translate.
65020         (re_can_be_null): Renamed from can_be_null.
65021         (re_regs_allocated): Renamed from regs_allocated.
65022         (re_fastmap_accurate): Renamed from fastmap_accurate.
65023         (re_no_sub): Renamed from no_sub.
65024         (re_not_bol): Renamed from not_bol.
65025         (re_not_eol): Renamed from not_eol.
65026         (re_newline_anchor): Renamed from newline_anchor.
65027
65028         Change the following member names in struct re_registers.
65029         The old names are still supported if !_REGEX_SOURCE.
65030         The new names are always supported, regardless of _REGEX_SOURCE.
65031         (rm_num_regs): Renamed from num_regs.
65032         (rm_start): Renamed from start.
65033         (rm_end): Renamed from end.
65034
65035         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
65036         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
65037         Prepend __ to parameter names.
65038
65039         Undo yesterday's changes.
65040
65041 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
65042
65043         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
65044         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
65045         lib/regex.c.
65046
65047 2005-08-24  Jim Meyering  <jim@meyering.net>
65048
65049         Sync from coreutils.
65050         * m4/fcntl-safer.m4: New file.
65051
65052         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
65053         and object files for this module.
65054
65055 2005-08-24  Jim Meyering  <jim@meyering.net>
65056
65057         Sync from coreutils.
65058         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
65059
65060 2005-08-24  Jim Meyering  <jim@meyering.net>
65061
65062         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
65063         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
65064
65065 2005-08-24  Jim Meyering  <jim@meyering.net>
65066
65067         * modules/fcntl-safer: New module.
65068         * modules/fts (Depends-on): Add fcntl-safer.
65069         * MODULES.html.sh (File descriptor based Input/Output):
65070         Add fcntl-safer.
65071
65072 2005-08-24  Bruno Haible  <bruno@clisp.org>
65073
65074         Support for unit test modules.
65075         * modules/README: Mention tests modules.
65076         * modules/TEMPLATE-TESTS: New file.
65077         * gnulib-tool: New options --extract-tests-module, --with-tests and
65078         --tests-base (unused for the moment).
65079         (testsbase, inctests): New variables.
65080         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
65081         (func_verify_module): Exclude TEMPLATE-TESTS.
65082         (func_verify_nontests_module, func_verify_tests_module): New functions.
65083         (func_get_dependencies): Add implicit dependency for tests modules.
65084         (func_get_tests_module): New function.
65085         (func_modules_transitive_closure): When --with-tests was specified,
65086         include the unit tests as well, unless explicitly avoided.
65087         (func_emit_lib_Makefile_am): Ignore the tests modules here.
65088         (func_emit_tests_Makefile_am): New function.
65089         (func_create_testdir): When --with-tests was specified, emit a
65090         tests/ directory.
65091         * MODULES.html.sh (Future developments): Update.
65092
65093 2005-08-24  Bruno Haible  <bruno@clisp.org>
65094
65095         * modules/tls-tests: New file.
65096         * tests/test-tls.c: New file, from GNU gettext.
65097
65098 2005-08-24  Bruno Haible  <bruno@clisp.org>
65099
65100         * modules/lock-tests: New file.
65101         * tests/test-lock.c: New file, from GNU gettext.
65102
65103 2005-08-24  Bruno Haible  <bruno@clisp.org>
65104
65105         * lib/lock.h: Add multiple inclusion guard.
65106         * lib/tls.h: Add multiple inclusion guard.
65107
65108 2005-08-24  Bruno Haible  <bruno@clisp.org>
65109
65110         * gnulib-tool: Add support for the --aux-dir option to
65111         --create-testdir, --create-megatestdir, --test, --megatest.
65112         (func_create_testdir, func_create_megatestdir): Optionally emit a
65113         AC_CONFIG_AUX_DIR directive.
65114         (create-testdir, create-megatestdir, test, megatest): Provide a
65115         default value for $auxdir.
65116
65117 2005-08-24  Bruno Haible  <bruno@clisp.org>
65118
65119         * gnulib-tool (import): Use compound statement instead of subshell
65120         where possible.
65121
65122 2005-08-24  Bruno Haible  <bruno@clisp.org>
65123
65124         * gnulib-tool (import): Change --aux-dir default to "build-aux".
65125
65126 2005-08-24  Bruno Haible  <bruno@clisp.org>
65127
65128         * gnulib-tool (func_version): Update.
65129
65130 2005-08-24  Bruno Haible  <bruno@clisp.org>
65131
65132         * gnulib-tool (func_import, func_create_testdir,
65133         func_create_megatestdir): Quote all autoconf macro arguments.
65134
65135 2005-08-24  Bruno Haible  <bruno@clisp.org>
65136
65137         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
65138         option --force, because --force causes the aclocal.m4 of each
65139         subdirectory to be newer than the corresponding config.h.in.
65140
65141 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
65142
65143         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
65144         All contents moved to gl_REGEX.
65145         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
65146         assume that it does.
65147
65148 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
65149
65150         * lib/regex.h (REG_NOSYS)
65151         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
65152         Define, since POSIX requires it as of 2001.
65153         (_REG_ENOSYS)
65154         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
65155         New private symbol, used to keep the enum signed in all cases.
65156         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
65157         Youngman in
65158         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
65159
65160         * lib/regex_internal.c (re_string_skip_chars, register_state):
65161         (calc_state_hash):
65162         Remove forward decls; no longer needed now that we use prototypes.
65163         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
65164         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
65165         (clean_state_log_if_needed): Likewise.
65166
65167 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
65168
65169         * config/srclist.txt: Add glibc bugs 1231-1233.
65170
65171 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
65172
65173         Fix problems reported by Sam Steingold in
65174         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
65175         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
65176         assumed that reg_errcode_t is a signed type, which is not
65177         necessarily true if _XOPEN_SOURCE is not defined.
65178         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
65179         since some compilers warn about it otherwise.
65180
65181 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
65182
65183         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
65184         (init_word_char, create_initial_state, duplicate_node_closure):
65185         (fetch_token, peek_token_bracket, build_range_exp):
65186         (build_collating_symbol): Remove forward decls; no longer needed
65187         now that we use prototypes.
65188
65189         * lib/regcomp.c:
65190         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
65191         (re_compile_fastmap_iter, regcomp, regerror, regfree):
65192         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
65193         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
65194         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
65195         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
65196         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
65197         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
65198         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
65199         (build_range_exp, build_collating_symbol, parse_bracket_exp):
65200         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
65201         (build_charclass, build_charclass_op, fetch_number, create_tree):
65202         (create_token_tree, mark_opt_subexp, duplicate_tree):
65203         Use prototypes rather than old-style definitions.
65204
65205         * lib/regex_internal.c:
65206         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
65207         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
65208         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
65209         (re_string_reconstruct, re_string_peek_byte_case):
65210         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
65211         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
65212         (re_node_set_init_copy, re_node_set_add_intersect):
65213         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
65214         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
65215         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
65216         (re_acquire_state, re_acquire_state_context, register_state):
65217         (create_ci_newstate, create_cd_newstate, free_state):
65218         Likewise.
65219         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
65220         re_search_2):
65221         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
65222         (re_search_internal, prune_impossible_nodes):
65223         (acquire_init_state_context, check_matching, static):
65224         (check_halt_node_context, check_halt_state_context, proceed_next_node):
65225         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
65226         (update_regs, sift_states_backward, build_sifted_states):
65227         (clean_state_log_if_needed, merge_state_array):
65228         (update_cur_sifted_state, add_epsilon_src_nodes):
65229         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
65230         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
65231         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
65232         (find_recover_state, check_subexp_matching_top, transit_state_mb):
65233         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
65234         (check_arrival, check_arrival_add_next_nodes):
65235         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
65236         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
65237         (check_node_accept_bytes, check_node_accept, extend_buffers):
65238         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
65239         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
65240         (sift_ctx_init):
65241         Likewise.
65242
65243         * lib/regex_internal.h:
65244         (re_string_allocate, re_string_construct, re_string_reconstruct):
65245         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
65246         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
65247         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
65248         (re_string_context_at, re_string_peek_byte_case):
65249         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
65250         is defined, since we now use prototypes always.
65251
65252         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
65253         C89 or better.  All uses removed.
65254
65255 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
65256
65257         * config/srclist.txt: Add glibc bugs 1220-1227.
65258
65259 2005-08-20  Jim Meyering  <jim@meyering.net>
65260
65261         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
65262         of unused local, dfa.
65263
65264 2005-08-20  Bruno Haible  <bruno@clisp.org>
65265
65266         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
65267
65268 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
65269
65270         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
65271         (re_node_set_insert_last, re_dfa_add_node):
65272         Rename local variables to avoid GCC shadowing warnings.
65273
65274 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
65275
65276         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
65277         [defined lint]: Suppress bogus uninitialized-variable warnings.
65278
65279         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
65280         and let the caller return REG_ESPACE if out of space.  This
65281         removes an uninitialied-variable warning with GCC 4.0.1, and also
65282         avoids taking the address of a local variable.  All callers
65283         changed.
65284
65285 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
65286
65287         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
65288         $LIBCSRC/posix/regexec.c.
65289         Add glibc bug 1217 for regcomp.c.
65290
65291 2005-08-19  Jim Meyering  <jim@meyering.net>
65292
65293         * lib/regexec.c (proceed_next_node): Redo local variables to
65294         avoid GCC shadowing warnings.
65295
65296 2005-08-18  Bruno Haible  <bruno@clisp.org>
65297
65298         * lib/strstr.c (strstr): Fix return value in multibyte case.
65299         * lib/strcasestr.c (strcasestr): Likewise.
65300
65301 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
65302
65303         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
65304
65305 2005-08-17  Jim Meyering  <jim@meyering.net>
65306
65307         Make the %s format (seconds since the epoch) work for a negative
65308         number and when used with a zero-padded field width, e.g. %015s.
65309
65310         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
65311         label so that it precedes the code to set `digits'.  Otherwise,
65312         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
65313         print `00-22'.  Now, it prints `-0022', as it should.
65314
65315 2005-08-17  Bruno Haible  <bruno@clisp.org>
65316
65317         * modules/strstr (Files): Add m4/mbrtowc.m4.
65318         (Depends-on): Add mbuiter.
65319
65320 2005-08-17  Bruno Haible  <bruno@clisp.org>
65321
65322         * modules/strcasestr: New file.
65323         * MODULES.html.sh (String handling, based on ANSI C 89): Add
65324         strcasestr.
65325
65326 2005-08-17  Bruno Haible  <bruno@clisp.org>
65327
65328         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
65329
65330 2005-08-17  Bruno Haible  <bruno@clisp.org>
65331
65332         * modules/mbuiter: New file.
65333         * MODULES.html.sh (Extended multibyte and wide character utilities):
65334         Add mbuiter.
65335
65336 2005-08-17  Bruno Haible  <bruno@clisp.org>
65337
65338         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
65339         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
65340
65341 2005-08-17  Bruno Haible  <bruno@clisp.org>
65342
65343         * m4/strcasestr.m4: New file.
65344
65345 2005-08-17  Bruno Haible  <bruno@clisp.org>
65346
65347         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
65348         * lib/strstr.c: Completely rewritten, with multibyte locale support.
65349
65350 2005-08-17  Bruno Haible  <bruno@clisp.org>
65351
65352         * lib/strcasestr.h: New file.
65353         * lib/strcasestr.c: New file.
65354
65355 2005-08-17  Bruno Haible  <bruno@clisp.org>
65356
65357         * lib/strcasecmp.c: Use mbuiter.h.
65358
65359 2005-08-17  Bruno Haible  <bruno@clisp.org>
65360
65361         * lib/mbuiter.h: New file.
65362
65363 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
65364
65365         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
65366         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
65367         and gl_GETOPT are both invoked via different paths (as happens
65368         with GNU tar CVS because it uses both argp and getopt), the former
65369         wins.
65370
65371 2005-08-16  Bruno Haible  <bruno@clisp.org>
65372
65373         * modules/tls: New file.
65374         * MODULES.html.sh (Multithreading): Add tls.
65375
65376 2005-08-16  Bruno Haible  <bruno@clisp.org>
65377
65378         * modules/strnlen1: New file.
65379         * MODULES.html.sh (String handling): Add strnlen1.
65380
65381 2005-08-16  Bruno Haible  <bruno@clisp.org>
65382
65383         * modules/strcase (Files): Add m4/mbrtowc.m4.
65384         (Depends-on): Add strnlen1, mbchar.
65385
65386 2005-08-16  Bruno Haible  <bruno@clisp.org>
65387
65388         * modules/mbiter: New file.
65389         * MODULES.html.sh (Extended multibyte and wide character utilities):
65390         Add mbiter.
65391
65392 2005-08-16  Bruno Haible  <bruno@clisp.org>
65393
65394         * modules/mbfile: New file.
65395         * MODULES.html.sh (Extended multibyte and wide character utilities):
65396         Add mbfile.
65397
65398 2005-08-16  Bruno Haible  <bruno@clisp.org>
65399
65400         * modules/mbchar: New file.
65401         * MODULES.html.sh (Extended multibyte and wide character utilities):
65402         New section.
65403
65404 2005-08-16  Bruno Haible  <bruno@clisp.org>
65405
65406         * m4/tls.m4: New file, from GNU gettext.
65407
65408 2005-08-16  Bruno Haible  <bruno@clisp.org>
65409
65410         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
65411         always.
65412         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
65413
65414 2005-08-16  Bruno Haible  <bruno@clisp.org>
65415
65416         * m4/mbiter.m4: New file.
65417
65418 2005-08-16  Bruno Haible  <bruno@clisp.org>
65419
65420         * m4/mbfile.m4: New file.
65421
65422 2005-08-16  Bruno Haible  <bruno@clisp.org>
65423
65424         * m4/mbchar.m4: New file.
65425
65426 2005-08-16  Bruno Haible  <bruno@clisp.org>
65427
65428         * lib/tls.h: New file, from GNU gettext.
65429         * lib/tls.c: New file, from GNU gettext.
65430
65431 2005-08-16  Bruno Haible  <bruno@clisp.org>
65432
65433         * lib/strnlen1.h: New file.
65434         * lib/strnlen1.c: New file.
65435
65436 2005-08-16  Bruno Haible  <bruno@clisp.org>
65437
65438         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
65439         (mbi_init): Update.
65440         (mbi_avail, mbi_advance): Let the iteration end before the terminating
65441         NUL byte, not after it.
65442
65443 2005-08-16  Bruno Haible  <bruno@clisp.org>
65444
65445         * lib/strcase.h (strcasecmp): Add note in comments.
65446         * lib/strncasecmp.c: Use code from strcasecmp.c.
65447         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
65448         (strcasecmp): Work correctly in multibyte locales.
65449
65450 2005-08-16  Bruno Haible  <bruno@clisp.org>
65451
65452         * lib/mbiter.h: New file.
65453
65454 2005-08-16  Bruno Haible  <bruno@clisp.org>
65455
65456         * lib/mbfile.h: New file.
65457
65458 2005-08-16  Bruno Haible  <bruno@clisp.org>
65459
65460         * lib/mbchar.h: New file.
65461         * lib/mbchar.c: New file.
65462
65463 2005-08-16  Bruno Haible  <bruno@clisp.org>
65464
65465         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
65466         the valid ones. Makes the comparison operations transitive:
65467         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
65468         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
65469
65470 2005-08-15  Simon Josefsson  <jas@extundo.com>
65471
65472         * modules/ssize_t (License): Change to 'unlimited'.
65473
65474         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
65475
65476 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
65477
65478         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
65479         Add comments for each pending glibc patch.
65480
65481 2005-08-15  Bruno Haible  <bruno@clisp.org>
65482
65483         * lib/regex.h (__restrict_arr): Don't define to __restrict if
65484         __cplusplus is defined.
65485
65486 2005-08-14  Jim Meyering  <jim@meyering.net>
65487
65488         Sync from coreutils.
65489
65490         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
65491         Use the hash-table-based cycle-detection code not just when
65492         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
65493         Reported by James Youngman in
65494         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
65495         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
65496         FTS_TIGHT_CYCLE_CHECK.
65497         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
65498         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
65499         once again.
65500         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
65501         * lib/fts.c (fd_safer): Remove decl.
65502         Include fcntl--.h rather than unistd-safer.h
65503         (fts_safe_changedir): Don't call fd_safer; no longer needed
65504         now that we include fcntl--.h.
65505
65506 2005-08-12  Simon Josefsson  <jas@extundo.com>
65507
65508         * modules/getndelim2: Use ssize_t module.
65509         * modules/getnline: Likewise.
65510         * modules/safe-read: Likewise.
65511         * modules/xreadlink: Likewise.
65512
65513         * modules/ssize_t: New file.
65514
65515 2005-08-12  Simon Josefsson  <jas@extundo.com>
65516
65517         * m4/readline.m4: Look for termcap, curses or ncurses if required.
65518
65519 2005-08-12  Simon Josefsson  <jas@extundo.com>
65520
65521         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
65522         ssize_t.
65523
65524 2005-08-12  Simon Josefsson  <jas@extundo.com>
65525
65526         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
65527         readline, getdelim and check_version.
65528         (Support for systems lacking ISO C 99: Sizes of integer types):
65529         Add size_max.
65530
65531 2005-08-12  Bruno Haible  <bruno@clisp.org>
65532
65533         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
65534
65535 2005-08-11  Simon Josefsson  <jas@extundo.com>
65536
65537         * modules/readline: New file.
65538
65539         * modules/strnlen (Files): Add strnlen.h.
65540
65541 2005-08-11  Simon Josefsson  <jas@extundo.com>
65542
65543         * m4/readline.m4: New file.
65544
65545 2005-08-11  Simon Josefsson  <jas@extundo.com>
65546
65547         * lib/readline.h, readline.c: New file.
65548
65549 2005-08-11  Simon Josefsson  <jas@extundo.com>
65550
65551         * doc/gnulib.texi (Initial import, Finishing touches): Mention
65552         gl_AVOID.
65553
65554 2005-08-11  Bruno Haible  <bruno@clisp.org>
65555
65556         * lib/strnlen.h (strnlen): Change parameter name to match comment.
65557
65558 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
65559
65560         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
65561
65562 2005-08-10  Simon Josefsson  <jas@extundo.com>
65563
65564         * tests/test-iconvme.c: New file.
65565
65566 2005-08-10  Simon Josefsson  <jas@extundo.com>
65567
65568         * m4/strnlen.m4: New file.
65569
65570         * m4/strndup.m4: Don't check for strnlen declaration, done in
65571         strnlen.m4.
65572
65573 2005-08-10  Simon Josefsson  <jas@extundo.com>
65574
65575         * lib/strndup.c: Use strnlen.h.
65576
65577         * lib/strnlen.h: New file.
65578
65579 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
65580
65581         * README: Typos.
65582
65583 2005-08-02  Simon Josefsson  <jas@extundo.com>
65584
65585         * modules/readline: New file.
65586
65587 2005-08-02  Simon Josefsson  <jas@extundo.com>
65588
65589         * modules/getdelim: New file.
65590
65591         * modules/getline: Rewrite, don't use getndelim2.
65592
65593 2005-08-02  Simon Josefsson  <jas@extundo.com>
65594
65595         * m4/getline.m4: Separate out getdelim stuff into separate module.
65596
65597         * m4/getdelim.m4: New file.
65598
65599 2005-08-02  Simon Josefsson  <jas@extundo.com>
65600
65601         * lib/getline.h, getline.c: Rewrite.
65602
65603         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
65604
65605 2005-07-31  Bruno Haible  <bruno@clisp.org>
65606
65607         * lib/lock.h (gl_lock_initializer): New macro.
65608         (gl_lock_define_initialized): Use it.
65609         (gl_rwlock_initializer): New macro.
65610         (gl_rwlock_define_initialized): Use it.
65611         (gl_recursive_lock_initializer): New macro.
65612         (gl_recursive_lock_define_initialized): Use it.
65613
65614 2005-07-30  Karl Berry  <karl@gnu.org>
65615
65616         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
65617         Report from Ben Pfaff, regarding getopt.
65618
65619 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
65620
65621         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
65622         normal way.
65623         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
65624         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
65625         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
65626         (gl_GETOPT): Use the new macros.  Most of the implementation
65627         is moved to the new macros.  This is for programs like Emacs
65628         that don't want all the functionality of gl_GETOPT.
65629
65630 2005-07-26  Bruno Haible  <bruno@clisp.org>
65631
65632         * m4/lock.m4: Update from GNU gettext.
65633
65634 2005-07-26  Bruno Haible  <bruno@clisp.org>
65635
65636         * lib/lock.h: Update from GNU gettext.
65637         * lib/lock.c: Update from GNU gettext.
65638
65639 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
65640
65641         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
65642         obsolescent AC_TRY_RUN.  Include the default includes files, for
65643         'exit'.
65644
65645 2005-07-24  Bruno Haible  <bruno@clisp.org>
65646
65647         * modules/visibility: New file.
65648         * MODULES.html.sh (Misc): Add visibility.
65649
65650 2005-07-24  Bruno Haible  <bruno@clisp.org>
65651
65652         * m4/visibility.m4: New file.
65653
65654 2005-07-24  Bruno Haible  <bruno@clisp.org>
65655
65656         * doc/visibility.texi: New file.
65657
65658 2005-07-22  Bruno Haible  <bruno@clisp.org>
65659
65660         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
65661         $(ALLOCA_H), redundant through BUILT_SOURCES.
65662         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
65663         redundant through BUILT_SOURCES.
65664         * modules/byteswap (Makefile.am): Remove explicit dependency on
65665         $(BYTESWAP_H), redundant through BUILT_SOURCES.
65666         * modules/fnmatch (Makefile.am): Remove explicit dependency on
65667         $(FNMATCH_H), redundant through BUILT_SOURCES.
65668         * modules/getopt (Makefile.am): Remove explicit dependency on
65669         $(GETOPT_H), redundant through BUILT_SOURCES.
65670         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
65671         redundant through BUILT_SOURCES.
65672         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
65673         redundant through BUILT_SOURCES.
65674         * modules/stdbool (Makefile.am): Remove explicit dependency on
65675         $(STDBOOL_H), redundant through BUILT_SOURCES.
65676         * modules/stdint (Makefile.am): Remove explicit dependency on
65677         $(STDINT_H), redundant through BUILT_SOURCES.
65678         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
65679         Remove explicit dependency on $(SYSEXITS_H).
65680         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
65681
65682 2005-07-18  Simon Josefsson  <jas@extundo.com>
65683
65684         * lib/check-version.c (check_version): Accept identical versions too.
65685
65686 2005-07-18  Bruno Haible  <bruno@clisp.org>
65687
65688         * modules/lock: New file.
65689         * MODULES.html.sh (Multithreading): New section.
65690
65691 2005-07-18  Bruno Haible  <bruno@clisp.org>
65692
65693         * m4/lock.m4: New file, from GNU gettext.
65694
65695 2005-07-18  Bruno Haible  <bruno@clisp.org>
65696
65697         * lib/lock.h: New file, from GNU gettext.
65698         * lib/lock.c: New file, from GNU gettext.
65699
65700 2005-07-18  Bruno Haible  <bruno@clisp.org>
65701
65702         * lib/lock.h (gl_once_t): New type.
65703         (gl_once_define, gl_once): New macros.
65704         * lib/lock.c (fresh_once): New variable.
65705         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
65706         functions.
65707
65708 2005-07-16  Simon Josefsson  <jas@extundo.com>
65709
65710         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
65711         workaround, suggested by Bruno.
65712
65713 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
65714
65715         * modules/xalloc (Depends-on): Add xalloc-die.
65716         * modules/xvasprintf (Depends-on): Add xalloc-die.
65717
65718 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
65719
65720         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
65721         with a minor change.
65722
65723 2005-07-15  Bruno Haible  <bruno@clisp.org>
65724
65725         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
65726         When using lib/poll.c, define poll as rpl_poll.
65727
65728 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
65729
65730         * modules/argp (Depends-on): Remove unlocked-io.
65731
65732 2005-07-14  Derek Price  <derek@ximbiot.com>
65733
65734         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
65735         for glob symlink bug.
65736
65737 2005-07-14  Bruno Haible  <bruno@clisp.org>
65738
65739         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
65740         Instead, test for *_unlocked function declarations directly.
65741
65742 2005-07-11  Simon Josefsson  <jas@extundo.com>
65743
65744         * modules/size_max: New file.
65745
65746         * modules/xsize: Depend on size_max module for size_max.m4.
65747
65748 2005-07-11  Simon Josefsson  <jas@extundo.com>
65749
65750         * lib/size_max.h: New file.
65751
65752 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
65753
65754         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
65755         copyright symbol and the year.
65756         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
65757         (version_etc_va): Use parameterized copyright notice.
65758         Reword to conform to the current GNU coding standards.
65759
65760 2005-07-11  Karl Berry  <karl@gnu.org>
65761
65762         * doc/gnulib.texi (Quoting): new node.
65763         (Initial import): more info, from Patrice.
65764
65765 2005-07-11  Bruno Haible  <bruno@clisp.org>
65766
65767         * gnulib-tool (func_usage): Document option --avoid.
65768         (Command line options): Handle --avoid.
65769         (func_acceptable): New function.
65770         (func_modules_transitive_closure): Use it.
65771
65772 2005-07-11  Bruno Haible  <bruno@clisp.org>
65773
65774         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
65775         Reported by Jim Meyering.
65776
65777 2005-07-10  Bruno Haible  <bruno@clisp.org>
65778
65779         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
65780         Needed when size_t is smaller than 'unsigned int'.
65781         Reported by Paul Eggert.
65782
65783 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
65784
65785         * modules/argp (Depends-on): Add unlocked-io
65786
65787 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
65788
65789         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
65790         block of defines.
65791
65792 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
65793
65794         * config/srclist.txt: Comment out regcomp.c, since we have a porting
65795         fix now.
65796
65797 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
65798         and Paul Eggert  <eggert@cs.ucla.edu>
65799
65800         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
65801         in wint_t, not wchar_t.  Remove now-unnecessary cast.
65802
65803 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
65804
65805         * modules/regex (Files): Add lib/regex_internal.c,
65806         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
65807         (Depends-on): Add extensions.
65808         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
65809
65810 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
65811
65812         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
65813         pathconf.
65814         * m4/same.m4 (gl_SAME): Likewise.
65815         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
65816
65817         * m4/regex.m4: Adjust to new libc regex implementation.
65818         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
65819         all the .c and .h parts of (the new) regex.
65820         Quote the m4 stuff better.
65821         Check for RE_ICASE bug of old gnulib.
65822         Check for REG_STARTEND of recent libc.
65823         Rename local variables from jm_* to gl_*.
65824         Quote operand of "test -f".
65825         Say "recent enough" version of libc, not "version 2".
65826         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
65827         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
65828         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
65829         Remove check for btowc, isascii.
65830         Require AM_LANGINFO_CODESET.
65831
65832 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
65833
65834         * lib/regex.c, regex.h: Sync from libc.
65835         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
65836         * lib/regexec.c:
65837         New files, synced from libc, except that regex_internal.h
65838         currently has a small porting fix.
65839
65840 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
65841
65842         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
65843         regex_internal.c, regexec.c.
65844         Add regex_internal.h too, but as a comment, since the libc version
65845         is currently broken in gnulib mode.
65846
65847 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
65848
65849         Support programs like Emacs that use gnulib but not gettext.
65850         * MODULES.html.sh (Internationalization functions): Add gettext-h.
65851         * modules/gettext-h: New file.
65852         * modules/gettext (Files): Remove lib/gettext.h.
65853         (Depends-on): Add gettext-h.
65854         (Makefile.am): Remove lib_SOURCES.
65855         * modules/argmatch, modules/c-stack, modules/closeout:
65856         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
65857         * modules/execute, modules/file-type, modules/getaddrinfo:
65858         * modules/getopt, modules/human, modules/javacomp:
65859         * modules/javaexec, modules/mkdir-p, modules/obstack:
65860         * modules/openat, modules/pagealign_alloc, modules/pipe:
65861         * modules/quotearg, modules/regex, modules/rpmatch:
65862         * modules/unicodeio, modules/userspec, modules/version-etc:
65863         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
65864         * modules/xsetenv:
65865         Depend on gettext-h, not gettext.
65866
65867 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
65868
65869         * gnulib-tool (func_import): Add support for 'public domain' license.
65870         * modules/alloca, modules/atexit, modules/memmove:
65871         Now public domain, not GPL.
65872         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
65873         * modules/realloc, modules/strerror, modules/strtod:
65874         Now LGPL, not GPL.
65875
65876 2005-07-05  Bruno Haible  <bruno@clisp.org>
65877
65878         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
65879         autoconf CVS. Needed for mingw.
65880
65881 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
65882
65883         Remove the dependency of the strftime module on the tzset module.
65884         * modules/strftime (Depends-on): Remove dependency on tzset.
65885
65886 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
65887
65888         Remove the dependency of the strftime module on the tzset module.
65889         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
65890         gl_FUNC_TZSET_CLOBBER.
65891
65892 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
65893
65894         Remove the dependency of the strftime module on the tzset module.
65895         * lib/strftime.c (my_strftime)
65896         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
65897         Copy the input structure, to work around some of the bug with
65898         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
65899         Solaris releases, you should also use the tzset module, but we won't
65900         require it as a dependency any more since we don't want LGPLed code
65901         to depend on GPLed code.
65902
65903 2005-07-02  Jim Meyering  <jim@meyering.net>
65904
65905         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
65906         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
65907         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
65908         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
65909
65910 2005-07-02  Jim Meyering  <jim@meyering.net>
65911
65912         * lib/backupfile.c (backup_args): Change a `0' to NULL.
65913
65914 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
65915
65916         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
65917         declares only 'struct timespec;' (!).
65918
65919 2005-07-01  Jim Meyering  <jim@meyering.net>
65920
65921         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
65922         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
65923         * lib/save-cwd.c, tempname.c:
65924         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
65925         and don't include <sys/file.h>).
65926
65927 2005-06-29  Jim Meyering  <jim@meyering.net>
65928
65929         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
65930         type name.  Use the variable name instead.
65931         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
65932         Likewise.
65933
65934 2005-06-28  Simon Josefsson  <jas@extundo.com>
65935
65936         * modules/check-version (Files): Add check-version.m4.
65937
65938 2005-06-28  Simon Josefsson  <jas@extundo.com>
65939
65940         * m4/check-version.m4: New file, suggested by Jim Meyering
65941         <jim@meyering.net>.
65942
65943 2005-06-28  Simon Josefsson  <jas@extundo.com>
65944
65945         * lib/check-version.h, lib/check-version.c: New files.
65946
65947 2005-06-28  Simon Josefsson  <jas@extundo.com>
65948
65949         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
65950         collision with global variable.  Better indentation.  Don't
65951         increment buffer pointer beyond buffer end.  Based on comments
65952         from Paul Eggert <eggert@cs.ucla.edu>.
65953
65954         * lib/base64.h: Indent.
65955
65956 2005-06-28  Simon Josefsson  <jas@extundo.com>
65957
65958         * doc/gnulib.texi (Library version handling): New section.
65959
65960 2005-06-28  Jim Meyering  <jim@meyering.net>
65961
65962         * check-module (find_included_lib_files): Hard-code another
65963         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
65964         but modules/fts-lgpl (correctly) does not list those files.
65965
65966         * modules/canonicalize (Files): Add lib/pathmax.h.
65967
65968 2005-06-25  Simon Josefsson  <jas@extundo.com>
65969
65970         * modules/check-version: New file.
65971
65972 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
65973
65974         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
65975         initializer of struct addrinfo, as an indication that we don't
65976         care how many members the structure has.
65977
65978 2005-06-24  Derek Price  <derek@ximbiot.com>
65979         and Bruno Haible  <bruno@clisp.org>
65980
65981         Remove stat module & update lstat.
65982         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
65983         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
65984         * m4/stat.m4: Remove this file.
65985
65986 2005-06-24  Derek Price  <derek@ximbiot.com>
65987         and Bruno Haible  <bruno@clisp.org>
65988
65989         Remove stat module & update lstat.
65990         * lib/stat.c: Remove this file...
65991         (slash_aware_lstat): ...moving this content and its support...
65992         * lib/lstat.c (rpl_lstat): ...into here.
65993         * lib/lstat.h: New file.
65994
65995 2005-06-24  Derek Price  <derek@ximbiot.com>
65996         and Bruno Haible  <bruno@clisp.org>
65997
65998         Remove stat module & update lstat.
65999         * config/srclist.txt (libc sources): Remove stat.
66000
66001 2005-06-24  Derek Price  <derek@ximbiot.com>
66002         and Bruno Haible  <bruno@clisp.org>
66003
66004         Remove stat module & update lstat.
66005         * MODULES.html.sh (stat): Remove.
66006         * MODULES.html: Regenerated.
66007         * modules/lstat (Description): Correct function name.
66008         (Files): Add "lstat.h".
66009         (Depends-on): Remove stat, add xalloc, stat-macros.
66010         * modules/stat: Remove this file.
66011         (Include): Add "lstat.h", remove <sys/stat.h>.
66012
66013 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
66014
66015         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
66016         (ranged_convert): Don't save conversion in a temporary struct.
66017         This causes a warning with GCC 4.0.0, and anyway in the typical
66018         case it's not worth the extra 100 bytes or so of code.
66019         (ranged_convert, __mktime_internal): When calling a function via a
66020         pointer P, use P () rather than (*P) (), as we now assume C89 or
66021         better.
66022
66023 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
66024
66025         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
66026         "who -r" failed to give output.  Problem reported by Tim Waugh.
66027
66028         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
66029         (xcalloc): Use it to avoid needless tests.
66030         Problem reported by Jim Meyering.
66031
66032 2005-06-20  Derek Price  <derek@ximbiot.com>
66033
66034         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
66035         unnecessary for Autoconfs > 2.59c.
66036
66037 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
66038
66039         * lib/argp.h (__option_is_short): Check upper limit of
66040         __key. Isprint() requires its argument to have the value
66041         of an unsigned char or EOF.
66042
66043 2005-06-16  Jim Meyering  <jim@meyering.net>
66044
66045         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
66046         when either N or S is zero.
66047
66048 2005-06-16  Derek Price  <derek@ximbiot.com>
66049
66050         * m4/bison.m4: Declare YACC & YFLAGS precious.
66051
66052 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
66053
66054         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
66055         multibyte string or pattern, fall back on unibyte matching.
66056         Problem reported by James Youngman.
66057
66058 2005-06-08  Bruno Haible  <bruno@clisp.org>
66059
66060         * modules/csharpcomp: New file.
66061         * MODULES.html.sh (C#): Add csharpcomp.
66062
66063 2005-06-08  Bruno Haible  <bruno@clisp.org>
66064
66065         * m4/csharpcomp.m4: New file, from GNU gettext.
66066
66067 2005-06-08  Bruno Haible  <bruno@clisp.org>
66068
66069         * lib/csharpcomp.h: New file, from GNU gettext.
66070         * lib/csharpcomp.c: New file, from GNU gettext.
66071         * lib/csharpcomp.sh.in: New file, from GNU gettext.
66072
66073 2005-06-08  Bruno Haible  <bruno@clisp.org>
66074
66075         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
66076         warning on mingw.
66077
66078 2005-06-07  Derek Price  <derek@ximbiot.com>
66079
66080         Sync from CVS.
66081         * lib/glob_.h: Indent nested #ifdef.
66082
66083 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
66084
66085         Sync from coreutils.
66086         Use "file name" when talking about file names, instead of "filename"
66087         or "path", as per the GNU coding standards.
66088         * lib/mkdir-p.c: Renamed from makepath.c.
66089         (make_dir_parents): Renamed from make_path.  All callers changed.
66090         * lib/mkdir-p.h: Likewise.  All includers changed.
66091         * lib/filenamecat.c: Renamed from path-concat.c.
66092         (file_name_concat): Renamed from path_concat.  All callers changed.
66093         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
66094         * lib/filenamecat.h: Likewise.  All includers changed.
66095         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
66096         in comments or local variable names.
66097         * lib/basename.c: Likewise.
66098         * lib/canonicalize.c, canonicalize.h: Likewise.
66099         * lib/dirname.c, dirname.h: Likewise.
66100         * lib/euidaccess.c: Likewise.
66101         * lib/exclude.c: Likewise
66102         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
66103         * lib/fsusage.c, fsuage.h: Likewise.
66104         * lib/fts.c, fts_.h: Likewise.
66105         * lib/getcwd.c: Likewise.
66106         * lib/getloadavg.c: Likewise.
66107         * lib/mkstemp.c: Likewise.
66108         * lib/mountlist.c, mountlist.h: Likewise.
66109         * lib/openat.c, openat.h: Likewise.
66110         * lib/readlink-stub.c: Likewise.
66111         * lib/readutmp.c, readutmp.h: Likewise.
66112         * lib/rename.c: Likewise.
66113         * lib/rmdir.c: Likewise.
66114         * lib/same.c: Likewise.
66115         * lib/savedir.c: Likewise.
66116         * lib/stripslash.c: Likewise.
66117         * lib/tempname.c: Likewise.
66118         * lib/xreadlink.c: Likewise.
66119         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
66120         All uses changed.
66121         * lib/exclude.h: Likewise.
66122
66123         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
66124         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
66125         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
66126         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
66127         * lib/pathmax.h: Include <limits.h> unconditionally, since other
66128         files have been getting away with it for years (MORE/BSD 4.3
66129         is extinct now).
66130         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
66131         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
66132
66133         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
66134         Define to 256, not 255, as per modern POSIX.
66135
66136 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
66137
66138         Sync from coreutils.
66139         Use "file name" when talking about file names, instead of "filename"
66140         or "path", as per the GNU coding standards.
66141         * MODULES.html.sh: mkdir-p renamed from makepath.
66142         filenamecat renamed from path-concat.
66143         * modules/filenamecat: Renamed from modules/path-concat.
66144         (Files): filenamecat.h and filenamecat.c renamed from
66145         path-concat.h and path-concat.c.
66146         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
66147         (Include): filenamecat.h, not path-concat.h.
66148         * modules/mkdir-p: Renamed from modules/makepath.
66149         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
66150         makepath.c.
66151         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
66152         (Include): mkdir-p.h, not makepath.h.
66153
66154 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
66155
66156         Sync from coreutils.
66157         * m4/mkdir-p.m4: Renamed from makepath.m4.
66158         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
66159         Rename files from makepath.c to mkdir-p.c, and from
66160         makepath.h to mkdir-p.h.
66161         * m4/filenamecat.m4: Renamed from path-concat.m4.
66162         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
66163         Rename files from path-concat.c to filenamecat.c,
66164         and from path-concat.h to filenamecat.h.
66165         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
66166         "file name" in local variables or comments.
66167         * m4/rename.m4: Likewise.
66168
66169 2005-06-01  Bruno Haible  <bruno@clisp.org>
66170
66171         * modules/csharpexec: New file.
66172         * MODULES.html.sh (C#): New section.
66173
66174 2005-06-01  Bruno Haible  <bruno@clisp.org>
66175
66176         * m4/csharp.m4: New file, from GNU gettext.
66177         * m4/csharpexec.m4: New file, from GNU gettext.
66178
66179 2005-06-01  Bruno Haible  <bruno@clisp.org>
66180
66181         * lib/csharpexec.h: New file, from GNU gettext.
66182         * lib/csharpexec.c: New file, from GNU gettext.
66183         * lib/csharpexec.sh.in: New file, from GNU gettext.
66184
66185 2005-05-31  Derek Price  <derek@ximbiot.com>
66186             Paul Eggert  <eggert@cs.ucla.edu>
66187
66188         Sync from cvs.
66189         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
66190
66191 2005-05-31  Derek Price  <derek@ximbiot.com>
66192             Paul Eggert  <eggert@cs.ucla.edu>
66193
66194         Sync from cvs.
66195         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
66196
66197 2005-05-29  Derek Price  <derek@ximbiot.com>
66198
66199         * config/srclist.txt (glob_.h, glob.c): Add these files.
66200
66201 2005-05-29  Derek Price  <derek@ximbiot.com>
66202
66203         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
66204         * modules/glob: New file.
66205         * modules/getlogin_r: Add link to POSIX spec in description.
66206
66207 2005-05-29  Derek Price  <derek@ximbiot.com>
66208             Paul Eggert  <eggert@cs.ucla.edu>
66209
66210         * m4/glob.m4: New file.
66211
66212 2005-05-29  Derek Price  <derek@ximbiot.com>
66213             Paul Eggert  <eggert@cs.ucla.edu>
66214
66215         * lib/glob_.h, lib/glob.c: New files.
66216
66217 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
66218
66219         * modules/fts (Files): Remove m4/inttypes-pri.m4.
66220         * modules/fts-lgpl (Depends-on): Remove gettext.
66221
66222 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
66223
66224         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
66225         and don't require gt_INTTYPES_PRI.
66226
66227 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
66228
66229         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
66230
66231         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
66232         the configuration hassle isn't worth it.
66233         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
66234         (LONGEST_MODIFIER, PRIuMAX): Remove.
66235
66236 2005-05-27  Bruno Haible  <bruno@clisp.org>
66237
66238         * lib/getlogin_r.h: Remove second include of <stddef.h>.
66239
66240 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
66241
66242         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
66243         _POSIX_PTHREAD_SEMANTICS for Solaris.
66244
66245 2005-05-25  Derek Price  <derek@ximbiot.com>
66246
66247         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
66248
66249 2005-05-25  Derek Price  <derek@ximbiot.com>
66250             Paul Eggert  <eggert@cs.ucla.edu>
66251
66252         * modules/getlogin_r, m4/getlogin_r.m4: New files.
66253         * lib/getlogin_r.c, getlogin_r.h: New files.
66254
66255 2005-05-25  Bruno Haible  <bruno@clisp.org>
66256             Derek Price  <derek@ximbiot.com>
66257
66258         * lib/getlogin_r.h: Simplify API documentation.
66259
66260 2005-05-23  Derek Price  <derek@ximbiot.com>
66261
66262         * modules/minmax (Files): Add m4/minmax.m4.
66263         (configure.ac): Add gl_MINMAX.
66264
66265 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
66266
66267         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
66268         so that unistd-safer.h (GPL'ed code) need not be included.
66269
66270 2005-05-22  Bruno Haible  <bruno@clisp.org>
66271
66272         * m4/minmax.m4: New file.
66273         Based on a patch by Derek Price <derek@ximbiot.com>.
66274
66275 2005-05-22  Bruno Haible  <bruno@clisp.org>
66276
66277         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
66278         (INT64_MIN): Fix definition.
66279         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
66280
66281         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
66282         NEED_SIGNED_INT_TYPES.
66283
66284         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
66285         HAVE_SYSTEM_INTTYPES.
66286
66287 2005-05-22  Bruno Haible  <bruno@clisp.org>
66288
66289         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
66290         Also include <sys/param.h> if it defines MIN, MAX.
66291         Based on a patch by Derek Price <derek@ximbiot.com>.
66292
66293 2005-05-21  Jim Meyering  <jim@meyering.net>
66294
66295         * modules/fts (Files): Add m4/inttypes-pri.m4.
66296         (Depends-on): Add lstat and remove gettext.  Alphabetize.
66297
66298 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
66299
66300         New fts module.
66301         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
66302         (setup_dir, free_dir): New functions.
66303         (enter_dir, leave_dir): Define trivial
66304         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
66305         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
66306         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
66307         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
66308         Move to fts-cycle.c.
66309         (fts_open): Use setup_dir.
66310         (fts_close): Use free_dir.
66311         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
66312         This adds a label and some gotos, but the alternatives were messier.
66313         Check for memory allocation failure when entering a dir.
66314         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
66315         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
66316         (FTS): New member fts_cycle, that is a union that contains the
66317         old active_dir_ht and cycle_state.  All uses changed to mention
66318         fts_cycle.ht and fts_cycle.state.
66319         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
66320         fts.c, with the following changes:
66321         (setup_dir, free_dir): New functions.
66322         (enter_dir): Now returns bool.  Return true if successful, false
66323         if memory exhausted.  All callers changed.
66324         Do not bother partly cleaning up on
66325         memory allocation failure; that is free_dir's job.
66326         However, free ad if hash_insert fails, to avoid memory leak.
66327         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
66328         fts->fts_options to see which union member to use.
66329
66330 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
66331
66332         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
66333         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
66334
66335 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
66336
66337         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
66338
66339 2005-05-20  Jim Meyering  <jim@meyering.net>
66340
66341         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
66342         Now a macro, to pacify GCC.
66343
66344 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
66345
66346         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
66347         of -1.
66348
66349 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
66350
66351         * lib/chown.c (rpl_chown): Return -1 on failure.
66352
66353 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
66354
66355         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
66356         Don't check for stddef.h.
66357         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
66358         don't use its results.
66359         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
66360         since we include them unconditionally.  Don't require
66361         AM_STDBOOL_H, since stdbool is a prerequisite.
66362         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
66363         since we assume C89 or better.
66364         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
66365         as we don't use their results.
66366         Don't check for fchdir, memmove, memset, strrchr, as we use
66367         them unconditionally.
66368         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
66369         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
66370
66371 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
66372
66373         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
66374         Include <stddef.h> unconditionally, since we assume C89 now.
66375         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
66376         * lib/fts.c: Include fts_.h first, to check interface.
66377         Do not include intprops.h; no longer needed.
66378         Include cycle-check.h and hash.h, since fts_.h no longer does.
66379         Remove unnecessary casts of closedir to void.
66380         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
66381         decide whether to decrement nlinks.
66382         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
66383         (FTS): Use struct hash_table * instead of Hash_table, so that
66384         we no longer need to include hash.h here.
66385
66386 2005-05-18  Jim Meyering  <jim@meyering.net>
66387
66388         * modules/dirfd (License): Change to LGPL.  Most of the code
66389         is already in the public domain.
66390
66391 2005-05-18  Jim Meyering  <jim@meyering.net>
66392
66393         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
66394         Reported by Yoann Vandoorselaere.
66395
66396 2005-05-17  Jim Meyering  <jim@meyering.net>
66397
66398         * m4/fts.m4: New file, from coreutils.
66399
66400 2005-05-17  Jim Meyering  <jim@meyering.net>
66401
66402         * lib/fts.c, lib/fts_.h: New files, from coreutils.
66403
66404 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
66405
66406         Sync from coreutils.
66407         * m4/unlinkdir.m4: New file.
66408
66409 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
66410
66411         Sync from coreutils.
66412         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
66413         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
66414         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
66415         White space changes only.
66416         * lib/makepath.c (make_path): Port to hosts where leading "//" is
66417         special.
66418         * lib/yesno.c: Include getline.h, not ctype.h.
66419         (yesno): Don't remove leading white space; POSIX doesn't allow it.
66420         Use getline to remove arbitrary restriction on response length.
66421
66422 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
66423
66424         * config/srclist-update: Spell out "Street" in FSF postal
66425         mail address; this is the style the FSF seems to prefer.
66426
66427         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
66428         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
66429         this updates FSF postal mail address.
66430
66431         Sync from coreutils.
66432         * modules/unlinkdir: New file.
66433         * modules/yesno (Depends-on): Add getline.
66434         * MODULES.html.sh (File system functions): Add unlinkdir.
66435
66436 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
66437
66438         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
66439         lib/strsep.h:
66440         Change the initial comment to refer to GPL, not LGPL.
66441         gnulib-tool will change it to LGPL as needed.
66442
66443         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
66444         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
66445         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
66446         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
66447         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
66448         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
66449         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
66450         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
66451         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
66452         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
66453         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
66454         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
66455         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
66456         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
66457         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
66458         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
66459         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
66460         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
66461         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
66462         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
66463         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
66464         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
66465         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
66466         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
66467         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
66468         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
66469         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
66470         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
66471         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
66472         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
66473         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
66474         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
66475         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
66476         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
66477         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
66478         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
66479         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
66480         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
66481         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
66482         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
66483         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
66484         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
66485         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
66486         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
66487         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
66488         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
66489         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
66490         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
66491         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
66492         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
66493         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
66494         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
66495         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
66496         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
66497         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
66498         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
66499         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
66500         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
66501         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
66502         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
66503         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
66504         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
66505         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
66506         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
66507         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
66508         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
66509         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
66510         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
66511         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
66512         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
66513         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
66514         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
66515         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
66516         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
66517         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
66518         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
66519         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
66520         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
66521         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
66522         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
66523         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
66524         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
66525         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
66526         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
66527         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
66528         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
66529         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
66530         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
66531         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
66532         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
66533         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
66534         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
66535         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
66536         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
66537         lib/yesno.c, lib/yesno.h:
66538         Update FSF postal mail address.
66539
66540 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
66541
66542         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
66543         tests/test-memmem.c, tests/test-stpncpy.c:
66544         Update FSF postal mail address.
66545
66546 2005-05-13  Bruno Haible  <bruno@clisp.org>
66547
66548         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
66549         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
66550         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
66551         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
66552         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
66553         Add support for 64-bit integers in the MSVC compiler.
66554
66555 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
66556
66557         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
66558
66559 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
66560
66561         * gnulib-tool (func_import): Sort and uniquify recommended includes.
66562
66563 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
66564
66565         * doc/getdate.texi (General date syntax): Don't say that date
66566         date --iso-8601=ns generates acceptable dates; it doesn't yet.
66567         Problem reported by Nic Ferrier.
66568
66569 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
66570
66571         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
66572         specified in ai_socktype. Fix invalid ai_protocol
66573         check. ai_protocol is usually set to 0 or depending on
66574         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
66575         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
66576         ai_socktype / ai_protocol in the returned addrinfo structure.
66577
66578 2005-05-10  Simon Josefsson  <jas@extundo.com>
66579
66580         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
66581         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
66582
66583 2005-05-10  Karl Berry  <karl@gnu.org>
66584
66585         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
66586         (from http://www.gnu.org/licenses).
66587         * doc/COPYING.LIB: also rename to COPYING.LESSER.
66588         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
66589         fdl.texi suffices.
66590
66591 2005-05-10  Karl Berry  <karl@gnu.org>
66592
66593         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
66594         (COPYING.DOC): remove.
66595
66596         * config/srclist-update: new FSF address.
66597
66598 2005-05-10  Derek Price  <derek@ximbiot.com>
66599
66600         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
66601         possible.
66602
66603 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
66604             Bruno Haible  <bruno@clisp.org>
66605
66606         * modules/inet_ntop: New file.
66607         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
66608         inet_ntop.
66609
66610 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
66611             Bruno Haible  <bruno@clisp.org>
66612
66613         * m4/inet_ntop.m4: New file.
66614
66615 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
66616             Bruno Haible  <bruno@clisp.org>
66617
66618         * lib/inet_ntop.h: New file.
66619         * lib/inet_ntop.c: New file, from glibc with modifications.
66620
66621 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
66622
66623         * modules/time_r (License): Change to LGPL.
66624         * modules/extensions (License): Change to LGPL.  Actually,
66625         the license is more permissive than that, but currently gnulib-tool
66626         doesn't know how to handle more-permissive licenses.
66627
66628         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
66629         Problem reported by Dave Love.
66630
66631 2005-05-08  Jim Meyering  <jim@meyering.net>
66632
66633         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
66634         blank.
66635
66636 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
66637
66638         * modules/argmatch (Depends-on): Add stdbool.
66639         * modules/backupfile (Depends-on): Likewise.
66640         * modules/chdir-long (Depends-on): Likewise.
66641         * modules/closeout (Depends-on): Likewise.
66642         * modules/cycle-check (Depends-on): Likewise.
66643         * modules/dirname (Depends-on): Likewise.
66644         * modules/fnmatch (Depends-on): Likewise.
66645         * modules/fsusage (Depends-on): Likewise.
66646         * modules/fwriteerror (Depends-on): Likewise.
66647         * modules/getcwd (Depends-on): Likewise.
66648         * modules/getloadavg (Depends-on): Likewise.
66649         * modules/hard-locale (Depends-on): Likewise.
66650         * modules/makepath (Depends-on): Likewise.
66651         * modules/mountlist (Depends-on): Likewise.
66652         * modules/nanosleep (Depends-on): Likewise.
66653         * modules/posixtm (Depends-on): Likewise.
66654         * modules/quotearg (Depends-on): Likewise.
66655         * modules/readtokens (Depends-on): Likewise.
66656         * modules/readtokens0 (Depends-on): Likewise.
66657         * modules/readutmp (Depends-on): Likewise.
66658         * modules/save-cwd (Depends-on): Likewise.
66659         * modules/strftime (Depends-on): Likewise.
66660         * modules/userspec (Depends-on): Likewise.
66661         * modules/utimecmp (Depends-on): Likewise.
66662         * modules/xgetcwd (Depends-on): Likewise.
66663         * modules/xnanosleep (Depends-on): Likewise.
66664         * modules/xstrtod (Depends-on): Likewise.
66665         * modules/yesno (Depends-on): Likewise.
66666
66667 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
66668
66669         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
66670         needless checks.
66671
66672 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
66673
66674         Merge from coreutils.  Among other things,
66675         add bulletproofing for cases where stdin, stdout, or stderr are closed.
66676         * lib/fd-safer.c: New file.
66677         * lib/fcntl-safer.h, open-safer.c: Remove.
66678         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
66679         * lib/dup-safer.c: Include unistd-safer.h first.
66680         Don't include errno.h.
66681         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
66682         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
66683         * lib/file-type.c: Rely on file-type.h change.
66684         * lib/getloadavg.c: Include unistd-safer.h.
66685         (getloadavg): Use safer open.
66686         * lib/getusershell.c: Include "stdio-safer.h".
66687         (getusershell): Use safer fopen.
66688         * lib/long-options.c (long_options): Use NULL rather than 0.
66689         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
66690         'free'.
66691         * lib/modechange.c: Likewise.
66692         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
66693         (MODE_DONE): New constant.
66694         (struct mode_change): Remove 'next' member.
66695         (make_node_op_equals): New function; like the old one of the
66696         same name, except it allocates an array.
66697         (mode_compile, mode_create_from_ref): Use it.
66698         (mode_compile): Allocate result as an array, not a linked list.
66699         Parse octal string ourself, so that we catch mistakes like "+0".
66700         (mode_adjust): Arg is an array, not a linked list.
66701         * lib/modechange.c: Include stat-macros.h, xalloc.h.
66702         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
66703         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
66704         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
66705         Remove.  This is now stat-macros.h's job.
66706         (talloc): Remove.  All callers replaced by xalloc, so that
66707         our invokers don't have to worry about reporting memory failures.
66708         (make_node_op_equals): Remove.
66709         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
66710         New constants.
66711         (struct mode_change): Moved here from modechange.h.
66712         (mode_append_entry): Remove.
66713         (mode_compile): Remove MASKED_OPS arg, since it encouraged
66714         apps to have incorrect behavior.  Use simpler algorithm for head
66715         and tail.  Don't futz with umask; that's now the job of mode_adjust.
66716         Detect more invalid usages rather than having somewhat-random behavior.
66717         Don't insert an "a=" action, as that leads to incorrect behavior.
66718         (mode_compile, mode_create_from_ref): Return NULL on error instead
66719         of an enum, since now there's only one way to have an error.  All
66720         callers changed.
66721         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
66722         at the correct time.  Simplify calculation of "+u" and its ilk.
66723         Don't mishandle "+X".
66724         (mode_free): Remove "register" and localize decls.
66725         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
66726         (struct mode_change): Move to modechange.c; callers don't
66727         need to see this stuff.
66728         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
66729         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
66730         (mode_change, mode_adjust): Reflect the new signatures noted above.
66731         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
66732         that might redefine system include files.
66733         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
66734         (my_usleep): Use NULL rather than (void *) 0.
66735         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
66736         Use siginterrupt to specify that system calls should be interrupted.
66737         (rpl_nanosleep): Move initialization of suspended closer to call of
66738         my_usleep.
66739         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
66740         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
66741         (desirable_utmp_entry): New function.
66742         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
66743         using x2nrealloc, to simplify logic.
66744         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
66745         size calculation.  Do not assume utmp file is a regular file.
66746         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
66747         (READ_UTMP_CHECK_PIDS): New constant.
66748         * lib/save-cwd.c: Include unistd-safer.h.
66749         (save_cwd): Use fd_safer.
66750         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
66751         [!_LIBC] Include "stat-macros.h" instead.
66752         * lib/unistd-safer.h (fd_safer): New decl.
66753
66754 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
66755
66756         * modules/getloadavg (Depends-on): Add unistd-safer.
66757         * modules/getusershell (Depends-on): Add stdio-safer.
66758         * modules/lstat (Depends-on): Remove xalloc.
66759         * modules/mkstemp (Depends-on): Add stat-macros.
66760         * modules/modechange (Depends-on): Remove xstrtol.
66761         Add stat-macros, xalloc.
66762         * modules/save-cwd (Depends-on): Add unistd-safer.
66763         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
66764         * modules/unistd-safer (Files): Add lib/fd-safer.c
66765         (Makefile.am): Remove lib_SOURCES.
66766
66767         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
66768         Remove fcntl-safer; unistd-safer supersedes it.
66769
66770 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
66771
66772         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
66773         AC_HEADER_STAT.
66774         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
66775         (gl_PREREQ_CHOWN): Remove.
66776         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
66777         it.  Don't require AC_HEADER_STAT.
66778         (gl_PREREQ_LSTAT): Remove.
66779         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
66780         Don't require AC_HEADER_STAT.
66781         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
66782         (gl_PREREQ_RMDIR): Remove.
66783         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
66784         mention stat-macros.h or AC_HEADER_STAT, since we'll make
66785         the stat-macros module a prerequisite.
66786         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
66787         * m4/filemode.m4 (gl_FILEMODE): Likewise.
66788         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
66789         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
66790         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
66791         variable names.
66792         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
66793         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
66794         variable prefixes.
66795         * m4/fcntl-safer.m4: Remove.
66796         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
66797         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
66798         Invoke gl_PREREQ_FD_SAFER.
66799         (gl_PREREQ_FD_SAFER): New macro.
66800         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
66801         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
66802         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
66803         Remove duplicate call to AC_LIBOBJ(readutmp).
66804         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
66805
66806         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
66807         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
66808
66809 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
66810
66811         * MODULES.html.sh (Misc): Add byteswap.
66812
66813 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
66814
66815         * modules/getcwd (Depends-on): Add extensions.
66816         * modules/openat (Depends-on): Likewise.
66817
66818 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
66819
66820         * modules/byteswap: New file.
66821
66822 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
66823
66824         * m4/byteswap.m4: New file.
66825
66826 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
66827
66828         * lib/byteswap_.h: New file.
66829
66830 2005-04-25  Karl Berry  <karl@gnu.org>
66831
66832         * m4/gettext.m4: Update from GNU gettext 0.14.4.
66833
66834 2005-04-25  Albert Chin  <china@thewrittenword.com>
66835
66836         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
66837         Toolkit C bug.
66838
66839 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
66840
66841         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
66842         (func_ln_if_changed) Remove forcibly for no error message
66843         in case file does not exist.
66844
66845 2005-04-19  Simon Josefsson  <jas@extundo.com>
66846
66847         * gnulib-tool (Options): Make --symlink mean --symbolic.
66848
66849 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
66850
66851         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
66852
66853 2005-04-16  Simon Josefsson  <jas@extundo.com>
66854
66855         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
66856
66857 2005-04-15  Simon Josefsson  <jas@extundo.com>
66858
66859         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
66860
66861 2005-04-15  Simon Josefsson  <jas@extundo.com>
66862
66863         * gnulib-tool: Rename --symlink to --symbolic.
66864
66865 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
66866
66867         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
66868         symbolic links to files instead of copying/moving.  Add --aux-dir,
66869         specifying directory relative --dir where auxiliary build tools
66870         are placed.
66871
66872 2005-04-14  Bruno Haible  <bruno@clisp.org>
66873
66874         * modules/allocsa (License): Change to LGPL.
66875         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
66876
66877 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
66878
66879         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
66880         that "UTC +1 second" continues to work.  Problem reported
66881         by Dmitry V. Levin.
66882         (relunit_snumber): New rule.
66883         (relunit): Use it.
66884
66885 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
66886
66887         * lib/getdate.y (universal_time_zone_table): New constant.
66888         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
66889         universal_time_zone_table.
66890         (lookup_zone): Prefer universal_time_zone_table to
66891         local_time_zone_table, so that "GMT" time stamps are allowed in
66892         London during the summer.  Problem reported by Ian Abbott.
66893
66894 2005-04-12  Jim Meyering  <jim@meyering.net>
66895
66896         * lib/human.c (humblock): Set *options even when returning due to
66897         xstrtoumax conversion failure.  Thanks to a used-uninitialized
66898         warning from gcc-4.
66899
66900 2005-04-09  Jim Meyering  <jim@meyering.net>
66901
66902         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
66903         -Wuninitialized: initialize tm0.tm_year.
66904
66905 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
66906
66907         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
66908         count, since there's no maximum.  All uses changed.
66909         Add member dsts_seen.
66910         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
66911         not being INT_MAX.
66912         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
66913         Use pc_rels_seen to decide whther a date is absolute.
66914
66915         * lib/getdate.y (number): Don't overwrite year.
66916         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
66917         check.
66918
66919 2005-04-02  Simon Josefsson  <jas@extundo.com>
66920
66921         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
66922         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
66923
66924 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
66925
66926         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
66927         where no absolute path name can be longer than PATH_MAX.
66928
66929 2005-03-27  Jim Meyering  <jim@meyering.net>
66930
66931         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
66932
66933 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
66934
66935         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
66936         "one's complement" -> "ones' complement" in comment, as per Knuth.
66937         "value of type" -> "type or expression" in comment.
66938         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
66939
66940 2005-03-26  Jim Meyering  <jim@meyering.net>
66941
66942         Comment nits.
66943         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
66944         Correct typos: s/or/of/.
66945
66946 2005-03-26  Jim Meyering  <jim@meyering.net>
66947
66948         * modules/check-include-files: Move to ../ and rename to...
66949         * check-module: ...this.
66950
66951 2005-03-25  Jim Meyering  <jim@meyering.net>
66952
66953         * modules/xvasprintf (Files): Add xalloc.h.
66954
66955 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
66956
66957         * modules/gettext (Files): config/config.rpath ->
66958         build-aux/config.rpath
66959         * modules/iconv (Files): Likewise.
66960         Problem reported by Oskar Liljeblad.
66961
66962 2005-03-23  Jim Meyering  <jim@meyering.net>
66963
66964         * modules/check-include-files: New script to check for
66965         missing dependencies, multiple includes, etc.
66966
66967         * modules/c-strtold (Depends-on): Add xalloc.
66968         * modules/c-strtod (Depends-on): Add xalloc.
66969         * modules/hash (Depends-on): Add xalloc.
66970         (Files): Remove lib/xalloc.h.
66971
66972         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
66973         * modules/userspec (Files): Add lib/inttostr.h.
66974
66975 2005-03-23  Jim Meyering  <jim@meyering.net>
66976
66977         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
66978
66979 2005-03-22  Jim Meyering  <jim@meyering.net>
66980
66981         * modules/stat-macros: New module.
66982         * modules/canonicalize, modules/euidaccess, modules/file-type,
66983         * modules/filemode, modules/lchown, modules/makepath,
66984         * modules/rmdir, modules/stat: Depend on new stat-macros module
66985         rather than listing lib/stat-macros.h manually.
66986         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
66987
66988 2005-03-22  Jim Meyering  <jim@meyering.net>
66989
66990         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
66991
66992 2005-03-22  Bruno Haible  <bruno@clisp.org>
66993
66994         * config/srclist.txt: Replace target directory 'config' with
66995         'build-aux'.
66996         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
66997         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
66998         ../build-aux/.
66999
67000 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
67001
67002         * modules/chdir-long (Depends-on): Add mempcpy.
67003
67004         * modules/acl, modules/backupfile, modules/c-strtod,
67005         modules/c-strtold, modules/canon-host, modules/canonicalize,
67006         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
67007         modules/exclude, modules/exitfail, modules/file-type,
67008         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
67009         modules/getdate, modules/getline, modules/getpagesize,
67010         modules/getpass, modules/getugroups, modules/group-member,
67011         modules/hard-locale, modules/hash, modules/human, modules/idcache,
67012         modules/inttostr, modules/long-options, modules/makepath,
67013         modules/md5, modules/memcasecmp, modules/memcoll,
67014         modules/modechange, modules/mountlist, modules/path-concat,
67015         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
67016         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
67017         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
67018         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
67019         modules/strftime, modules/strndup, modules/strverscmp,
67020         modules/timespec, modules/unlocked-io, modules/userspec,
67021         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
67022         modules/yesno:
67023         Remove lib_SOURCES line from Makefile.am section, as this is now
67024         done automatically by the corresponding Autoconf macro.
67025
67026 2005-03-21  Jim Meyering  <jim@meyering.net>
67027
67028         Changes imported from coreutils.
67029
67030         * lib/cycle-check.c: Don't include xalloc.h.
67031
67032         * lib/path-concat.c: Don't include assert.h.
67033         (path_concat): Remove assertion that would have triggered
67034         for ABASE starting with more than one slash.
67035         Reported by Andreas Schwab.
67036
67037         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
67038         properly when ABASE is an absolute file name.
67039         Correct the description of this function.
67040         Include <assert.h>.
67041         Add an assertion and a test driver.
67042         This fixes a bug introduced on 2004-07-02.
67043         Andreas Schwab reported the resulting failure of cp --parents:
67044         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
67045
67046 2005-03-21  Jim Meyering  <jim@meyering.net>
67047
67048         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
67049         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
67050
67051 2005-03-21  Jim Meyering  <jim@meyering.net>
67052         and  Paul Eggert  <eggert@cs.ucla.edu>
67053
67054         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
67055         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
67056         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
67057         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
67058         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
67059         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
67060         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
67061         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
67062         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
67063         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
67064         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
67065         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
67066         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
67067         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
67068         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
67069         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
67070         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
67071         for these modules.
67072
67073 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
67074
67075         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
67076         (which shouldn't happen), generate nothing instead of returning 0
67077         immediately, so that nstrftime (NULL, ...) doesn't return 0.
67078
67079 2005-03-16  Bruno Haible  <bruno@clisp.org>
67080
67081         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
67082         HAVE_LONGLONG_64BIT.
67083
67084 2005-03-16  Bruno Haible  <bruno@clisp.org>
67085
67086         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
67087         HAVE_LONGLONG_64BIT.
67088
67089 2005-03-16  Bruno Haible  <bruno@clisp.org>
67090
67091         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
67092         HAVE_LONGLONG_64BIT.
67093
67094 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
67095
67096         * lib/strftime.c (my_strftime): Prepend space to format so that we can
67097         reliably distinguish strftime failure from empty output on POSIX
67098         hosts.
67099
67100 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
67101
67102         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
67103         (iconv_string): Don't guess a size-zero buffer, as that might cause
67104         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
67105         result would be 'too large', where 'too large' is (heuristically)
67106         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
67107         overflow concerns.  This will prevent some unwanted malloc failures
67108         when the inputs are very large.
67109
67110 2005-03-15  Karl Berry  <karl@gnu.org>
67111
67112         * config/srclist.txt (config.rpath): from gettext.
67113         * config/config.rpath: update.
67114
67115 2005-03-15  Bruno Haible  <bruno@clisp.org>
67116
67117         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
67118         to 'negate'.
67119
67120         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
67121         variable.
67122
67123         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
67124         results.
67125
67126 2005-03-14  Simon Josefsson  <jas@extundo.com>
67127
67128         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
67129         <fx@gnu.org>.
67130
67131 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
67132
67133         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
67134         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
67135         intprops.h.
67136         * lib/strtol.c: Likewise.
67137
67138 2005-03-14  Jim Meyering  <jim@meyering.net>
67139
67140         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
67141         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
67142         to be nonzero so that we (and caller) can detect the difference
67143         between a valid zero-length expansion and an error return, even
67144         when the underlying strftime fails before writing anything into
67145         that location.
67146
67147 2005-03-14  Bruno Haible  <bruno@clisp.org>
67148
67149         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
67150         Update from GNU gettext 0.14.3.
67151
67152 2005-03-10  Jim Meyering  <jim@meyering.net>
67153
67154         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
67155
67156 2005-03-10  Jim Meyering  <jim@meyering.net>
67157
67158         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
67159         so that this module works on systems without fchdir.
67160
67161 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
67162
67163         Factor int-properties macros into a single file, except for
67164         glibc-related files.
67165         * lib/intprops.h: New file.
67166         * lib/getloadavg.c: Include it instead of limits.h.
67167         (INT_STRLEN_BOUND): Remove.
67168         * lib/human.c: Include intprops.h.
67169         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
67170         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
67171         302/1000.
67172         * lib/inttostr.h: Include intprops.h instead of limits.h.
67173         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
67174         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
67175         for consistency with intprops.h.
67176         (time_t_is_integer, twos_complement_arithmetic): Use them.
67177         * lib/sig2str.h: Include <signal.h>, intprops.h.
67178         (INT_STRLEN_BOUND): Remove.
67179         * lib/strftime.c (TYPE_SIGNED): Remove.
67180         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
67181         * lib/strtol.c: Adjust comments to match intprops.h.
67182         * lib/userspec.c: Include intprops.h.
67183         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
67184         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
67185         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
67186         instead of rolling our own expressions.
67187         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
67188
67189         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
67190         instead of int.
67191         (my_strftime): Do not mishandle years close to INT_MAX, by doing
67192         the right thing even if adding 1900 would overflow.  Similarly
67193         for tm_mon + 1 and tm_yday + 1.
67194         Make %Y always equivalent to %C%y, and similarly for %G and %g.
67195         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
67196         (DO_SIGNED_NUMBER): New macro.
67197         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
67198
67199 2005-03-07  Bruno Haible  <bruno@clisp.org>
67200
67201         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
67202
67203 2005-03-07  Bruno Haible  <bruno@clisp.org>
67204
67205         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
67206
67207 2005-03-04  Derek R. Price  <derek@ximbiot.com>
67208
67209         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
67210         (func_import): Only replace files via --import when they have actually
67211         changed.
67212
67213 2005-03-03  Derek R. Price  <derek@ximbiot.com>
67214
67215         * m4/mmap-anon.m4: New file.
67216         * m4/pagealign_alloc.m4: New file.
67217
67218 2005-03-03  Derek R. Price  <derek@ximbiot.com>
67219             Bruno Haible  <bruno@clisp.org>
67220
67221         * modules/pagealign_alloc: New file.
67222         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
67223
67224 2005-03-03  Derek R. Price  <derek@ximbiot.com>
67225             Bruno Haible  <bruno@clisp.org>
67226
67227         * lib/pagealign_alloc.h: New file.
67228         * lib/pagealign_alloc.c: New file.
67229
67230 2005-03-03  Bruno Haible  <bruno@clisp.org>
67231
67232         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
67233         Use an all-permissive copyright notice, recommended by RMS.
67234
67235 2005-03-02  Bruno Haible  <bruno@clisp.org>
67236
67237         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
67238         of AIX, the replacement has to be done only after <string.h> is
67239         included, therefore not in config.h. stpncpy.h does the replacement,
67240         and stpncpy.c uses it.
67241
67242 2005-03-02  Bruno Haible  <bruno@clisp.org>
67243
67244         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
67245         stpncpy.c uses it.
67246
67247 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
67248
67249         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
67250         The workaround isn't strictly needed for POSIX conformance, and
67251         it's too much of a pain to configure and maintain.  We'll ask
67252         people to fix their kernels instead.
67253         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
67254         (NANOSLEEP_BUG_WORKAROUND): Remove.
67255         (xnanosleep): Remove the workaround.
67256
67257 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
67258
67259         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
67260         Reported by Derek Price.
67261         (Include): Add "timespec.h".
67262
67263         * modules/xnanosleep (Depends-on): Remove gethrxtime.
67264
67265 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
67266
67267         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
67268         to detect nanosleep bug.
67269
67270 2005-03-01  Bruno Haible  <bruno@clisp.org>
67271
67272         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
67273
67274 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
67275
67276         * modules/gethrxtime: New file.
67277         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
67278         (Depends-on): Add gethrxtime.
67279         (configure.ac): Add gl_XNANOSLEEP.
67280         (Makefile.am): Remove lib_SOURCES line.
67281
67282 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
67283
67284         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
67285         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
67286
67287 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
67288
67289         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
67290         * lib/timespec.h (gettime): Return void, since it always
67291         succeeds now.  All uses changed.
67292         * lib/gettime.c (gettime) Likewise.
67293         [HAVE_NANOTIME]: Prefer nanotime.
67294         Assume gettimeofday succeeds, as POSIX requires.
67295         Assime time () succeeds, since other code already does.
67296         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
67297         (timespec_subtract): Remove.
67298         (NANOSLEEP_BUG_WORKAROUND): New constant.
67299         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
67300         things considerably.  Use it only on GNU/Linux hosts, since the
67301         workaround shouldn't be needed elsewhere.
67302
67303 2005-02-24  Bruno Haible  <bruno@clisp.org>
67304
67305         * modules/gettext (Files): Add m4/glibc2.m4.
67306
67307 2005-02-24  Bruno Haible  <bruno@clisp.org>
67308
67309         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
67310         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
67311         * m4/progtest.m4:
67312         Update from GNU gettext 0.14.2.
67313         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
67314
67315 2005-02-24  Bruno Haible  <bruno@clisp.org>
67316
67317         * lib/localcharset.c: Update from GNU gettext 0.14.2.
67318         * lib/config.charset: Update from GNU gettext 0.14.2.
67319
67320 2005-02-24  Bruno Haible  <bruno@clisp.org>
67321
67322         * lib/gettext.h: Update from GNU gettext 0.14.2.
67323
67324 2005-02-23  Simon Josefsson  <jas@extundo.com>
67325
67326         * m4/iconvme.m4: New file.
67327
67328 2005-02-23  Jim Meyering  <jim@meyering.net>
67329
67330         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
67331         change.
67332         Thanks to Bruno Haible for catching it.
67333
67334 2005-02-22  Simon Josefsson  <jas@extundo.com>
67335
67336         * modules/iconvme: New file.
67337
67338         * MODULES.html.sh: Add iconvme.
67339
67340 2005-02-22  Simon Josefsson  <jas@extundo.com>
67341
67342         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
67343
67344 2005-02-22  Simon Josefsson  <jas@extundo.com>
67345
67346         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
67347
67348 2005-02-22  Jim Meyering  <jim@meyering.net>
67349
67350         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
67351         s/ifndef/ifdef/.
67352
67353 2005-02-20  Neil Conway  <neilc@samurai.com>
67354
67355         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
67356         returned by OSX/Darwin if the specified buffer is not large
67357         enough for the hostname.
67358
67359 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
67360
67361         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
67362         pass it to _help, otherwise the latter coredumps trying to
67363         dereference state.root_argp.
67364
67365 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
67366
67367         * modules/chdir-long (Depends-on): Add memrchr.
67368         * modules/memrchr (Files): Add lib/memrchr.h.
67369         (Include): "memrchr.h".
67370
67371 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
67372
67373         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
67374
67375 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
67376
67377         * lib/memrchr.h: New file.
67378         * lib/chdir-long.c: Include it.
67379         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
67380         Don't bother including stddef.h.
67381
67382 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
67383
67384         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
67385         inclusion.
67386         Include <sys/types.h>, for dev_t.
67387         (ME_DUMMY, ME_REMOTE): Move from here....
67388         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
67389         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
67390         Dmitry V. Levin.
67391         Include mountlist.h first, to test the interface.
67392
67393 2005-01-29  Bruno Haible  <bruno@clisp.org>
67394
67395         * lib/progname.c (program_name): Initialize.
67396         Needed when linking statically on MacOS X.
67397
67398 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
67399
67400         Sync from coreutils.
67401         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
67402         (Depends-on): Add c-strtod.
67403         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
67404
67405 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
67406
67407         Sync from coreutils.
67408         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
67409
67410         Remove files that are specific to coreutils.
67411         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
67412
67413 2005-01-28  Bruno Haible  <bruno@clisp.org>
67414
67415         * modules/javacomp: New file.
67416         * MODULES.html.sh (Java): Add javacomp.
67417
67418 2005-01-28  Bruno Haible  <bruno@clisp.org>
67419
67420         * m4/javacomp.m4: New file, from GNU gettext.
67421
67422 2005-01-28  Bruno Haible  <bruno@clisp.org>
67423
67424         * lib/javacomp.sh.in: New file, from GNU gettext.
67425         * lib/javacomp.h: New file, from GNU gettext.
67426         * lib/javacomp.c: New file, from GNU gettext.
67427
67428 2005-01-26  Simon Josefsson  <jas@extundo.com>
67429
67430         * lib/gai_strerror.c: Use GPL in header.
67431
67432 2005-01-26  Bruno Haible  <bruno@clisp.org>
67433
67434         * modules/javaexec: New file.
67435         * MODULES.html.sh (Java): Add javaexec.
67436
67437 2005-01-26  Bruno Haible  <bruno@clisp.org>
67438
67439         * m4/javaexec.m4: New file, from GNU gettext.
67440
67441 2005-01-26  Bruno Haible  <bruno@clisp.org>
67442
67443         * lib/javaexec.sh.in: New file, from GNU gettext.
67444         * lib/javaexec.h: New file, from GNU gettext.
67445         * lib/javaexec.c: New file, from GNU gettext.
67446
67447 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
67448
67449         * modules/lchown (Depends-on): Remove lchown.h
67450
67451 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
67452
67453         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
67454         must be defined if the header file was not found, in order
67455         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
67456
67457 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
67458
67459         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
67460         initializers for struct pentry_state.
67461         (__argp_error): Check return value of __asprintf
67462         (__argp_failure): Translate error message
67463
67464         * lib/argp-parse.c: Removed braces around the expansion of N_()
67465
67466 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
67467
67468         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
67469         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
67470         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
67471         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
67472         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
67473         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
67474         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
67475         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
67476         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
67477         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
67478         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
67479         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
67480         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
67481         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
67482         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
67483         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
67484         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
67485         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
67486         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
67487         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
67488         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
67489         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
67490         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
67491         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
67492         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
67493         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
67494         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
67495         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
67496         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
67497         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
67498         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
67499         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
67500         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
67501         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
67502         xstrtol.m4, xstrtoumax.m4, yesno.m4:
67503         Use an all-permissive copyright notice, recommended by RMS.
67504
67505 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
67506
67507         * modules/chdir-long (Depends-on): Remove mempcpy.
67508
67509 2005-01-21  Jim Meyering  <jim@meyering.net>
67510
67511         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
67512         same value as for Solaris 9.
67513
67514         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
67515         component length.  This included changing the parameter to be
67516         of type `char *' rather than `char const *'.
67517         * lib/chdir-long.h (chdir_long): Update prototype.
67518
67519         * lib/openat.c (fdopendir, fstatat): New functions.
67520         * lib/openat.h: Include headers required for use of DIR and struct
67521         stat.
67522         [AT_SYMLINK_NOFOLLOW]: Define.
67523         (fdopendir, fstatat): Add prototypes.
67524
67525 2005-01-21  Bruno Haible  <bruno@clisp.org>
67526
67527         * modules/classpath: New file.
67528         * MODULES.html.sh (Java): Add classpath.
67529
67530 2005-01-21  Bruno Haible  <bruno@clisp.org>
67531
67532         * lib/classpath.h: New file, from GNU gettext.
67533         * lib/classpath.c: New file, from GNU gettext.
67534
67535 2005-01-20  Simon Josefsson  <jas@extundo.com>
67536
67537         * modules/version-etc-fsf: New file.
67538
67539 2005-01-20  Simon Josefsson  <jas@extundo.com>
67540
67541         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
67542         * lib/version-etc.c: Remove version_etc_copyright.
67543         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
67544         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
67545
67546 2005-01-20  Simon Josefsson  <jas@extundo.com>
67547
67548         * lib/base64.h (isbase64): Add.
67549
67550         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
67551         using a unsigned prototype, don't inline.
67552         (base64_decode): Use it.
67553
67554 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
67555
67556         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
67557         it.
67558
67559 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
67560
67561         * lib/save-cwd.c (save_cwd): Remove code to support the case
67562         where fchdir is missing or flaky.
67563
67564 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
67565
67566         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
67567
67568 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
67569
67570         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
67571         AC_LIBSOURCES now does this.
67572         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
67573         with new ullong_max module.
67574
67575 2005-01-19  Bruno Haible  <bruno@clisp.org>
67576
67577         * modules/sh-quote: New file.
67578         * MODULES.html.sh (Executing programs): Add sh-quote.
67579
67580 2005-01-19  Bruno Haible  <bruno@clisp.org>
67581
67582         * lib/sh-quote.h: New file, from GNU gettext.
67583         * lib/sh-quote.c: New file, from GNU gettext.
67584
67585 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
67586
67587         Merge from coreutils.
67588         * m4/ullong_max.m4: New file.
67589         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
67590         (gl_MACROS): Assume localeconv exists.
67591
67592 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
67593
67594         Merge changes from coreutils, as described below in several
67595         changelogs dated today.
67596
67597         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
67598         (O_DIRECTORY): Remove; not needed here, since "." must be
67599         a directory.  All uses removed.
67600         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
67601         universal on Suns, and we also need to test for IRIX.
67602         Revamp code to use 'if' rather than '#if'.
67603         Avoid unnecessary comparison of cwd->desc to 0.
67604
67605         * lib/utimens.c (futimens): Robustify the previous patch, by checking
67606         for known valid error numbers rather than observed invalid ones.
67607
67608 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
67609
67610         * modules/ullong_max: New file.
67611
67612         * modules/chdir-long, modules/openat: New files.
67613         * modules/save-cwd (Depends-on): Depend on chdir-long.
67614         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
67615
67616 2005-01-18  Jim Meyering  <jim@meyering.net>
67617
67618         Merge from coreutils.
67619         * m4/chdir-long.m4, m4/openat.m4: New files.
67620         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
67621         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
67622         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
67623         is sane and DOES follow symlinks.  Besides, testing 20 different
67624         systems found no broken chown implementations.
67625         Prompted by a change in rsync's copy of this macro.
67626         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
67627
67628         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
67629
67630         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
67631         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
67632         NULL-means-set-to-current-time semantics.
67633         Remove temporary file immediately, rather than waiting
67634         for configure's at-exit trap code to do it.
67635
67636 2005-01-18  Jim Meyering  <jim@meyering.net>
67637
67638         * lib/version-etc.c (version_etc_copyright): Update copyright date.
67639
67640         * lib/utimens.c (futimens): Account for the fact that futimes
67641         can also fail with errno == ENOSYS or errno == ENOENT.
67642         Patch from Dmitry V. Levin.
67643
67644         Change the name of the robust chdir function from chdir to chdir_long.
67645         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
67646         (restore_cwd): Use chdir_long, not chdir.
67647         * lib/chdir-long.c: Renamed from chdir.c.
67648         * lib/chdir-long.h: Renamed from chdir.h.
67649         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
67650         Hurd.
67651
67652 2005-01-18  Bruno Haible  <bruno@clisp.org>
67653
67654         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
67655         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
67656         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
67657         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
67658         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
67659         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
67660         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
67661         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
67662         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
67663         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
67664         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
67665         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
67666         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
67667         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
67668         Use an all-permissive copyright notice, recommended by RMS.
67669
67670 2005-01-18  Bob Proulx  <bob@proulx.com>
67671
67672         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
67673         simplify offsetof() macro construct to avoid compile failure with
67674         native HP-UX 11.0 ANSI C compiler.
67675
67676 2005-01-17  Bruno Haible  <bruno@clisp.org>
67677
67678         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
67679         redundant because stpncpy.m4 takes care of it.
67680
67681 2005-01-17  Bruno Haible  <bruno@clisp.org>
67682
67683         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
67684
67685 2005-01-17  Bruno Haible  <bruno@clisp.org>
67686
67687         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
67688         used.
67689
67690 2005-01-17  Bruno Haible  <bruno@clisp.org>
67691
67692         * lib/fwriteerror.h (fwriteerror): Change specification to include
67693         fclose.
67694         * lib/fwriteerror.c: Include <stdbool.h>.
67695         (fwriteerror): At the end, close the file stream. Record whether
67696         stdout was already closed.
67697
67698 2005-01-17  Bruno Haible  <bruno@clisp.org>
67699
67700         * lib/execute.c (environ): Declare if needed.
67701         * lib/pipe.c (environ): Likewise.
67702         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
67703
67704 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
67705
67706         * modules/argp: Depend on vsnprintf
67707
67708 2005-01-10  Jim Meyering  <jim@meyering.net>
67709
67710         * modules/closeout (Depends-on): Add atexit.
67711
67712 2005-01-06  Bruno Haible  <bruno@clisp.org>
67713
67714         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
67715
67716 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
67717
67718         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
67719         definitions to be after all include files, to avoid collisions.
67720         Problem reported by Bob Proulx.
67721
67722 2005-01-04  Jim Meyering  <jim@meyering.net>
67723
67724         Changes imported from coreutils.
67725         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
67726         as the mkstemp template, use a temporary directory and an
67727         8.3-friendly template to avoid trouble on systems like DJGPP.
67728         Reported by Juan M. Guerrero via Stepan Kasal.
67729         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
67730         close. Remove the temporary directory right away, rather than waiting
67731         for configure's at-exit trap code to do it.
67732         Suggestion from Stepan Kasal.
67733
67734 2005-01-01  Simon Josefsson  <jas@extundo.com>
67735
67736         * gnulib-tool: Print #include directives when --import'ing.
67737
67738 2004-12-28  Simon Josefsson  <jas@extundo.com>
67739
67740         * tests/test-base64.c: Include required header files.  Remove
67741         unused variables.
67742
67743 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
67744
67745         * modules/error (Depends-on): Remove gettext.
67746
67747 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
67748
67749         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
67750         not needed.  This removes a dependency on the gettext module.
67751         [defined _LIBC]: Do not include <libintl.h>; not needed.
67752
67753 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
67754
67755         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
67756         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
67757
67758 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
67759
67760         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
67761         HAVE_DECL_STRTOLD.
67762
67763 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
67764
67765         * modules/getdate (Depends-on): Remove alloca-opt.
67766
67767 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
67768
67769         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
67770
67771 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
67772
67773         * lib/argp-parse.c: Include <stddef.h>.
67774         (alignof, alignto): New macros.
67775         (parser_init): Don't assume that void * is aligned sufficiently
67776         for struct option.
67777
67778         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
67779         need to extend the stack.
67780         (YYINITDEPTH): New macro, so that the initial stack isn't overly
67781         large.
67782
67783 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
67784
67785         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
67786
67787 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
67788
67789         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
67790         (2004-10-24) change.  Apparently this was a false alarm.
67791
67792         * modules/getdate: Depend on alloca-opt, not alloca.
67793
67794 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
67795
67796         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
67797         Remove now-obsolete comment about AIX.
67798         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
67799         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
67800         (YYMAXDEPTH): New macro.
67801
67802 2004-12-18  Simon Josefsson  <jas@extundo.com>
67803
67804         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
67805
67806 2004-12-18  Bruno Haible  <bruno@clisp.org>
67807
67808         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
67809
67810 2004-12-18  Bruno Haible  <bruno@clisp.org>
67811
67812         * lib/fatal-signal.c (fatal_signals): Make non-const.
67813         (init_fatal_signals): New function.
67814         (uninstall_handlers, install_handlers): Ignore signals that were set to
67815         SIG_IGN.
67816         (at_fatal_signal): Call init_fatal_signals.
67817         (init_fatal_signal_set): Likewise. Ignore signals that were set to
67818         SIG_IGN.
67819         Reported by Paul Eggert.
67820
67821 2004-12-18  Bruno Haible  <bruno@clisp.org>
67822
67823         * doc/alloca.texi: New file.
67824         * doc/alloca-opt.texi: New file.
67825
67826 2004-12-17  Jim Meyering  <jim@meyering.net>
67827
67828         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
67829         Otherwise, install-sh could exit with improper exit status when
67830         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
67831
67832 2004-12-16  Simon Josefsson  <jas@extundo.com>
67833
67834         * tests/test-base64.c: Add license.
67835
67836 2004-12-15  Stepan Kasal  <address@hidden>
67837
67838         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
67839
67840 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
67841
67842         * modules/getcwd (Files): Add m4/d-ino.m4.
67843         Suggested by Mark D. Baushke.
67844
67845 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
67846
67847         * lib/getdate.y (textint): New member "negative".
67848         (time_zone_hhmm): New function.
67849         Expect 14 shift-reduce conflicts, not 13.
67850         (o_colon_minutes): New rule.
67851         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
67852         (yylex): Set the "negative" member of signed numbers.
67853
67854 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
67855
67856         * doc/getdate.texi (Time of day items, Time zone items):
67857         Describe new formats +00:00, UTC+00:00.
67858
67859 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
67860
67861         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
67862         spurious "-l"s.  Problem reported by Stepan Kasal.
67863
67864 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
67865
67866         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
67867         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
67868
67869 2004-12-04  Simon Josefsson  <jas@extundo.com>
67870
67871         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
67872         Vandoorselaere <yoann@prelude-ids.org>.
67873
67874 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
67875
67876         Changes imported from coreutils.
67877         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
67878         exist.
67879         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
67880
67881 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
67882
67883         Changes imported from coreutils.
67884         * lib/hard-locale.c: Assume <locale.h> exists.
67885         Include "strdup.h".
67886         (GLIBC_VERSION): New macro.
67887         (hard_locale): Assume setlocale exists.
67888         Rewrite to avoid #ifdef.
67889         Use strdup rather than malloc + strcpy.
67890         * lib/human.c: Assume <locale.h> exists.
67891         (human_readable): Assume localeconv exists.
67892
67893 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
67894
67895         * modules/hard-locale (Depends-on): Add strdup.
67896
67897 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
67898
67899         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
67900         convert T2, not T.  (Imported from libc.)
67901
67902 2004-11-30  Simon Josefsson  <jas@extundo.com>
67903
67904         * modules/restrict (License): Change to LGPL.
67905
67906 2004-11-30  Simon Josefsson  <jas@extundo.com>
67907
67908         * m4/restrict.m4: Add copyright and copying conditions.
67909
67910 2004-11-30  Simon Josefsson  <jas@extundo.com>
67911
67912         * m4/base64.m4: New file.
67913
67914 2004-11-30  Simon Josefsson  <jas@extundo.com>
67915
67916         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
67917         base64.
67918
67919         * tests/test-base64.c: New file.
67920
67921         * modules/base64: New file.
67922
67923 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
67924
67925         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
67926         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
67927
67928         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
67929
67930 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
67931
67932         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
67933         (__getcwd.c): Don't restore errno; glibc doesn't.
67934         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
67935         first, falling back to our code only if its results look suspicious.
67936         Ensure that the resulting buffer is only as large as necessary.
67937
67938         * lib/readutmp.c: Include readutmp.h first.
67939         Include <errno.h>, since readutmp.h no longer does that.
67940         * lib/readutmp.h: Don't include <errno.h>,
67941         <sys/param.h>, <time.h>; not needed to establish interface.
67942         (errno): Remove decl.
67943         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
67944         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
67945         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
67946
67947 2004-11-28  Simon Josefsson  <jas@extundo.com>
67948
67949         * lib/base64.h, base64.c: New file.
67950
67951 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
67952
67953         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
67954
67955 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
67956
67957         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
67958         (Depends-on): Remove pathmax, same.  Add mempcpy.
67959         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
67960         (Makefile.am): Append getcwd.h to lib_SOURCES.
67961         (Include): Add getcwd.h.
67962         (Maintainer): Change from Jim Meyering to "all, glibc",
67963         since getdate now uses intended-for-glibc code.
67964         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
67965         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
67966
67967 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
67968
67969         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
67970         HP's ANSI C compiler.
67971         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
67972         Declaring int functions causes warnings on some modern systems and
67973         shouldn't be needed to compile on ancient ones.
67974         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
67975         defined.
67976
67977         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
67978         with the following changes.
67979         (__set_errno): Parenthesize properly.
67980         Include <stdbool.h>.
67981         (MIN, MAX, MATCHING_INO): New macros.
67982         (__getcwd): Define with prototype, not K&R form.
67983         Use heuristics to allocate default buffer on stack if possible.
67984         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
67985         behavior, and to avoid the PATH_MAX limit when computing
67986         ../../../../...
67987         Use MATCHING_INO to compare inode number to file.
67988         Check for arithmetic overflow in size calculations.
67989         Fix bug in reallocation of dot array that caused getcwd to fail
67990         on directories nested deeper than 75.
67991         Be more careful about saving errno on error.
67992         Do not use realloc; use only free+malloc, as this is a bit
67993         more flexible and avoids a needless copy operation.
67994         Do not inspect st_dev and st_ino for symbolic links; POSIX
67995         doesn't specify the latter.
67996         Check for closedir errors.
67997         Avoid needless casts.
67998         Use "#ifdef weak_alias" around weak_alias, to be like other
67999         glibc code.
68000         The following changes to getcwd.c have effect only when used in
68001         gnulib; they have no effect inside glibc proper.
68002         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
68003         as alloca isn't used.
68004         (alloca, __alloca): Likewise.
68005         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
68006         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
68007         unconditionally, as gnulib assumes C89 or better.
68008         Do not include <sys/param.h>.
68009         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
68010         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
68011         better.
68012         (NULL) [!defined NULL]: Remove; we assume C89 or better.
68013         Include <dirent.h> in a way that is compatible with modern Autoconf.
68014         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
68015         New macros, if not already defined.
68016         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
68017         Use "_LIBC", not "defined _LIBC", for consistency.
68018         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
68019         a mempcpy module.
68020         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
68021         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
68022         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
68023         credit only to Jim Meyering and adjust the copyright dates.
68024         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
68025         <stdlib.h>, <unistd.h>, "pathmax.h".
68026         Instead, include "xgetcwd.h" (first) and "getcwd.h".
68027         (INITIAL_BUFFER_SIZE): Remove.
68028         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
68029
68030 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
68031
68032         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
68033         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
68034         Use the _ONCE methods, for efficiency.
68035         Check for fcntl.h.  In test program, include <errno.h>
68036         and <fcntl.h> if available.  Remove old K&R cruft from
68037         test program.  Check for common errors in GNU/Linux,
68038         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
68039         don't do AC_LIBOBJ, as that's getcwd.m4's job.
68040         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
68041         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
68042         name accordingly.
68043         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
68044         accommodate new getcwd.c.
68045         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
68046         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
68047         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
68048         that's all we need now.
68049
68050 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
68051
68052         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
68053         argp-parse.c depends on getopt internals, that means we should
68054         always use our getopt, to be on the safe side.
68055         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
68056         order not to spoil the result of an eventual previous invocation
68057         of gl_GETOPT_SUBSTITUTE.
68058
68059 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
68060
68061         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
68062         redefinition warnings. To avoid them, include the defines
68063         in `#if !defined __need_getopt ... #endif'. The only place
68064         where __getopt_argv_const is used is in definitions
68065         of getopt_long and getopt_long_only below, which are as well
68066         protected by `#ifndef __need_getopt'.
68067         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
68068         __need_getopt after including <stdio.h> and <unistd.h> These
68069         headers might have defined it.
68070
68071 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
68072
68073         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
68074
68075 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
68076
68077         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
68078         (futimens): New function, which uses futimes if available.
68079         (futimens, utimens): Support timespec==NULL, with same semantics
68080         as utime and utimens.
68081         * lib/utimens.h (futimens): New decl.
68082
68083 2004-11-23  Jim Meyering  <jim@meyering.net>
68084
68085         * lib/getopt_.h: Remove trailing blanks.
68086
68087 2004-11-23  Jim Meyering  <jim@meyering.net>
68088
68089         * lib/__fpending.c: Add comment.
68090
68091 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
68092
68093         * modules/canonicalize (Depends-on): Add xreadlink.
68094         Problem reported by James Youngman.
68095
68096 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
68097
68098         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
68099         New macros.
68100         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
68101         optopt): Use them instead of invoking ## directly; otherwise, the
68102         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
68103
68104 2004-11-19  Bruno Haible  <bruno@clisp.org>
68105
68106         * lib/strtok_r.c: Move comments from here...
68107         * lib/strtok_r.h: ... to here.
68108
68109 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
68110
68111         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
68112         implementations that mishandle size_t overflow.
68113
68114 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
68115
68116         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
68117         might fail.  Problem reported by Yoann Vandoorselaere.
68118         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
68119         implementations that mishandle size_t overflow.
68120
68121 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
68122
68123         * modules/canon-host (Depends-on): Add strdup.
68124
68125 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
68126
68127         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
68128
68129 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
68130
68131         * lib/canon-host.c: Include "strdup.h".
68132         (canon_host): Use getaddrinfo if available, so that IPv6 works.
68133         Use strdup instead of malloc/strcpy to duplicate strings.
68134
68135         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
68136         (human_space_before_unit): New constant.
68137         * lib/human.c (human_readable): Support it.
68138
68139         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
68140         (xgetcwd): Set errno correctly when failing.
68141         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
68142         the failure is actually due to a PATH_MAX problem.
68143
68144         Further getopt changes to make it more likely that glibc will
68145         buy the changes back.
68146         * lib/getopt.c (POSIXLY_CORRECT): New constant.
68147         (getopt): Use it, so to preserve glibc semantic
68148         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
68149         when compiling for libc.
68150         * lib/getopt_.h (__getopt_argv_const): Bring it back.
68151         (getopt_long, getopt_long_only): Use it.
68152
68153         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
68154         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
68155         (getopt): Argv is now char * const *, as per standard.
68156         (_getopt_internal_r, _getopt_internal): Argv is now char **,
68157         not char *__getopt_argv_const *.
68158         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
68159         _getopt_long_only_r): Likewise.
68160         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
68161         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
68162         _getopt_long_r, _getopt_long_only_r): Likewise.
68163         * lib/getopt_.h (__getopt_argv_const): Remove.
68164         (getopt): Argv is now char * const *, as per standard.
68165
68166         * lib/getdate.y (tORDINAL): New token.
68167         (day, relunit): Allow it for relative times.
68168         (relative_time_table): Use tORDINAL for ordinals.
68169
68170 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
68171
68172         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
68173         Document that "second" isn't allowed as an ordinal number.
68174
68175 2004-11-16  Jim Meyering  <jim@meyering.net>
68176
68177         * modules/closeout (Depends-on): Add fpending.
68178
68179 2004-11-15  Jim Meyering  <jim@meyering.net>
68180
68181         * lib/closeout.c: Include "__fpending.h" once again.
68182         Include <stdbool.h>.
68183         (close_stdout): Don't fail just because stdout was closed initially,
68184         since some programs don't write to stdout in the normal course of
68185         operation (other than --version and --help), and we don't want this
68186         function to make e.g. `touch file >&-' fail.
68187         But do fail if it was closed and someone has tried to write to it.
68188         E.g., `printf foo >&-' must fail.
68189
68190 2004-11-13  Jim Meyering  <jim@meyering.net>
68191
68192         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
68193
68194 2004-11-12  Simon Josefsson  <jas@extundo.com>
68195
68196         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
68197         small doc fix is still pending.
68198
68199 2004-11-11  Simon Josefsson  <jas@extundo.com>
68200
68201         * modules/strtok_r: New file.
68202
68203         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
68204         strtok_r.
68205
68206 2004-11-11  Simon Josefsson  <jas@extundo.com>
68207
68208         * m4/strtok_r.m4: New file.
68209
68210         * m4/getopt.m4: Replace opterr.
68211
68212 2004-11-11  Simon Josefsson  <jas@extundo.com>
68213
68214         * lib/strtok_r.h, strtok_r.c: New file.
68215
68216 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
68217
68218         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
68219         of replacing opterr, getopt, etc.  This should handle the
68220         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
68221
68222 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
68223
68224         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
68225         we can stop lying to compilers about the constness of argv when we
68226         are compiled outside glibc.
68227         (getopt, getopt_long, getopt_long_only): Use it.
68228         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
68229         _getopt_internal, getopt): Likewise.
68230         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
68231         _getopt_long_only_r): Likewise.
68232         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
68233         _getopt_long_r, _getopt_long_only_r): Likewise.
68234
68235         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
68236         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
68237         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
68238         the other external symbols.
68239         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
68240         declaration, since the above renaming now works around collisions.
68241
68242 2004-11-11  Jim Meyering  <jim@meyering.net>
68243
68244         * lib/linebreak.c: Remove trailing blanks.
68245         * lib/alloca_.h: Likewise.
68246         * lib/acosl.c: Likewise.
68247         * lib/euidaccess.c: Likewise.
68248         * lib/allocsa.h: Likewise.
68249
68250 2004-11-10  Simon Josefsson  <jas@extundo.com>
68251
68252         * m4/getaddrinfo.m4: New file.
68253
68254 2004-11-10  Simon Josefsson  <jas@extundo.com>
68255
68256         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
68257
68258 2004-11-10  Simon Josefsson  <jas@extundo.com>
68259
68260         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
68261         getaddrinfo.
68262
68263         * modules/getaddrinfo: New file.
68264
68265 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
68266
68267         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
68268
68269 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
68270
68271         * lib/mktime.c (SHR): New macro, which is a portable
68272         substitute for >> that should work even on Crays.
68273         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
68274         Problem reported by Mark D. Baushke in
68275         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
68276         * lib/getdate.y (SHR): Likewise.
68277         (tm_diff): Use it.
68278         * lib/strftime.c (SHR): Likewise.
68279         (tm_diff): Use it.
68280         * lib/quotearg.c (struct quoting_options): Use unsigned int for
68281         quote_these_too, so that right shifts are well defined.  All uses
68282         changed.
68283
68284 2004-11-10  Jim Meyering  <jim@meyering.net>
68285
68286         Ensure that no close failure goes unreported.
68287         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
68288         return early when it seems there's nothing to flush.
68289         Don't include __fpending.h.
68290
68291 2004-11-10  Jim Meyering  <jim@meyering.net>
68292
68293         * modules/closeout (Depends-on): Remove fpending.
68294
68295 2004-11-10  Jim Meyering  <jim@meyering.net>
68296
68297         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
68298
68299 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
68300
68301         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
68302         gl_FUNC_STRFTIME.
68303         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
68304         and AC_REQUIRE when possible, to avoid duplicate checks.
68305         Check for <wchar.h>.
68306
68307 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
68308
68309         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
68310
68311 2004-11-09  Bruno Haible  <bruno@clisp.org>
68312
68313         * m4/sockpfaf.m4: New file.
68314
68315 2004-11-05  Bruno Haible  <bruno@clisp.org>
68316
68317         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
68318         Reported by Mark D. Baushke <mdb@cvshome.org>.
68319
68320 2004-11-04  Bruno Haible  <bruno@clisp.org>
68321
68322         2004-09-11  Bruno Haible  <bruno@clisp.org>
68323                 * allocsa.valgrind: New file.
68324         2004-02-06  Bruno Haible  <bruno@clisp.org>
68325                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
68326                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
68327                 Reported by Christopher Seip <chris.seip@hp.com>.
68328
68329 2004-11-04  Bruno Haible  <bruno@clisp.org>
68330
68331         * modules/allocsa (Files): Add lib/allocsa.valgrind.
68332         (Makefile.am): Distribute it.
68333
68334 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
68335
68336         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
68337         with errno == ERANGE if the buffer is too small.
68338         Problem reported by Mark D. Baushke.
68339
68340 2004-11-03  Albert Chin  <china@thewrittenword.com>
68341             Paul Eggert  <eggert@cs.ucla.edu>
68342
68343         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
68344         equivalent, substitute $ac_type for equivalent type rather than
68345         blindly using uint32_t *always* which won't work if uint32_t is not
68346         available.  Define _UINT32_T to work around typedef of uint32_t if
68347         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
68348         2.5.1.
68349
68350 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
68351
68352         * m4/jm-macros.m4: Sync from coreutils.
68353         (gl_MACROS): Check for mbrlen, for pathchk.
68354         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
68355
68356 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
68357
68358         * lib/xreadlink.c (MAXSIZE): New macro.
68359         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
68360         size does not exceed MAXSIZE.  Avoid cast.
68361         As suggested by Mark D. Baushke in
68362         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
68363         if readlink fails with buffer size just under MAXSIZE, try again
68364         with MAXSIZE.
68365
68366 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
68367
68368         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
68369
68370 2004-11-02  Derek R. Price  <derek@ximbiot.com>
68371         and  Paul Eggert  <eggert@cs.ucla.edu>
68372
68373         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
68374         (get_date): Overparenthesize to avoid GCC warning.
68375
68376 2004-11-02  Bruno Haible  <bruno@clisp.org>
68377
68378         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
68379         returns void.
68380
68381 2004-11-02  Bruno Haible  <bruno@clisp.org>
68382
68383         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
68384         function returns void.
68385
68386 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
68387
68388         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
68389         fflush_unlocked, flockfile, funlockfile, funlockfile,
68390         fputs_unlocked, putc_unlocked.
68391
68392 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
68393
68394         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
68395         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
68396         already declared.
68397
68398 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
68399
68400         * modules/getdate (Files): Add doc/getdate.texi.
68401         (Depends-on): Add setenv, xalloc.
68402
68403 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
68404
68405         * lib/getdate.y: Add support for TZ="foo" within a date string.
68406         Fix some bugs near time_t boundaries.  Reject dates with
68407         out-of-range components, e.g., "Sept 31".
68408         Include <stdlib.h>, "setenv.h", "xalloc.h".
68409         (ISDIGIT_LOCALE): Remove; unused.
68410         Note that the TZ and time functions used here are not reentrant.
68411         (mktime_ok, get_tz): New functions.
68412         (TZBUFSIZE): New constant.
68413         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
68414         This requires that we sometimes generate our own TZ="XXX..." setting.
68415
68416 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
68417
68418         * doc/getdate.texi: New file, from coreutils with modifications for
68419         the new TZ parsing.
68420
68421 2004-10-27  Derek R. Price  <derek@ximbiot.com>
68422
68423         * lib/mktime.c (not_equal_tm): Remove redundant check.
68424
68425 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
68426
68427         * modules/regex (lib_SOURCES): Add regex.c.
68428         Reported by James Youngman in
68429         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
68430
68431 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
68432
68433         * lib/getdate.y: Use Bison 1.875 features, and some minor
68434         code cleanups.  This change does not affect semantics.
68435         Don't include <stdlib.h>; no longer needed.
68436         Don't include unlocked-io.h; only the "#if TEST" code uses
68437         stdio, and performance isn't crucial there.
68438         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
68439         Bison 1.875 features as described below.
68440         All uses of "PC." replaced by "pc->".
68441         (YYSTYPE): Add a forward declaration.
68442         (yylex, yyerror): Use full prototypes in forward decls.
68443         Use "%pure-parser" rather than obsolescent "%pure_parser".
68444         Use %parse-param and %lex-param instead of obsolescent
68445         YYPARSE_PARAM and YYLEX_PARAM.
68446         (meridian_table, month_and_day_table, time_units_table,
68447         relative_time_table, time_zone_table, military_table,
68448         lookup_zone, lookup_word, get_date):
68449         Use NULL instead of 0 where appropriate.
68450         (to_hour): Avoid abort (), to avoid a dependency on
68451         stdlib.h.
68452         (yyerror, yylex): Now accepts parser_control * arg.
68453         (main) [TEST]: Use '\0' rather than 0 for char.
68454
68455 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
68456
68457         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
68458
68459 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
68460
68461         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
68462         It's now the caller's responsibility to handle the case where
68463         !HAVE_GETPAGESIZE && !defined getpagesize.
68464
68465         * lib/mktime.c (leapyear): Arg is long int, not int.
68466
68467 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
68468
68469         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
68470
68471 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
68472
68473         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
68474         missing.  Problem reported by James Youngman.
68475
68476 2004-10-16  Simon Josefsson  <jas@extundo.com>
68477
68478         * gnulib-tool: Fix comments.  Fix parse problem.
68479         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
68480
68481 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
68482
68483         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
68484         implementation of getopt_long.  Problem reported by Alexander Taler in:
68485         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
68486
68487 2004-10-15  Bruno Haible  <bruno@clisp.org>
68488
68489         * gnulib-tool: Untabify. Initialize supplied_libname.
68490         (func_usage): More homogenous output.
68491         (func_modules_transitive_closure, func_modules_to_filelist,
68492         func_emit_lib_Makefile_am): New functions.
68493         (func_import): New function, extracted from big case statement. Use
68494         func_get_license, func_modules_transitive_closure,
68495         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
68496         opt_lgpl. Don't use test -a, as it's not portable.
68497         (func_create_testdir): Use func_modules_transitive_closure,
68498         func_modules_to_filelist, func_emit_lib_Makefile_am.
68499
68500 2004-10-15  Bruno Haible  <bruno@clisp.org>
68501
68502         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
68503
68504 2004-10-15  Bruno Haible  <bruno@clisp.org>
68505
68506         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
68507         the portions belonging to each module.
68508         Suggested by Derek Robert Price <derek@ximbiot.com>.
68509
68510 2004-10-12  Simon Josefsson  <jas@extundo.com>
68511
68512         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
68513         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
68514         to real functions.
68515
68516 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
68517
68518         * modules/vsnprintf: New file.
68519
68520 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
68521
68522         * m4/vsnprintf.m4: New file.
68523
68524 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
68525
68526         * lib/vsnprintf.h: New file.
68527         * lib/vsnprintf.c: New file.
68528
68529 2004-10-11  Bruno Haible  <bruno@clisp.org>
68530
68531         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
68532         vsnprintf.
68533
68534 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
68535
68536         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
68537
68538 2004-10-07  Bruno Haible  <bruno@clisp.org>
68539
68540         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
68541         fits into the provided buffer.
68542
68543 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
68544
68545         * lib/diacrit.c, diacrit.h: Add GPL notice.
68546
68547         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
68548         notice.
68549         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
68550         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
68551         This avoids a potential constant-folding bug.
68552
68553 2004-10-05  Bruno Haible  <bruno@clisp.org>
68554
68555         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
68556         for the declaration of strsep.
68557
68558 2004-10-05  Bruno Haible  <bruno@clisp.org>
68559
68560         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
68561
68562 2004-10-04  Simon Josefsson  <jas@extundo.com>
68563
68564         * modules/memmem: New file.
68565         * tests/test-memmem.c: New file.
68566         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
68567
68568 2004-10-04  Simon Josefsson  <jas@extundo.com>
68569
68570         * m4/memmem.m4: New file.
68571
68572 2004-10-04  Simon Josefsson  <jas@extundo.com>
68573
68574         * lib/memmem.h: New file.
68575         * lib/memmem.c: New file, taken from glibc.
68576
68577 2004-10-04  Simon Josefsson  <jas@extundo.com>
68578
68579         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
68580         '#ifdef USE_UNLOCKED_IO'.
68581
68582 2004-10-04  Simon Josefsson  <jas@extundo.com>
68583
68584         * config/srclist.txt: Add memmem from glibc.
68585
68586 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
68587
68588         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
68589
68590         * modules/argmatch, modules/argp, modules/closeout, modules/error,
68591         modules/exclude, modules/getdate, modules/getline,
68592         modules/getndelim2, modules/getpass, modules/getpass-gnu,
68593         modules/getusershell, modules/linebuffer, modules/md5,
68594         modules/mountlist, modules/posixtm, modules/readtokens,
68595         modules/readutmp, modules/regex, modules/sha1,
68596         modules/version-etc, modules/yesno:
68597         Remove dependency on unlocked-io.
68598
68599 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
68600
68601         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
68602
68603         * m4/unlocked-io.m4: Add copyright notice.
68604         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
68605
68606 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
68607
68608         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
68609         * lib/xmalloc.c (xmemdup): Likewise.
68610         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
68611         XFREE): Remove these long-obsolescent macros.
68612         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
68613         * lib/xstrdup.c: Remove.
68614
68615         * lib/regex.c (re_comp): Cast gettext return value to char *,
68616         Problem reported by Martin Neitzel via Mark D. Baushke.
68617
68618 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
68619
68620         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
68621         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
68622         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
68623         regex.c, sha1.c, version-etc.c, yesno.c:
68624         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
68625         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
68626         the includer's responsibility.
68627
68628         Sync from coreutils.
68629
68630         * lib/modechange.c (mode_compile): Don't decrement a pointer that
68631         points to the start of a string, as the C Standard says the
68632         resulting behavior is undefined.
68633
68634         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
68635         simple -> simple_backups, numbered_existing ->
68636         numbered_existing_backups, numbered -> numbered_backups
68637         to avoid shadowing problems.  All uses changed.
68638         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
68639         * lib/backupfile.c (check_extension, numbered_backup):
68640         Rename locals to avoid shadowing 'basename'.
68641         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
68642         once.
68643
68644         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
68645         * lib/.cvsignore: Add getopt.h.
68646
68647 2004-10-04  Bruno Haible  <bruno@clisp.org>
68648
68649         * modules/README: New file.
68650         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
68651         not a module.
68652
68653 2004-10-02  Jim Meyering  <jim@meyering.net>
68654
68655         * lib/dirfd.h, getpagesize.h: Add copyright notice.
68656
68657 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
68658
68659         * modules/strsep: New file.
68660
68661 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
68662
68663         * m4/strsep.m4: New file.
68664
68665 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
68666
68667         * lib/strsep.h: New file.
68668         * lib/strsep.c: New file.
68669
68670 2004-10-01  Simon Josefsson  <jas@extundo.com>
68671
68672         * lib/snprintf.c (snprintf): Handle size==0.
68673
68674 2004-10-01  Simon Josefsson  <jas@extundo.com>
68675             Bruno Haible  <bruno@clisp.org>
68676
68677         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
68678         (snprintf): Declare 'args'.
68679
68680 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
68681
68682         * lib/snprintf.c: Remove comments as to why each header is needed.
68683
68684 2004-10-01  Bruno Haible  <bruno@clisp.org>
68685
68686         * MODULES.html.sh: Add strsep.
68687
68688 2004-09-30  Simon Josefsson  <jas@extundo.com>
68689
68690         * modules/snprintf: New file.
68691
68692 2004-09-30  Simon Josefsson  <jas@extundo.com>
68693
68694         * m4/snprintf.m4: New file.
68695
68696 2004-09-30  Simon Josefsson  <jas@extundo.com>
68697
68698         * lib/snprintf.h, lib/snprintf.c: New files.
68699
68700 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
68701
68702         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
68703         (hol_entry_help): Never translate an empty string.
68704         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
68705         * lib/argp.h (OPTION_NO_TRANS): New option.
68706
68707 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
68708
68709         * modules/argp (Maintainer): Replace Simon Josefsson
68710         by Sergey Poznyakoff.
68711
68712 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
68713
68714         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
68715         changes merged back into glibc.
68716
68717 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
68718
68719         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
68720
68721 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
68722
68723         * lib/xvasprintf.c: Include xalloc.h.
68724         (xvasprintf): Use xalloc_die, not xmalloc_die.
68725
68726 2004-09-29  Bruno Haible  <bruno@clisp.org>
68727
68728         * modules/alloca-opt: New file, derived from modules/alloca.
68729         * modules/allocsa: Depend on alloca-opt instead of alloca.
68730         * modules/setenv: Likewise.
68731         * modules/vasnprintf: Likewise.
68732         * MODULES.html.sh: Add alloca-opt.
68733
68734 2004-09-28  Simon Josefsson  <jas@extundo.com>
68735
68736         * gnulib-tool: New parameter --lgpl, to asseert that modules are
68737         LGPL, and to replace license template from GPL to LGPL.
68738
68739 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
68740
68741         * modules/dummy: Change license to LGPL.
68742
68743 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
68744
68745         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
68746
68747 2004-09-24  Simon Josefsson  <jas@extundo.com>
68748
68749         * modules/minmax (License): Change from GPL to LGPL.
68750
68751 2004-09-23  Simon Josefsson  <jas@extundo.com>
68752
68753         * gnulib-tool (--import): Typo.
68754
68755 2004-09-23  Simon Josefsson  <jas@extundo.com>
68756
68757         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
68758
68759 2004-09-22  Bruno Haible  <bruno@clisp.org>
68760
68761         * modules/*: Add 'License' field.
68762         * gnulib-tool: Accept --extract-license option.
68763         (func_get_license): New function.
68764
68765 2004-09-21  Bruno Haible  <bruno@clisp.org>
68766
68767         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
68768         Reported by Simon Josefsson.
68769
68770 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
68771
68772         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
68773         gl_AC_TYPE_LONG_LONG.
68774
68775 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
68776
68777         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
68778
68779 2004-09-18  Simon Josefsson  <jas@extundo.com>
68780         and  Paul Eggert  <eggert@cs.ucla.edu>
68781
68782         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
68783         calls with autoreconf.  Define GL_LIB.
68784
68785 2004-09-14  Karl Berry  <karl@gnu.org>
68786
68787         * config/srclist.txt: unsync setenv.c, sigh.
68788
68789 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
68790
68791         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
68792         Problem reported by Bruno Haible in:
68793         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
68794
68795 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
68796
68797         * config/srclist.txt: Comment out argp-pvh.c.
68798
68799 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
68800
68801         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
68802         in case some system header has #define'd it.  Problem reported by
68803         Soeren D. Schulze in
68804         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
68805
68806 2004-09-09  Karl Berry  <karl@gnu.org>
68807
68808         * regex.[ch]: delete from the root.  These were supposed to be
68809                 synced with emacs cvs, but this has not happened for about
68810                 a year, and anyway nothing else uses emacs regex.[ch].
68811                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
68812                 lib/regex[.ch] is untouched.
68813
68814 2004-09-09  Bruno Haible  <bruno@clisp.org>
68815
68816         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
68817
68818 2004-09-09  Bruno Haible  <bruno@clisp.org>
68819
68820         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
68821         modifications.
68822         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
68823
68824 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
68825
68826         * modules/xvasprintf: New file.
68827         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
68828
68829 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
68830
68831         * lib/xvasprintf.h: New file.
68832         * lib/xvasprintf.c: New file.
68833         * lib/xasprintf.c: New file.
68834
68835 2004-09-08  Bruno Haible  <bruno@clisp.org>
68836
68837         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
68838
68839 2004-09-08  Bruno Haible  <bruno@clisp.org>
68840
68841         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
68842         length is > INT_MAX.
68843         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
68844         more.
68845
68846 2004-09-08  Bruno Haible  <bruno@clisp.org>
68847
68848         * lib/stdint_.h: New file, taken from GNU clisp.
68849
68850 2004-09-08  Bruno Haible  <bruno@clisp.org>
68851             Oskar Liljeblad  <oskar@osk.mine.nu>
68852
68853         * modules/stdint: New file.
68854         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
68855
68856 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
68857
68858         Import from coreutils.
68859         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
68860         strings on unbounded length.  alloca's performance benefits aren't
68861         that important here.
68862         (V_STRDUP): Remove.
68863         (parse_with_separator): New function, with most of the internals
68864         of the old parse_user_spec.  Allow user to omit both user and group,
68865         for compatibility with FreeBSD.
68866         Clone only the user name, not the entire spec.
68867         Do not set *uid, *gid unless entirely successful.
68868         Avoid memory leak in some failing cases.
68869         Fix regression for USER.GROUP reported by Dmitry V. Levin in
68870         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
68871         (parse_user_spec): Rewrite to use parse_with_separator.
68872
68873 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
68874
68875         * modules/userspec: Don't depend on alloca.
68876
68877 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
68878
68879         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
68880
68881 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
68882
68883         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
68884         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
68885         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
68886
68887 2004-08-16  Simon Josefsson  <jas@extundo.com>
68888
68889         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
68890         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
68891         Add --dry-run for --import.
68892         Let user provided command line parameters override configure.ac
68893         settings.
68894
68895 2004-08-12  Simon Josefsson  <jas@extundo.com>
68896
68897         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
68898         as discussed with Paul Eggert in threads rooted at
68899         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
68900         and
68901         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
68902         Before, the test was empty, and relied on ELIDE_CODE in source
68903         code.)
68904         (gl_PREREQ_GETOPT): New macro.
68905         (gl_GETOPT): Use them.
68906
68907 2004-08-12  Simon Josefsson  <jas@extundo.com>
68908
68909         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
68910         * lib/getopt_.h: Renamed from getopt.h.
68911
68912 2004-08-12  Simon Josefsson  <jas@extundo.com>
68913
68914         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
68915         Change default library name from libfoo to libgnu.
68916         Now, if you have a configure.ac that says:
68917                 gl_SOURCE_BASE(gl)
68918                 gl_M4_BASE(gl/m4)
68919                 gl_MODULES(error getopt etcetera)
68920                 gl_INIT
68921         you can import all you need by running:
68922                 ../gnulib/gnulib-tool --import
68923
68924         * modules/getopt (Files): Rename getopt.h to getopt_.h.
68925         (Makefile.am): Rewrite, use logic from argz.
68926         (Include): Use <getopt.h> instead of "getopt.h".
68927
68928 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
68929
68930         * modules/argp (Files): Add m4/unlocked-io.m4.
68931         (Depends-on): Add extensions.
68932
68933 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
68934
68935         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
68936         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
68937         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
68938         Check for program_invocation_name, program_invocation_short_name,
68939         flockfile, funlockfile, features.h, _getopt_long_only_r.
68940
68941 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
68942
68943         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
68944         its complicated substitute.
68945         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
68946         and program_invocation_name.
68947         (__argp_basename) [!_LIBC]: Remove; the only use was
68948         replaced by its body.
68949         (__argp_short_program_name): Change condition from
68950         !defined __argp_short_program_name to
68951         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
68952         to match argp-namefrob.h.
68953         (__argp_failure): Don't assume strerror_r returns char *.
68954         * lib/argp-parse.c (N_): Define unconditionally.
68955         (argp_default_options): Fill out initializers with 0 to avoid
68956         gcc warnings.
68957
68958 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
68959
68960         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
68961         getopt1.c.
68962
68963 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
68964
68965         Merge from coreutils.
68966
68967         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
68968
68969         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
68970         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
68971
68972 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
68973
68974         Merge from coreutils.
68975
68976         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
68977         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
68978         for Reliant Unix 5.43.
68979
68980         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
68981         (union fooround): Use uintmax_t, not long int.
68982         The rest is a merge from libc:
68983         [defined _LIBC]: Include <shlib-compat.h>.
68984         (_obstack) [defined _LIBC]: Remove after 2.3.4.
68985
68986         * lib/settime.c (settime): Recode to avoid warning with
68987         Sun Forte C 6U2.
68988
68989         * lib/strverscmp.c: Convert to UTF-8.
68990
68991 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
68992
68993         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
68994         m4/uintmax_t.m4.
68995
68996 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
68997
68998         * modules/xalloc-die: New file.
68999         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
69000
69001         * modules/md5 (Files): Add m4/uint32_t.m4.
69002         * modules/sha1: Renamed from modules/sha.
69003         (Files):
69004         Rename lib/sha.h to lib/sha1.h.
69005         Rename lib/sha.c to lib/sha1.c.
69006         Rename m4/sha.m4 to m4/sha1.m4.
69007         (lib_SOURCES): Likewise.
69008         (configure.ac): Rename gl_SHA to gl_SHA1.
69009         (Include): sha.h -> sha1.h.
69010
69011 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
69012
69013         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
69014         * m4/sha1.m4: Renamed from sha.m4.
69015         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
69016
69017 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
69018
69019         * lib/obstack.h (obstack_empty_p):
69020         Don't assume that chunk->contents is suitably aligned.
69021         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
69022         Likewise. Problem reported by Benno in
69023         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
69024
69025         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
69026         readable.  This could be improved further but it'd take some work.
69027
69028 2004-08-08  Simon Josefsson  <jas@extundo.com>
69029
69030         * modules/xgethostname (Depends-on): Remove exit and error (not
69031         used).
69032
69033         * modules/getpass-gnu: Add getpass.h.
69034         (Depends-on): Add stdbool.
69035         * modules/getpass: Add getpass.h.
69036
69037 2004-08-08  Simon Josefsson  <jas@extundo.com>
69038
69039         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
69040         Check getpass declaration.
69041
69042 2004-08-08  Simon Josefsson  <jas@extundo.com>
69043
69044         * lib/xgethostname.c: Don't include error.h (not used).
69045
69046         * lib/getpass.h: Add.
69047         * lib/getpass.c: Include getpass.h first.
69048
69049 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
69050
69051         * lib/xalloc-die.c: New file.
69052         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
69053         All uses removed.
69054         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
69055         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
69056         xalloc-die.c.
69057         (_, N_, xalloc_die): Move to xalloc-die.c.
69058         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
69059         so that we needn't mess with xalloc_msg_memory_exhausted.
69060
69061         * lib/sha1.h: Renamed from sha.h.
69062         (SHA1_H): Renamed from _SHA_H.
69063         (sha1_ctx): Renamed from sha_ctx.
69064         (sha1_init_ctx): Renamed from sha_init_ctx.
69065         (sha1_process_block): Renamed from sha_process_block.
69066         (sha1_process_bytes): Renamed from sha_process_bytes.
69067         (sha1_finish_ctx): Renamed from sha_finish_ctx.
69068         (sha1_read_ctx): Renamed from sha_read_ctx.
69069         (sha1_stream): Renamed from sha_stream.
69070         (sha1_buffer): Renamed from sha_buffer.
69071         * lib/sha1.c: Likewise; renamed from sha.c.
69072         Do not include <sys/types.h>.
69073         Include <stddef.h> rather than <stdlib.h>.
69074
69075 2004-08-08  Bruno Haible  <bruno@clisp.org>
69076
69077         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
69078         FILESYSTEM_PREFIX_LEN.
69079         * lib/progreloc.c: Likewise.
69080         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
69081
69082 2004-08-06  Simon Josefsson  <jas@extundo.com>
69083
69084         * modules/progname (Depends-on): Don't depend on stdbool.
69085
69086 2004-08-06  Simon Josefsson  <jas@extundo.com>
69087
69088         * modules/getsubopt: New file.
69089         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
69090         getsubopt.
69091
69092 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
69093
69094         More merge from coreutils.
69095
69096         * m4/utimens.m4, m4/utimecmp.m4: New files.
69097         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
69098         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
69099         prereq.m4, sha.m4: Import changes from coreutils.
69100
69101 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
69102
69103         More merge from coreutils.
69104         * modules/raise, modules/readtokens0, modules/utimens:
69105         * modules/utimecmp, module/xnanosleep: New files.
69106         * modules/strftime: Add lib/strftime.h.
69107         Change include from <time.h> to "strftime.h".
69108         * modules/yesno: Add lib/yesno.h.
69109         * modules/backupfile: Remove lib/addext.c.
69110         * modules/euidaccess: Add stat-macros.h.
69111         * modules/canonicalize, modules/euidaccess,
69112         modules/filemode, modules/lchown, modules/makepath,
69113         modules/rmdir, modules/stat: Likewise.
69114
69115 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
69116
69117         Merge from tar.
69118         * lib/argp-help.c (make_hol, hol_append): Don't assume that
69119         SIZE_MAX is a valid preprocessor constant.
69120         (__argp_basename): Change from "#ifndef _LIBC"
69121         to "#ifndef __argp_short_program_name", so that
69122         we don't compile these functions for tar.
69123
69124         More merges from coreutils.
69125         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
69126         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
69127         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
69128         * lib/addext.c: Remove; no longer needed.
69129         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
69130         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
69131         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
69132         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
69133         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
69134         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
69135         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
69136         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
69137         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
69138         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
69139         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
69140         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
69141         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
69142         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
69143         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
69144         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
69145         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
69146         Import changes from coreutils.
69147
69148 2004-08-05  Simon Josefsson  <jas@extundo.com>
69149
69150         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
69151
69152 2004-08-05  Simon Josefsson  <jas@extundo.com>
69153
69154         * m4/getsubopt.m4: New file.
69155
69156 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
69157
69158         Merge from coreutils.
69159
69160         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
69161         * m4/getcwd-path-max.m4: New files.
69162
69163         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
69164         FILESYSTEM_PREFIX_LEN ->
69165         FILE_SYSTEM_PREFIX_LEN.
69166         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
69167         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
69168         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
69169         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
69170
69171         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
69172         prerequisite modules now handle the DOS stuff.
69173         Don't check for unistd.h.
69174
69175 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
69176
69177         Merge from coreutils.
69178
69179         * lib/.gdb-history: Remove; this doesn't belong here.
69180
69181         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
69182         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
69183         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
69184         * lib/getcwd.c: New files.
69185
69186         * lib/dirname.h: Include <stdbool.h>.
69187         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
69188         for consistency with POSIX terminology.  All uses changed.
69189         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
69190         (strip_trailing_slashes): Use bool for booleans.
69191         * lib/stripslash.c (strip_trailing_slashes): Likewise.
69192
69193         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
69194         sometimes returns a positive errno value even when it succeeds.
69195         (print_errno_message) [!LIBC]: Fall back on strerror if
69196         __strerror_r fails.
69197
69198         * lib/path-concat.c (mempcpy): Don't define if a system header defines
69199         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
69200         (longest_relative_suffix): New function.
69201         (path_concat): Use it.  Assume first argument is not NULL.
69202         Port to DOS.  Omit redundant separators.
69203         Report an error instead of returning NULL.
69204         Use mempcpy instead of memcpy.
69205         (xpath_concat): Remove: not declared or used.
69206
69207         * lib/same.h: Include <stdbool.h>
69208         (same_name): Return bool, not int.
69209         * lib/same.c (same_name): Likewise.
69210         (errno): Don't declare; we assume C89 or better now.
69211
69212         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
69213         if not already defined.
69214
69215         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
69216         * lib/dup-safer.c (errno): Likewise.
69217
69218 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
69219
69220         Merge from coreutils.
69221         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
69222         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
69223         * modules/path-concat: Don't depend on strdup.
69224
69225 2004-08-03  Simon Josefsson  <jas@extundo.com>
69226
69227         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
69228         * lib/progname.h: Don't include stdbool.h.
69229
69230 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
69231
69232         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
69233         * MODULES.html.sh (func_all_modules): Remove fatal.
69234
69235 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
69236
69237         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
69238
69239 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
69240
69241         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
69242         working.
69243
69244 2004-08-02  Simon Josefsson  <jas@extundo.com>
69245
69246         * lib/getsubopt.h: New file, with comments from Bruno Haible.
69247         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
69248         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
69249
69250 2004-08-01  Simon Josefsson  <jas@extundo.com>
69251
69252         * lib/xgetdomainname.c: Include stdlib.h, for free().
69253
69254 2004-07-19  Bruno Haible  <bruno@clisp.org>
69255
69256         * MODULES.html.sh (func_all_modules): Add dummy.
69257
69258 2004-07-16  Simon Josefsson  <jas@extundo.com>
69259
69260         * modules/dummy: New file.
69261
69262 2004-07-16  Simon Josefsson  <jas@extundo.com>
69263
69264         * lib/dummy.c: New file.
69265
69266 2004-07-16  Bruno Haible  <bruno@clisp.org>
69267
69268         * lib/backupfile.h: Add extern "C" for C++.
69269         * lib/closeout.h: Likewise.
69270         * lib/copy-file.h: Likewise.
69271         * lib/findprog.h: Likewise.
69272         * lib/full-write.h: Likewise.
69273         * lib/pathname.h: Likewise.
69274         * lib/progname.h: Likewise.
69275         * lib/stpcpy.h: Likewise.
69276         * lib/stpncpy.h: Likewise.
69277         * lib/strcase.h: Likewise.
69278         * lib/strstr.h: Likewise.
69279         * lib/xalloc.h: Likewise.
69280
69281         * lib/mbswidth.h: Add extern "C" for C++.
69282         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
69283
69284 2004-07-13  Robert Millan  <robertmh@gnu.org>
69285
69286         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
69287
69288 2004-07-09  Simon Josefsson  <jas@extundo.com>
69289
69290         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
69291         failed without this.)
69292
69293 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
69294
69295         * modules/chown (Files): Add lib/fchown-stub.c, since
69296         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
69297
69298 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
69299
69300         * lib/fchown-stub.c: New file.
69301
69302 2004-06-24  Jim Meyering  <jim@meyering.net>
69303
69304         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
69305
69306 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
69307
69308         * modules/argz: Omit "#include".
69309
69310         * MODULES.html.sh (func_all_modules): Add calloc, to match
69311         2004-06-01 addition of calloc module.
69312
69313 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
69314
69315         * m4/argz.m4: New file, which is autoupdated from libtool.
69316
69317 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
69318
69319         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
69320         libtool.
69321
69322 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
69323
69324         * config/srclist-update: Don't insist on "USA." before the
69325         close-comment, as libtool omits the period and puts the */ on a
69326         separate line.
69327         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
69328         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
69329
69330 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
69331
69332         * modules/argz: New file.
69333         * MODULES.html.sh (func_all_modules): Add argz.
69334
69335 2004-06-12  Jim Meyering  <jim@meyering.net>
69336         and  Paul Eggert  <eggert@cs.ucla.edu>
69337
69338         * modules/hash (Files): Add lib/xalloc.h.
69339         * modules/pipe (Depends-on): Add wait-process.
69340         * modules/stat (Depends-on): Add xalloc.
69341         * modules/userspec (Files): Add lib/userspec.h.
69342         * modules/xstrto
69343
69344         Upgrade from gettext-0.13.
69345         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
69346         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
69347         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
69348
69349 2004-06-10  Jim Meyering  <jim@meyering.net>
69350
69351         * lib/calloc.c: New file.
69352
69353 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
69354
69355         * lib/getdate.y (yylex): Allow space between sign and number.
69356         Problem reported by Dan Jacobson.
69357
69358 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
69359
69360         Merge from coreutils CVS.
69361
69362         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
69363         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
69364         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
69365         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
69366         xstrtol.m4: Fix copyright date and/or serial number.
69367
69368         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
69369         See if we need an fchown replacement.
69370         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
69371         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
69372         and use the replacement function if we detect either defect.
69373
69374         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
69375         gl_UTIMECMP.
69376
69377 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
69378         and  Jim Meyering  <jim@meyering.net>
69379
69380         Merge from coreutils CVS.
69381
69382         * lib/stat-macros.h: New file, with contents from file-type.h
69383         and coreutils' system.h.
69384         * lib/file-type.c: Include "stat-macros.h".
69385         * lib/file-type.h (file_type): Move all macro definitions to new file,
69386         stat-macros.h.
69387
69388         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
69389         Wrap old code with this conditional.
69390         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
69391         function that does not dereference symlinks.
69392         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
69393
69394         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
69395         dependency problems.
69396         (xreadlink): Accept new arg SIZE, for efficiency.
69397         All decls and uses changed.
69398         * lib/xreadlink.h: Include <stddef.h>, for size_t.
69399
69400         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
69401         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
69402
69403         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
69404         sysexits.h.
69405
69406 2004-06-01  Jim Meyering  <jim@meyering.net>
69407
69408         * m4/calloc.m4: New file.
69409
69410 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
69411
69412         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
69413         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
69414         Also, fix a typo in a diagnostic.
69415
69416 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
69417
69418         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
69419         or AC_FUNC_REALLOC.
69420
69421 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
69422
69423         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
69424         macros to be defined.
69425         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
69426         the allocator returns NULL because the requested size is zero.
69427
69428 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
69429
69430         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
69431         var.  Add comment explaining why libc still defines it.  This
69432         merges the following patch from glibc:
69433         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
69434
69435 2004-05-20  Andreas Schwab  <schwab@suse.de>
69436
69437         * m4/free.m4: Replace free if it not known to work, not the other
69438         way round.
69439
69440 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
69441
69442         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
69443         present in glibc since revision 1.1 of this file.
69444         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
69445         obstack_alignment_mask, obstack_alloc, obstack_base,
69446         obstack_blank, obstack_blank_fast, obstack_chunk_size,
69447         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
69448         obstack_grow0, obstack_init, obstack_int_grow,
69449         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
69450         obstack_next_free, obstack_object_size, obstack_ptr_grow,
69451         obstack_ptr_grow_fast, obstack_room): Remove declarations of
69452         nonexistent functions.
69453
69454 2004-05-18  Karl Berry  <karl@gnu.org>
69455
69456         * config/srclist.txt: break link for vasnprintf.c.
69457
69458 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
69459
69460         Port obstack to the AS/400, where pointers are 16 bytes wide and
69461         you cannot cast an integer to a valid pointer.  This patch is
69462         currently waiting to be integrated into glibc; see
69463         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
69464
69465         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
69466         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
69467         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
69468         (struct obstack): temp member is now a union of a pointer and
69469         an integer, instead of an integer.  All integer uses changed.
69470         This does not affect the physical layout of struct obstack,
69471         except on hosts (like the AS/400) where the size or alignment of
69472         void * is greater than that of ptrdiff_t.
69473         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
69474         __STDC__)]: Store temporary in pointer member of union, not
69475         integer member.
69476         * lib/obstack.c: Include <stddef.h>, for offsetof.
69477         (struct fooalign): Remove; it doesn't need a name.
69478         (union fooround): Change double to long double, and add void *.
69479         (DEFAULT_ALIGNMENT): Use offsetof to compute.
69480         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
69481         not a macro.  Hence the values are always int; so remove all
69482         casts-to-int in uses.
69483
69484 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
69485
69486         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
69487         we can get this patch merged into glibc.
69488
69489 2004-05-17  Derek R. Price  <derek@ximbiot.com>
69490             Paul Eggert  <eggert@cs.ucla.edu>
69491
69492         * m4/argp: Depend on alloca.
69493
69494 2004-05-17  Derek R. Price  <derek@ximbiot.com>
69495             Paul Eggert  <eggert@cs.ucla.edu>
69496
69497         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
69498         freecoding.
69499
69500 2004-05-17  Bruno Haible  <bruno@clisp.org>
69501
69502         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
69503         precision that consists of a '.' followed by an empty digit string.
69504         Patch by Tor Lillqvist <tml@iki.fi>.
69505
69506 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
69507
69508         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
69509         for backward compatibility with older code.  We need our own
69510         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
69511         it under some other name, and our alloca.h will define it.
69512
69513 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
69514             Derek Price  <derek@ximbiot.com>
69515
69516         * lib/alloca.c: Include <alloca.h>, to get our interface.
69517         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
69518         include <alloca.h> first.  Use C89 prototype for alloca; this
69519         requires including <stddef.h> for size_t.  Use extern "C" if C++.
69520         Use #elif for simplicity, since we can assume C89 now.
69521         Don't try to source the system alloca.h since it will not be found
69522         and to prevent recursively including its replacement.
69523         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
69524         * lib/regex.c: Likewise.
69525
69526 2004-05-16  Derek Price  <derek@ximbiot.com>
69527             Paul Eggert  <eggert@cs.ucla.edu>
69528
69529         getline cleanup.  This changes the getndelim2 API: both order of
69530         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
69531         no delimiter).
69532
69533         * lib/getline.c: Don't include stddef.h or stdio.h, since our
69534         interface does that.
69535         (getline): Always use getdelim, so that we don't have two
69536         copies of this code.
69537         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
69538         if available.
69539         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
69540         (GETNDELIM2_MAXIMUM): New macro.
69541         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
69542         instead of the old practice of delim2==0.  All callers changed.
69543         Return -1 on overflow, instead of returning junk.
69544         Do not set *linesize unless allocation succeeds.
69545         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
69546         that we include sys/types.h.
69547         * lib/getnline.h: Likewise.
69548         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
69549         (getndelim2): Reorder arguments.
69550         * lib/getnline.c (getnline, getndelim):
69551         Don't discard the NMAX argument.
69552         (getnline): Invoke getndelim, to avoid code duplication.
69553         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
69554         of (size_t) -1 by callers of the getnline family.
69555
69556 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
69557
69558         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
69559         Check for gettimeofday.
69560         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
69561         Check for settimeofday, stime.
69562
69563 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
69564
69565         * lib/nanosleep.c (suspended): Change its type from int to
69566         sig_atomic_t volatile.
69567         (first_call): Make it private to rpl_nanosleep, and have it
69568         be zero initially as that's a bit faster.
69569         (my_usleep): Round up fractional times instead of truncating them,
69570         as this is the usual meaning for 'sleep'.
69571
69572         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
69573         doesn't work.
69574         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
69575         (ENOSYS): Define if not defined.
69576         (settime): Fall back on stime if it exists and settimeofday fails.
69577         But don't bother with fallbacks if a method fails with errno == EPERM.
69578
69579 2004-05-11  Jim Meyering  <jim@meyering.net>
69580
69581         Prior to this change, the save_cwd caller required read access to the
69582         current directory on most systems (ones with the fchdir function).
69583
69584         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
69585         fails, try write-only, and finally, resort to using xgetcwd.
69586
69587 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
69588
69589         * lib/obstack.c, obstack.h: Import changes from libc.
69590
69591 2004-04-28  Bruno Haible  <bruno@clisp.org>
69592
69593         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
69594         also implicitly appends .exe to executables.
69595         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
69596         accepts Windows pathnames.
69597         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
69598         Treat Cygwin like Windows, since it now accepts Windows pathnames.
69599         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
69600         Treat Cygwin like Windows, since it now accepts Windows pathnames.
69601         Reported by Derek Robert Price <derek@ximbiot.com>.
69602
69603 2004-04-21  Karl Berry  <karl@gnu.org>
69604
69605         * config/srclist.txt (localcharset.c): break sync.
69606
69607 2004-04-20  Paul Eggert  <eggert@twinsun.com>
69608
69609         * m4/host-os.m4: Add a copyright notice.
69610
69611 2004-04-20  Jim Meyering  <jim@meyering.net>
69612
69613         Change UTILS_ to gl_ in AC_DEFINE'd names.
69614         Change utils_- and jm_-prefixed variables, too.
69615         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
69616         UTILS_FUNC_MKDIR_TRAILING_SLASH.
69617         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
69618
69619         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
69620         Don't emit trailing blanks.
69621         Also rename jm_-prefixed variables to have gl_ prefix.
69622
69623         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
69624         Also rename jm_-prefixed variables to have gl_ prefix.
69625
69626         * m4/jm-macros.m4: Reflect the renamings.
69627         * m4/prereq.m4: Likewise.
69628
69629 2004-04-20  Jim Meyering  <jim@meyering.net>
69630
69631         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
69632         memory.
69633
69634 2004-04-20  Jim Meyering  <jim@meyering.net>
69635             Bruno Haible  <bruno@clisp.org>
69636
69637         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
69638         memory when realloc fails.
69639
69640 2004-04-19  Jim Meyering  <jim@meyering.net>
69641
69642         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
69643         now that readutmp.c may call `free (0)'.
69644
69645 2004-04-19  Bruno Haible  <bruno@clisp.org>
69646
69647         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
69648         * m4/inttypes_h.m4: Likewise.
69649         * m4/stdint_h.m4: Likewise.
69650         * m4/intmax_t.m4: Likewise.
69651         * m4/uintmax_t.m4: Likewise.
69652
69653 2004-04-18  Jim Meyering  <jim@meyering.net>
69654
69655         * m4/prereq.m4: Don't forbid jm_ prefix.
69656
69657         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
69658         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
69659         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
69660         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
69661         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
69662         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
69663         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
69664         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
69665         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
69666         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
69667         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
69668         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
69669         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
69670         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
69671         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
69672         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
69673         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
69674         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
69675         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
69676
69677 2004-04-18  Jim Meyering  <jim@meyering.net>
69678
69679         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
69680         failure, don't leak memory and do call END_UTMP_ENT.
69681
69682 2004-04-16  Jim Meyering  <jim@meyering.net>
69683
69684         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
69685         coreutils' stat program.
69686         (gl_PREREQ): Don't require jm_PREREQ_STAT.
69687
69688 2004-04-11  Paul Eggert  <eggert@twinsun.com>
69689
69690         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
69691         C89.
69692         (CHAR_BIT): Remove, since we assume C89.
69693         Include <stdint.h> if available, as per current Autoconf CVS advice.
69694
69695 2004-03-31  Jim Meyering  <jim@meyering.net>
69696
69697         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
69698         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
69699         * m4/xalloc.m4: Likewise.
69700
69701 2004-03-30  Paul Eggert  <eggert@twinsun.com>
69702
69703         Merge from coreutils.
69704
69705         * m4/inttostr.m4: New file.
69706         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
69707         Require AM_STDBOOL_H and gl_TIMESPEC instead.
69708         Require gl_CLOCK_TIME.
69709         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
69710
69711 2004-03-30  Paul Eggert  <eggert@twinsun.com>
69712
69713         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
69714         not bool, to be more consistent with Unix conventions.
69715         Suggested by Bruno Haible.
69716
69717         Merge from coreutils.
69718
69719         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
69720         * lib/umaxtostr.c: New files.
69721
69722         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
69723         the usual <time.h> dance.
69724         (get_date): Change signature to support fractional time stamps.
69725         All callers changed.
69726         * lib/getdate.y: Include "getdate.h" first, as we can now
69727         assume C89 and don't need to worry about 'const'.
69728         Similarly, include "unlocked-io.h" near start, not in middle.
69729         Include <limits.h>.
69730         (textint.value): Use long int rather than int.
69731         (textint.digits): Use size_t rather than int.
69732         (BILLION, LOG10_BILLION): New constants.
69733         (parser_control): New member rel_ns.  Members day_ordinal,
69734         time_zone, month, day, hour, minutes, rel_year, rel_month,
69735         rel_day, rel_hour, rel_minutes, rel_seconds
69736         are now long int, not int.  Member seconds is now struct timespec,
69737         not int.  New member timespec_seen.  Members dates_seen, days_seen,
69738         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
69739         not int.
69740         (%union.intval): Now long int, not int.
69741         New member timespec.
69742         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
69743         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
69744         (spec): Now is a timespec or an item list.
69745         (timespec, items): New nonterminals.
69746         (time, rel, relunit, number, get_date):
69747         Add support for fractional seconds.
69748         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
69749         (gmtime, localtime, mktime): Remove decls; not needed with C89.
69750         (to_hour): First arg is now long int, not int.
69751         (to_year): Returns long int, not int.
69752         Don't treat year -70 like 70.
69753         (tm_diff): Returns long int, not int.
69754         (lookup_word): Use bool instead of int when appropriate.
69755         (yylex): Use size_t for count, not int.
69756         Detect overflow when parsing large integer constants.
69757         Add support for fractions.
69758         (get_date): Make pointers 'const' if possible.
69759         Use more-portable code to detect integer overflow.
69760         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
69761         Don't use ctime; it's not reliable if the year has >4 digits.
69762
69763         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
69764         This is for compatibility with BSD.
69765
69766         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
69767         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
69768         From coreutils' system.h.
69769
69770         * lib/userspec.c: Don't include "posixver.h".
69771         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
69772         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
69773         compatible extension.  Simplify code by removing a boolean int
69774         that was always nonzero if a string was nonnull.
69775
69776 2004-03-30  Jim Meyering  <jim@meyering.net>
69777
69778         Merge from coreutils.
69779
69780         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
69781         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
69782         on some systems one must include <grp.h> before it.
69783         Reported by Christian Krackowizer.
69784
69785 2004-03-30  Jim Meyering  <jim@meyering.net>
69786
69787         Merge from coreutils.
69788
69789         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
69790
69791         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
69792         an empty input stream.
69793
69794         * lib/readtokens.c: Include <stdbool.h>.
69795         (readtoken): Use `size_t' rather than int/long.
69796         All callers adjusted.
69797         Use `bool' rather than `int' where appropriate.
69798         Use memset rather than an explicit loop.
69799         Use x2nrealloc rather than xrealloc.
69800         Allow the use of `\0' as a delimiter.
69801         (readtokens): Likewise.
69802         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
69803
69804 2004-03-30  Jim Meyering  <jim@meyering.net>
69805
69806         * m4/realloc.m4: Remove file, since now it does no more than
69807         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
69808         the `configure.ac' section of module/realloc.
69809         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
69810
69811 2004-03-30  Bruno Haible  <bruno@clisp.org>
69812
69813         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
69814         nonnull.
69815
69816 2004-03-29  Paul Eggert  <eggert@twinsun.com>
69817
69818         Merge changes to getloadavg.c from coreutils and Emacs.
69819
69820         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
69821         Define to an expression, not to the empty string.
69822         Include cloexec.h and xalloc.h.
69823         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
69824         Use set_cloexec_flag rather than rolling our own.
69825         * lib/cloexec.c, lib/cloexec.h: New files.
69826
69827 2004-03-29  Paul Eggert  <eggert@twinsun.com>
69828
69829         * m4/cloexec.m4: New file.
69830
69831 2004-03-18  Paul Eggert  <eggert@twinsun.com>
69832
69833         * lib/getopt.h: Sync with libc CVS.
69834
69835 2004-03-18  Paul Eggert  <eggert@twinsun.com>
69836             Bruno Haible  <bruno@clisp.org>
69837
69838         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
69839         mbswidth.
69840
69841 2004-03-18  Paul Eggert  <eggert@twinsun.com>
69842             Bruno Haible  <bruno@clisp.org>
69843
69844         * lib/mbswidth.h: Include <wchar.h> only if
69845         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
69846         <wchar.h>.
69847         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
69848
69849 2004-03-09  Paul Eggert  <eggert@twinsun.com>
69850
69851         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
69852         Sync with libc CVS.
69853         * lib/getopt_int.h: New file, also synced from libc.
69854
69855 2004-03-09  Paul Eggert  <eggert@twinsun.com>
69856
69857         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
69858         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
69859         Bring back getopt.c, getopt.h, getopt1.c.
69860
69861 2004-03-07  Paul Eggert  <eggert@twinsun.com>
69862
69863         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
69864         All uses changed.  Check for sa_sigaction member; this fixes
69865         a bug first reported by Jason Andrade in
69866         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
69867
69868 2004-03-07  Paul Eggert  <eggert@twinsun.com>
69869
69870         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
69871         '#if' expressions.  Unlike the code it replaces, it does not
69872         depend on (defined _SC_PAGESIZE).  However, it does depend on
69873         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
69874         first reported by Jason Andrade in
69875         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
69876
69877 2004-02-25  Simon Josefsson  <jas@extundo.com>
69878
69879         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
69880
69881 2004-02-25  Simon Josefsson  <jas@extundo.com>
69882
69883         * lib/strdup.h: New file.
69884         * lib/strdup.c: Include it.
69885         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
69886         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
69887
69888 2004-02-23  Karl Berry  <karl@gnu.org>
69889
69890         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
69891         (from fencepost.gnu.org:/gd/gnuorg).
69892
69893 2004-02-23  Karl Berry  <karl@gnu.org>
69894
69895         * config/srclistvars.sh (GNUORG) [karl]: redefine.
69896         * config/srclist.txt: add maintain/standards documents.
69897
69898 2004-02-18  Bruno Haible  <bruno@clisp.org>
69899
69900         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
69901         Reported by Derek Robert Price <derek@ximbiot.com>.
69902
69903 2004-02-16  Karl Berry  <karl@gnu.org>
69904
69905         * config/mkinstalldirs, install-sh: update from automake.
69906
69907 2004-02-06  Karl Berry  <karl@gnu.org>
69908
69909         * m4/po.m4: update from gettext 0.14.1.
69910
69911 2004-02-06  Karl Berry  <karl@gnu.org>
69912
69913         * lib/config.charset: update from gettext 0.14.1.
69914
69915 2004-02-05  Paul Eggert  <eggert@twinsun.com>
69916
69917         Add comments and code, prompted by suggestions from Bruno Haible
69918         for sh-quote.
69919         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
69920         describing the enum quoting_style values.
69921         * lib/quotearg.c (quotearg_alloc): New function.
69922         (quotearg_buffer_restyled): Treat lone { and } as special.
69923         Treat = as special.  Work around bug with older shells
69924         that "see" a '\' that is really the 2nd byte of a multibyte char.
69925         Quote empty string with shell_quoting_style.
69926
69927 2004-02-03  Bruno Haible  <bruno@clisp.org>
69928
69929         * m4/pipe.m4: New file, from GNU gettext.
69930
69931 2004-02-03  Bruno Haible  <bruno@clisp.org>
69932
69933         * lib/pipe.h: New file, from GNU gettext.
69934         * lib/pipe.c: New file, from GNU gettext.
69935
69936 2004-01-27  Bruno Haible  <bruno@clisp.org>
69937
69938         * m4/execute.m4: New file, from GNU gettext.
69939
69940 2004-01-27  Bruno Haible  <bruno@clisp.org>
69941
69942         * lib/execute.h: New file, from GNU gettext.
69943         * lib/execute.c: New file, from GNU gettext.
69944         * lib/w32spawn.h: New file, from GNU gettext.
69945
69946 2004-01-24  Paul Eggert  <eggert@twinsun.com>
69947
69948         Merge from diffutils.
69949
69950         * lib/file-type.c (file_type): Add typed memory objects.
69951         * lib/file-type.h (S_TYPEISTMO): New macro.
69952
69953         * lib/c-stack.h (c_stack_action): Remove argv argument.
69954         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
69955         (die): Don't calculate message unless segv_action returns.
69956         (get_stack_location, min_address_from_argv, max_address_from_argv,
69957         volatile stack_base, volatile_stack_size): Remove.
69958         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
69959         that every segmentation violation is a stack overflow.  (Ouch!)
69960         See Debian bug 136249 (still outstanding) for more info about why
69961         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
69962
69963 2004-01-24  Paul Eggert  <eggert@twinsun.com>
69964
69965         Exit-status fix from coreutils.
69966
69967         Use exit_failure consistently in place of EXIT_FAILURE,
69968         so that program exit statuses are consistent on failure.
69969
69970         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
69971         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
69972         * lib/argmatch.h: Comment fix to match the above.
69973         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
69974         Now a macro referring to exit_failure, instead of a separate
69975         variable.  Include "exitfail.h" to get it.
69976         * lib/xstrtol.h: Include "exitfail.h".
69977         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
69978
69979         * lib/long-options.c (parse_long_options): Use prototype
69980         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
69981         for clarity.
69982
69983 2004-01-21  Jim Meyering  <jim@meyering.net>
69984
69985         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
69986         so as not to conflict with a different-sized __mktime_internal
69987         function in GNU libc.
69988         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
69989         Problem building statically-linked `ls' reported by Michael Brunnbauer.
69990
69991 2004-01-20  Karl Berry  <karl@gnu.org>
69992
69993         * config/config.guess: update from config.
69994
69995         * config/srclistvars.sh: GNUWWWLICENSES for karl.
69996
69997 2004-01-20  Bruno Haible  <bruno@clisp.org>
69998
69999         Safer stack allocation.
70000         * lib/setenv.c: Include allocsa.h.
70001         (alloca): Remove fallback definition.
70002         (freea): Remove macro.
70003         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
70004         instead of freea.
70005
70006 2004-01-20  Bruno Haible  <bruno@clisp.org>
70007
70008         * m4/eealloc.m4: New file, from GNU gettext.
70009
70010 2004-01-20  Bruno Haible  <bruno@clisp.org>
70011
70012         * m4/allocsa.m4: New file, from GNU gettext.
70013
70014 2004-01-20  Bruno Haible  <bruno@clisp.org>
70015
70016         * lib/xallocsa.h: New file, from GNU gettext.
70017         * lib/xallocsa.c: New file, from GNU gettext.
70018
70019 2004-01-20  Bruno Haible  <bruno@clisp.org>
70020
70021         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
70022
70023 2004-01-20  Bruno Haible  <bruno@clisp.org>
70024
70025         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
70026         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
70027         specially.
70028
70029 2004-01-20  Bruno Haible  <bruno@clisp.org>
70030
70031         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
70032         patch.
70033
70034 2004-01-20  Bruno Haible  <bruno@clisp.org>
70035
70036         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
70037
70038 2004-01-20  Bruno Haible  <bruno@clisp.org>
70039
70040         * lib/eealloc.h: New file.
70041
70042 2004-01-20  Bruno Haible  <bruno@clisp.org>
70043
70044         * lib/binary-io.h: Avoid warnings on Cygwin.
70045
70046 2004-01-20  Bruno Haible  <bruno@clisp.org>
70047
70048         * lib/allocsa.h: New file, from GNU gettext.
70049         * lib/allocsa.c: New file, from GNU gettext.
70050
70051 2004-01-18  Karl Berry  <karl@gnu.org>
70052
70053         * doc/gpl.texi, doc/lgpl.texi: new files.
70054
70055 2004-01-18  Karl Berry  <karl@gnu.org>
70056
70057         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
70058         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
70059
70060 2004-01-15  Paul Eggert  <eggert@twinsun.com>
70061
70062         Merge from coreutils.
70063
70064         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
70065         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
70066         (gl_DEFAULT_POSIX2_VERSION): Move
70067         the documentation from 'configure' into 'config.hin',
70068         so that 'configure --help' isn't burdened by it and
70069         we don't have to worry about its formatting there.
70070         Reword the documentation so that it's more succinct
70071         and can be run together into a single paragraph.
70072         * m4/same.m4 (gl_SAME): Check for pathconf.
70073
70074 2004-01-15  Paul Eggert  <eggert@twinsun.com>
70075
70076         Merge from coreutils.
70077
70078         * lib/posixver.c: Include posixver.h.
70079
70080         * lib/same.c: Include <stdbool.h>, <limits.h>.
70081         (_POSIX_NAME_MAX): Define if not defined.
70082         (MIN): New macro.
70083         (same_name): If file names are silently truncated, report
70084         that the file names are the same if they are the same after
70085         the silent truncation.
70086
70087         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
70088         conversion function.
70089         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
70090         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
70091         longer needed.
70092
70093 2004-01-15  Jim Meyering  <jim@meyering.net>
70094
70095         Merge from coreutils.
70096
70097         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
70098         if no library is required.
70099         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
70100         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
70101         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
70102         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
70103         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
70104         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
70105         value, $ac_cv_search_crypt, if it's "none required".
70106         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
70107         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
70108         not gl_FUNC_GETLOADAVG.
70109         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
70110         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
70111
70112 2004-01-15  Jim Meyering  <jim@meyering.net>
70113
70114         Merge from coreutils.
70115
70116         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
70117         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
70118         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
70119
70120         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
70121         optional configure-time default.
70122
70123         * lib/version-etc.c (version_etc_copyright): Update copyright date.
70124
70125         * lib/xreadlink.c (xreadlink): Correct outdated comment.
70126
70127 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
70128
70129         Merge from coreutils.
70130
70131         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
70132         value, $ac_cv_search_nanosleep, if it's "none required".
70133
70134 2004-01-14  Paul Eggert  <eggert@twinsun.com>
70135
70136         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
70137         with like-named macro in fnmatch.c.
70138         (EXT): Use an internal constant instead.
70139
70140         Merge fnmatch patches from glibc.
70141         * lib/fnmatch.c (mbsinit): Remove define.
70142         Add libc_hidden_ver (__fnmatch, fnmatch).
70143         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
70144         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
70145
70146 2004-01-14  Karl Berry  <karl@gnu.org>
70147
70148         * config/install-sh: update from automake.
70149
70150 2004-01-13  Karl Berry  <karl@gnu.org>
70151
70152         * config/install-sh: update from automake.
70153
70154 2004-01-09  Karl Berry  <karl@gnu.org>
70155
70156         * config/install-sh: update from automake.
70157
70158 2004-01-05  Karl Berry  <karl@gnu.org>
70159
70160         * config/config.{sub,guess}: update from config.
70161
70162 2003-12-31  Karl Berry  <karl@gnu.org>
70163
70164         * config/depcomp: update from automake.
70165
70166 2003-12-14  Karl Berry  <karl@gnu.org>
70167
70168         * lib/config.charset: update from gettext-runtime.
70169
70170 2003-12-03  Paul Eggert  <eggert@twinsun.com>
70171
70172         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
70173         Bug reported by Alfred M. Szmidt.
70174
70175 2003-12-03  Bruno Haible  <bruno@clisp.org>
70176
70177         * m4/gettext.m4: Upgrade from gettext-0.13.
70178         * m4/po.m4: Upgrade from gettext-0.13.
70179         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
70180         * m4/intmax.m4: New file, from gettext-0.13.
70181         * m4/printf-posix.m4: New file, from gettext-0.13.
70182
70183 2003-11-29  Karl Berry  <karl@gnu.org>
70184
70185         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
70186
70187 2003-11-25  Paul Eggert  <eggert@twinsun.com>
70188             Bruno Haible  <bruno@clisp.org>
70189
70190         * lib/printf-parse.h: Don't include sys/types.h.
70191         (ARG_NONE): New macro.
70192         (char_directive): Change type of *arg_index fields to size_t.
70193         * lib/printf-parse.c: Don't include sys/types.h.
70194         (SSIZE_MAX): Remove macro.
70195         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
70196         Remove unnecessary overflow check.
70197         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
70198         fields.
70199
70200 2003-11-25  Bruno Haible  <bruno@clisp.org>
70201
70202         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
70203
70204 2003-11-25  Bruno Haible  <bruno@clisp.org>
70205
70206         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
70207         gt_TYPE_SSIZE_T.
70208
70209 2003-11-24  Paul Eggert  <eggert@twinsun.com>
70210
70211         * modules/alloca: Remove dependency on xalloc.
70212
70213 2003-11-24  Paul Eggert  <eggert@twinsun.com>
70214
70215         * lib/alloca.c: Remove dependency on xalloc module.
70216         (xalloc_die): Remove.
70217         (memory_full) [!defined emacs]: New macro.
70218         [!defined emacs]: Don't include xalloc.h.
70219         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
70220         address arithmetic overflows.  Change datatypes a bit to avoid
70221         unnecessary casts.
70222
70223 2003-11-22  Jim Meyering  <jim@meyering.net>
70224
70225         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
70226         s/size/size_t/.
70227
70228 2003-11-21  Karl Berry  <karl@gnu.org>
70229
70230         * config/config.{sub,guess}: update from config.
70231
70232 2003-11-18  Karl Berry  <karl@gnu.org>
70233
70234         * config/config.{sub,guess}: update from config.
70235
70236         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
70237
70238 2003-11-17  Paul Eggert  <eggert@twinsun.com>
70239
70240         * README: Mention that S+T cannot overflow if S is the size of
70241         an existing object and T is sufficiently small.
70242
70243 2003-11-17  Jim Meyering  <jim@meyering.net>
70244
70245         On systems without utime and without a utimes function capable of
70246         dealing with a NULL struct utimbuf* argument, this utime replacement
70247         could -- in unusual circumstances -- leak a file descriptor.
70248         * lib/utime.c: Include <unistd.h> and <errno.h>.
70249         (utime_null): Be sure to close `fd' and to preserve errno.
70250         Reported by Geoff Collyer via Arnold Robbins.
70251
70252 2003-11-17  Bruno Haible  <bruno@clisp.org>
70253
70254         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
70255         (Depends-on): Add xsize.
70256
70257 2003-11-17  Bruno Haible  <bruno@clisp.org>
70258
70259         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
70260
70261 2003-11-17  Bruno Haible  <bruno@clisp.org>
70262
70263         * lib/vasnprintf.c (alloca): Remove fallback definition.
70264         (freea): Remove definition.
70265         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
70266         Reported by Paul Eggert.
70267
70268 2003-11-16  Paul Eggert  <eggert@twinsun.com>
70269             Bruno Haible  <bruno@clisp.org>
70270
70271         Protect against address arithmetic overflow.
70272         * lib/printf-args.h: Include stddef.h.
70273         (arguments): Change type of field 'count' to size_t.
70274         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
70275         'unsigned int' where appropriate.
70276         * lib/printf-parse.h: Include sys/types.h.
70277         (char_directive): Change type of *arg_index fields to ssize_t.
70278         (char_directives): Change type of fields 'count', max_*_length to
70279         size_t.
70280         * lib/printf-parse.c: Include sys/types.h and xsize.h.
70281         (SSIZE_MAX): Define fallback value.
70282         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
70283         instead of 'int' where appropriate. Check a_allocated, d_allocated
70284         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
70285         * lib/vasnprintf.c: Include xsize.h.
70286         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
70287         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
70288         overflow. Avoid wraparound when converting a width or precision from
70289         decimal to binary.
70290
70291 2003-11-16  Bruno Haible  <bruno@clisp.org>
70292
70293         Update from GNU gettext.
70294         * lib/printf-parse.c: Generalize to it can be compiled for wide
70295         strings.
70296         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
70297         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
70298         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
70299         SNPRINTF): New macros.
70300         Don't include <alloca.h> if the file is used inside libintl.
70301         (local_wcslen): New function, for Solaris 2.5.1.
70302         (VASNPRINTF): Use it instead of wcslen.
70303
70304 2003-11-16  Bruno Haible  <bruno@clisp.org>
70305
70306         * lib/xsize.h (xmax): New function.
70307         (xsum, xsum3, xsum4): Declare as "pure" functions.
70308
70309 2003-11-12  Paul Eggert  <eggert@twinsun.com>
70310
70311         * modules/xalloc (Files): Undo latest change, since xalloc.h
70312         no longer needs SIZE_MAX or PTRDIFF_MAX.
70313
70314 2003-11-12  Paul Eggert  <eggert@twinsun.com>
70315
70316         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
70317         gl_PTRDIFF_MAX.
70318
70319 2003-11-12  Paul Eggert  <eggert@twinsun.com>
70320
70321         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
70322         "return", to pacify some unknown compiler.  Problem reported
70323         by Joerg Schilling.
70324
70325 2003-11-12  Paul Eggert  <eggert@twinsun.com>
70326
70327         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
70328         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
70329         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
70330         heuristic is just as accurate as far as we know, and it removes a
70331         dependency on size_max.m4 and ptrdiff_max.m4.
70332
70333 2003-11-11  Bruno Haible  <bruno@clisp.org>
70334
70335         * modules/xsize (Files): Add m4/size_max.m4.
70336         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
70337
70338 2003-11-11  Bruno Haible  <bruno@clisp.org>
70339
70340         * m4/size_max.m4: New file.
70341         * m4/ptrdiff_max.m4: New file.
70342         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
70343         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
70344         (gl_XALLOC): Invoke it.
70345
70346 2003-11-11  Bruno Haible  <bruno@clisp.org>
70347
70348         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
70349         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
70350         defined.
70351
70352 2003-11-10  Paul Eggert  <eggert@twinsun.com>
70353
70354         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
70355         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
70356         rejected some allocations of exactly SIZE_MAX - 2 bytes.
70357         From Bruno Haible.
70358         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
70359         not (size_t) -1, since it's defined here.
70360
70361 2003-11-09  Karl Berry  <karl@gnu.org>
70362
70363         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
70364
70365 2003-11-06  Paul Eggert  <eggert@twinsun.com>
70366
70367         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
70368         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
70369         Reject sizes of exactly SIZE_MAX bytes.
70370         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
70371         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
70372
70373 2003-11-05  Bruno Haible  <bruno@clisp.org>
70374
70375         * lib/xsize.h: Include limits.h, to avoid a possible collision with
70376         SIZE_MAX defined in <limits.h> on Solaris.
70377
70378 2003-11-04  Jim Meyering  <jim@meyering.net>
70379
70380         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
70381         variable names, rather than @VAR@.
70382         * modules/poll: Likewise.
70383
70384 2003-11-04  Bruno Haible  <bruno@clisp.org>
70385
70386         * modules/xsize: New file.
70387         * modules/linebreak: Depend on xsize.
70388         * MODULES.html.sh (func_all_modules): Add xsize.
70389
70390 2003-11-04  Bruno Haible  <bruno@clisp.org>
70391
70392         * m4/xsize.m4: New file.
70393
70394 2003-11-04  Bruno Haible  <bruno@clisp.org>
70395
70396         * lib/xsize.h: New file.
70397         * lib/linebreak.c: Include xsize.h.
70398         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
70399         argument for overflow.
70400         Suggested by Paul Eggert.
70401
70402 2003-11-03  Karl Berry  <karl@gnu.org>
70403
70404         * config/config.{guess,sub}: update from config.
70405
70406 2003-11-03  Jim Meyering  <jim@meyering.net>
70407
70408         * modules/userspec (lib_SOURCES): Add userspec.h.
70409         (Include): Add "userspec.h".
70410         Improve description.
70411
70412 2003-11-03  Jim Meyering  <jim@meyering.net>
70413
70414         * lib/userspec.c: Include "userspec.h".
70415         * lib/userspec.h: New file.
70416
70417 2003-11-03  Bruno Haible  <bruno@clisp.org>
70418
70419         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
70420
70421 2003-11-03  Bruno Haible  <bruno@clisp.org>
70422
70423         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
70424         available, to avoid (extremely rare) race condition.
70425         Suggested by Paul Eggert.
70426
70427 2003-11-02  Karl Berry  <karl@gnu.org>
70428
70429         * config/srclist.txt (vasprintf.c): sync broken, sigh.
70430
70431 2003-10-31  Paul Eggert  <eggert@twinsun.com>
70432
70433         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
70434         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
70435         (read_filesystem_list): Set and use me_type_malloced.
70436         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
70437         whatever the type happens to be), for brevity and consistency.
70438         Check for size calculation overflow on Alphas running OSF/1.
70439
70440 2003-10-31  Jim Meyering  <jim@meyering.net>
70441
70442         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
70443
70444         * lib/linebuffer.c: Include <string.h> for declaration of memset.
70445
70446 2003-10-30  Paul Eggert  <eggert@twinsun.com>
70447             Bruno Haible  <bruno@clisp.org>
70448
70449         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
70450         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
70451
70452 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
70453
70454         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
70455         netbsd*-gnu*.  Suggested by Robert Millan.
70456
70457 2003-10-29  Paul Eggert  <eggert@twinsun.com>
70458
70459         * modules/group-member: Depend on stdbool.
70460
70461 2003-10-29  Paul Eggert  <eggert@twinsun.com>
70462
70463         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
70464
70465 2003-10-29  Paul Eggert  <eggert@twinsun.com>
70466
70467         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
70468         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
70469         after the 'gnu' in these cases.  This fixes some bugs in the
70470         previous change, and is based on suggestions by Robert Millan.
70471
70472 2003-10-29  Paul Eggert  <eggert@twinsun.com>
70473
70474         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
70475         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
70476         no longer needed.
70477         * lib/quotearg.c (quotearg_n_options): Use it.
70478         * lib/group-member.c: Include <stdbool.h>.
70479         (free_group_info): Arg is now const *; don't free arg.
70480         (get_group_info): Now returns bool and accepts struct group_info *,
70481         rather than returning a malloc'ed struct group_info *.
70482         All uses changed.  Check for overflow in internal size calculation.
70483
70484         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
70485         rather than xmalloc/xrealloc.
70486         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
70487         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
70488         conformance bug: the old code used a pointer after freeing the
70489         storage that it addressed.
70490         * lib/hash.c (hash_initialize): Simplify the code by using
70491         xalloc_oversized rather than doing it by hand.
70492         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
70493         the buffer preserved.  Use free and xmalloc instead.
70494         * lib/quotearg.c (quotearg_n_options): Likewise.
70495         Use a simpler test for size overflow.  Don't use xalloc_oversized
70496         because unsigned int might be wider than size_t (!); this suggests
70497         that we should switch from unsigned int to size_t for slot numbers.
70498
70499 2003-10-28  Paul Eggert  <eggert@twinsun.com>
70500
70501         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
70502         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
70503         NetBSD kernels.  Requested by Richard Stallman.
70504
70505 2003-10-27  Paul Eggert  <eggert@twinsun.com>
70506
70507         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
70508         to allocate the returned structure.  Do not allocate a subarray,
70509         as x2nrealloc will do that.
70510         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
70511         instead of xnrealloc.
70512         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
70513
70514 2003-10-27  Bruno Haible  <bruno@clisp.org>
70515
70516         * lib/stdbool_.h: Better support for BeOS.
70517
70518 2003-10-26  Paul Eggert  <eggert@twinsun.com>
70519
70520         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
70521         now uses inline.
70522
70523 2003-10-26  Paul Eggert  <eggert@twinsun.com>
70524
70525         * lib/xalloc.h (xalloc_oversized): New static inline function, for
70526         callers that want to do their own size-overflow checking.  Include
70527         <stdbool.h>, since xalloc_oversized returns bool.
70528         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
70529         to use xalloc_oversized.
70530
70531         Add two functions x2realloc, x2nrealloc, for programs that grow
70532         arrays dynamically by doubling their sizes.
70533         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
70534         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
70535         New functions.
70536
70537         Port to C99 semantics for 'inline' of external functions.
70538         Bug reported by Bruno Haible.
70539         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
70540         with the old contents of xnmalloc.
70541         (xnmalloc, xmalloc): Use it.
70542         (xnrealloc_inline): New static inline function,
70543         with the old contents of xnrealloc.
70544         (xnrealloc, xrealloc): Use it.
70545
70546         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
70547         that.
70548
70549 2003-10-26  Karl Berry  <karl@gnu.org>
70550
70551         * config/srclist.txt (COPYING.DOC): no longer available from
70552         /gd/gnuorg; don't know where the ultimate source is.
70553
70554 2003-10-25  Paul Eggert  <eggert@twinsun.com>
70555
70556         Fix several address-calculation bugs in the hash modules,
70557         plus some minor code cleanup.
70558
70559         * lib/hash.h: Include <stdbool.h>, for bool.
70560         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
70561         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
70562         hash_get_n_entries, hash_get_max_bucket_length,
70563         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
70564         hash_rehash): Use size_t rather than unsigned.
70565         * lib/hash.c (struct hash_table, hash_get_n_buckets,
70566         hash_get_n_buckets_used, hash_get_n_entries,
70567         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
70568         hash_get_entries, hash_do_for_each, hash_string, is_prime,
70569         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
70570         Likewise.
70571         (SIZE_MAX): Define if not defined.
70572         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
70573         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
70574         hash_print):
70575         Use const * when possible.
70576         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
70577         (check_tuning): Fix bug: if tuning parameters were very close to
70578         0 or 1, rounding errors could have caused subscript violations.
70579         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
70580         (hash_initialize): Add 'fail:' label
70581         to free table and return NULL, and use it to simplify code.
70582         Use calloc rather than clearing the storage ourself.
70583         (hash_initialize, hash_rehash): Check for arithmetic overflow in
70584         buffer size calculations.
70585         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
70586         Include <stddef.h>, for size_t.
70587         * lib/hash-pjw.c (hash_pjw): Likewise.
70588         Switch to method described by Bruno Haible.
70589         Include <limits.h>, for CHAR_BIT.
70590         (SIZE_BITS): New macro.
70591
70592 2003-10-23  Paul Eggert  <eggert@twinsun.com>
70593
70594         * m4/getline.m4 (AM_FUNC_GETLINE):
70595         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
70596         hosts.  Problem reported by Derek Robert Price in
70597         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
70598         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
70599         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
70600
70601 2003-10-21  Paul Eggert  <eggert@twinsun.com>
70602
70603         * lib/getndelim2.c (getndelim2): When size calculation overflows,
70604         ceiling the allocation at NMAX bytes rather than silently
70605         discarding input bytes before NMAX is reached.  This makes
70606         a difference only if NMAX exceeds SIZE_MAX / 2.
70607
70608         * lib/obstack.c: Merge from glibc.
70609         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
70610         Add libc_hidden_def (_obstack_newchunk).
70611         (_obstack_free) [! defined _LIBC]: Remove.
70612         [defined _LIBC]: Make a strong alias from obstack_free, rather than
70613         a clone of the function body.
70614         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
70615         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
70616
70617         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
70618         glibc.
70619         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
70620         arg to memcpy.
70621
70622         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
70623         (obstack_ptr_grow_fast, obstack_int_grow_fast):
70624         Don't use lvalue casts, as GCC plans to remove support for them
70625         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
70626         was also present in the non-GCC version, indicating that this
70627         code had always been buggy and had never been widely used.
70628         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
70629         Use the fast variant of each macro, rather than copying the
70630         definiens of the fast variant; that way, we'll be more likely to
70631         catch future bugs in the fast variants.
70632
70633 2003-10-20  Bruno Haible  <bruno@clisp.org>
70634
70635         * modules/wait-process: New file.
70636         * MODULES.html.sh (func_all_modules): Add wait-process.
70637
70638 2003-10-20  Bruno Haible  <bruno@clisp.org>
70639
70640         * m4/wait-process.m4: New file.
70641
70642 2003-10-20  Bruno Haible  <bruno@clisp.org>
70643
70644         * lib/wait-process.h: New file, from GNU gettext.
70645         * lib/wait-process.c: New file, from GNU gettext.
70646
70647 2003-10-19  Jim Meyering  <jim@meyering.net>
70648
70649         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
70650         HPUX 10.20.
70651
70652 2003-10-18  Karl Berry  <karl@gnu.org>
70653
70654         * config/config.guess: update from config.
70655
70656 2003-10-16  Paul Eggert  <eggert@twinsun.com>
70657
70658         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
70659         (getgroups): First arg is int, not size_t.
70660         Don't let 'free' mangle errno.
70661
70662 2003-10-16  Paul Eggert  <eggert@twinsun.com>
70663
70664         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
70665
70666 2003-10-16  Karl Berry  <karl@gnu.org>
70667
70668         * config/config.{guess,sub}: update from config.
70669
70670 2003-10-16  Jim Meyering  <jim@meyering.net>
70671
70672         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
70673         memcpy.
70674
70675 2003-10-15  Paul Eggert  <eggert@twinsun.com>
70676
70677         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
70678         (SIZE_MAX): Remove.
70679         (new_exclude, add_exclude_file): Initial size no longer needs to
70680         be a power of 2.
70681         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
70682         our own address arithmetic overflow checking.
70683
70684         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
70685         (fnmatch): Do not alloca more than 2000 wide characters;
70686         instead, use malloc for large buffers.
70687         Check for address arithmetic overflow, and return -1
70688         with errno set to ENOMEM in that case.
70689         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
70690         (NEW_PATTERN): Do not alloca more than 8000 bytes;
70691         instead, return -1.  Check for address arithmetic overflow.
70692
70693 2003-10-14  Paul Eggert  <eggert@twinsun.com>
70694
70695         Handle invalid suffixes and overflow independently, so that
70696         callers can treat them independently as needed.  Fix some bugs in
70697         suffix handling, e.g., "100k@" was not diagnosed as an invalid
70698         suffix for a human-readable blocksize.  The major caller-visible
70699         change is the addition of a new
70700         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
70701         that both overflow and suffix chars were found.
70702
70703         * lib/human.c (humblock): Don't check separately for invalid suffix
70704         char; that is xstrtoumax's job (now that its bug is fixed).
70705         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
70706         INTMAX_MAX]: New macros.
70707         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
70708         TYPE_MAXIMUM): New macros.
70709         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
70710         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
70711         if overflow occurs, as it's what __strtol does and it's more useful
70712         in practice.
70713         (__xstrtol): If __strtol reports some error other than ERANGE,
70714         reflect it to the caller as LONGINT_INVALID.  If it reports
70715         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
70716         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
70717         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
70718         value.
70719         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
70720         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
70721         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
70722         [defined UINTMAX_MAX]: New macros.
70723
70724 2003-10-14  Bruno Haible  <bruno@clisp.org>
70725
70726         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
70727
70728 2003-10-14  Bruno Haible  <bruno@clisp.org>
70729
70730         * m4/sig_atomic_t: New file, from GNU gettext.
70731         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
70732
70733 2003-10-14  Bruno Haible  <bruno@clisp.org>
70734
70735         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
70736         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
70737         Also use volatile where needed.
70738
70739 2003-10-12  Paul Eggert  <eggert@twinsun.com>
70740
70741         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
70742         Change maintainer from Bruno Haible to 'all'.
70743
70744 2003-10-12  Paul Eggert  <eggert@twinsun.com>
70745
70746         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
70747
70748 2003-10-12  Paul Eggert  <eggert@twinsun.com>
70749
70750         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
70751         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
70752         and define in terms of the other primitives.
70753         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
70754         (SIZE_MAX): Define if not already defined.
70755         (array_size_overflow): New function.
70756         (xalloc_die): Abort instead of exiting if 'error' returns.
70757         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
70758         (xmalloc, xrealloc): Use them.
70759         (xcalloc): Check for address arithmetic overflow.
70760         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
70761         a bit faster than strcpy.
70762
70763 2003-10-10  Simon Josefsson  <jas@extundo.com>
70764
70765         * modules/argp (Depends-on): Add restrict and strcase.
70766
70767 2003-10-10  Simon Josefsson  <jas@extundo.com>
70768
70769         * m4/argp.m4: Add AC_C_INLINE.
70770
70771 2003-10-08  Paul Eggert  <eggert@twinsun.com>
70772
70773         Merge getpass from libc, plus a few fixes.
70774
70775         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
70776         Include <stdbool.h>.
70777         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
70778         __fsetlocking to empty.
70779         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
70780         do include <bits/libc-lock.h>.
70781         Do not include <fcntl.h>; not needed.
70782         [_LIBC]: Include <wchar.h>.
70783         (NOTCANCEL_MODE): New macro.
70784         (flockfile, funlockfile) [_LIBC]: New macros.
70785         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
70786         [!_LIBC]: New macros.
70787         (call_fclose): New function.
70788         (getpass): Use it.  Save tty stream separately; this simplifies the
70789         code and makes it more reliable if stdin happens to equal stdout.
70790         Invoke __fsetlocking on tty.
70791         Handle thread cancellation if needed.
70792         Namespace cleanup (use __tcgetattr, __getline).
70793         Use bool for Booleans.
70794         [USE_IN_LIBIO]: Handle wide streams.
70795         [!_LIBC]: Unconditionally do the fseek, since we don't know what
70796         stream might go where.
70797
70798         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
70799         doesn't have to include <stdio.h> before us.
70800         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
70801         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
70802         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
70803         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
70804         if not declared, so that we can use getpass.c code from libc without
70805         rewriting it.
70806         (flockfile, ftrylockfile, funlockfile): New macros.
70807
70808 2003-10-08  Paul Eggert  <eggert@twinsun.com>
70809
70810         * modules/getpass: Depend on stdbool.
70811
70812 2003-10-08  Paul Eggert  <eggert@twinsun.com>
70813
70814         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
70815
70816 2003-10-07  Karl Berry  <karl@gnu.org>
70817
70818         * config/config.{guess,sub}: update from config.
70819
70820 2003-10-06  Jim Meyering  <jim@meyering.net>
70821             Bruno Haible  <bruno@clisp.org>
70822
70823         This lets translators provide better translations for the
70824         "Written by ..." part of --version output.
70825         * lib/version-etc.h: Include stdarg.h.
70826         (version_etc_copyright): Declare as readonly.
70827         (version_etc): Make this function variadic with a NULL-terminated list
70828         of author name strings.
70829         (version_etc_va): New declaration.
70830         * lib/version-etc.c: Include stdarg.h, stdlib.h.
70831         (version_etc_copyright): Declare as readonly.
70832         (version_etc_va): New function. Provide a different translatable string
70833         for each possible number of authors < 10. Abbreviate when there are 10
70834         authors or more.
70835         (version_etc): Make this function variadic. Call version_etc_va.
70836         Suggestion from Gary V. Vaughan.
70837
70838         * lib/long-options.h (parse_long_options): Change prototype: the
70839         authors string is moved to the end and becomes variadic.
70840         * lib/long-options.c: Include stdarg.h.
70841         (parse_long_options): Make this function variadic, too.
70842         Call version_etc_va, not version_etc.
70843
70844 2003-10-06  Bruno Haible  <bruno@clisp.org>
70845
70846         * modules/version-etc-2: Remove file.
70847         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
70848
70849 2003-10-06  Bruno Haible  <bruno@clisp.org>
70850
70851         * modules/fatal-signal: New file.
70852         * MODULES.html.sh (func_all_modules): Add fatal-signal.
70853
70854 2003-10-06  Bruno Haible  <bruno@clisp.org>
70855
70856         * m4/fatal-signal.m4: New file.
70857         * m4/signalblocking.m4: New file, from GNU gettext.
70858
70859 2003-10-06  Bruno Haible  <bruno@clisp.org>
70860
70861         * lib/version-etc-2.h: Remove file.
70862         * lib/version-etc-2.c: Remove file.
70863
70864 2003-10-06  Bruno Haible  <bruno@clisp.org>
70865
70866         * lib/fatal-signal.h: New file, from GNU gettext.
70867         * lib/fatal-signal.c: New file, from GNU gettext.
70868
70869 2003-10-05  Paul Eggert  <eggert@twinsun.com>
70870
70871         * README: Rework advice for preventing empty .o files.
70872         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
70873         not <sys/types.h>.
70874
70875 2003-10-04  Karl Berry  <karl@gnu.org>
70876
70877         * lib/argp*: update from libc.
70878
70879 2003-10-04  Karl Berry  <karl@gnu.org>
70880
70881         * config/config.{guess,sub}: update from config.
70882
70883 2003-10-02  Bruno Haible  <bruno@clisp.org>
70884
70885         * modules/lchown (Include): Add lchown.h.
70886         * modules/time_r (Include): Use "..." syntax.
70887         * modules/xgetdomainname (Include): Add xgetdomainname.h.
70888
70889 2003-10-01  Simon Josefsson  <jas@extundo.com>
70890
70891         * MODULES.html.sh (func_all_modules): Move gethostname from section
70892         'based on' to section 'lacking' POSIX:2001.
70893
70894 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
70895
70896         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
70897         to output mode on the same stream.
70898
70899 2003-09-29  Paul Eggert  <eggert@twinsun.com>
70900
70901         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
70902         Fix arg typo in previous patch.
70903
70904 2003-09-28  Jim Meyering  <jim@meyering.net>
70905
70906         * lib/error.c: Correct cpp indentation.
70907
70908 2003-09-27  Paul Eggert  <eggert@twinsun.com>
70909
70910         * modules/free: New file.
70911
70912 2003-09-27  Paul Eggert  <eggert@twinsun.com>
70913
70914         * m4/free.m4: New file.
70915
70916 2003-09-27  Paul Eggert  <eggert@twinsun.com>
70917
70918         * lib/minmax.h (MIN, MAX)
70919         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
70920         Omit the special code that used __typeof__, since we worry that
70921         it could be more trouble than it's worth.  See:
70922         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
70923         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
70924
70925         * lib/free.c: New file.
70926
70927 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
70928
70929         Trivial fixes to Makefile.am parts of module listings.
70930         * modules/strstr: Append strstr.h to lib_SOURCES.
70931         * modules/strcase: Likewise, for strcase.h.
70932
70933 2003-09-27  Karl Berry  <karl@gnu.org>
70934
70935         * config/mkinstalldirs: update from automake.
70936
70937 2003-09-26  Paul Eggert  <eggert@twinsun.com>
70938
70939         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
70940         (error_tail): Do not loop, reallocating temporary buffer, since
70941         the output cannot contain more wide characters than the input
70942         contains bytes, the size must be big enough already.  This avoids
70943         one potential size overflow calculation.  Check for size overflow
70944         when calculating temporary buffer size.  Free temporary buffer
70945         when done, if it was allocated with malloc; this plugs a memory
70946         leak.  Remove casts from void * to pointers, that are no longer
70947         needed now that we're assuming C89 or better.
70948
70949         Merge error changes from glibc.
70950
70951         * lib/error.c, error.h: Update copyright notice header to match glibc.
70952         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
70953         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
70954         Disable cancellation while printing error.
70955         * lib/error.h: Prepend __ to parameter names.
70956
70957 2003-09-26  Jim Meyering  <jim@meyering.net>
70958
70959         * lib/error.c (error_tail): Move some declarations
70960         into inner scope where the local variables are used.
70961
70962 2003-09-26  Bruno Haible  <bruno@clisp.org>
70963
70964         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
70965         stpncpy().
70966         Don't define stpncpy through config.h; it's now done through stpncpy.h.
70967
70968 2003-09-26  Bruno Haible  <bruno@clisp.org>
70969
70970         * lib/stpncpy.h (gnu_stpncpy): New declaration.
70971         (stpncpy): Define as alias for gnu_stpncpy.
70972         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
70973
70974 2003-09-25  Simon Josefsson  <jas@extundo.com>
70975
70976         * lib/xgetdomainname.h: New file.
70977         * lib/xgetdomainname.c: New file.
70978
70979 2003-09-25  Simon Josefsson  <jas@extundo.com>
70980             Bruno Haible  <bruno@clisp.org>
70981
70982         * modules/getdomainname: New file.
70983         * modules/xgetdomainname: New file.
70984         * MODULES.html.sh (func_all_modules): Add getdomainname,
70985         xgetdomainname.
70986
70987 2003-09-25  Simon Josefsson  <jas@extundo.com>
70988             Bruno Haible  <bruno@clisp.org>
70989
70990         * m4/getdomainname.m4: New file.
70991
70992 2003-09-25  Simon Josefsson  <jas@extundo.com>
70993             Bruno Haible  <bruno@clisp.org>
70994
70995         * lib/getdomainname.h: New file.
70996         * lib/getdomainname.c: New file.
70997
70998 2003-09-25  Karl Berry  <karl@gnu.org>
70999
71000         * lib/argp-fmtstream.c, argp-help.c: update from libc.
71001
71002 2003-09-25  Karl Berry  <karl@gnu.org>
71003
71004         * config/install-sh: update from automake.
71005
71006 2003-09-25  Bruno Haible  <bruno@clisp.org>
71007
71008         * modules/version-etc-2: New file, from modules/version-etc with
71009         modifications.
71010         * MODULES.html.sh (func_all_modules): Add version-etc-2.
71011
71012 2003-09-25  Bruno Haible  <bruno@clisp.org>
71013
71014         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
71015         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
71016
71017 2003-09-24  Simon Josefsson  <jas@extundo.com>
71018
71019         * modules/xgethostname: Add xgethostname.h.
71020
71021 2003-09-24  Paul Eggert  <eggert@twinsun.com>
71022
71023         * lib/linebuffer.c (freebuffer): Don't free the argument, just
71024         the buffer associated with the argument.  Bug reported by
71025         Simon Josefsson.
71026
71027 2003-09-24  Paul Eggert  <eggert@twinsun.com>
71028
71029         * README: Document assumptions that 'int' is at least 32 bits
71030         wide, that integer arithmetic is 2's complement without overflow,
71031         that there are no holes in integer values, that adding sizes of
71032         two nonoverlapping objects can't overflow, and that all-bits-zero
71033         yields scalar zero.  Fix spelling and capitalization typos.
71034
71035 2003-09-19  Karl Berry  <karl@gnu.org>
71036
71037         * lib/argp.h: update from libc.
71038
71039 2003-09-17  Paul Eggert  <eggert@twinsun.com>
71040
71041         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
71042         to avoid spurious warnings like "AC_RUN_IFELSE was called before
71043         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
71044
71045 2003-09-17  Paul Eggert  <eggert@twinsun.com>
71046
71047         * gnulib-tool: Use "test -h", not "test -L", for portability
71048         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
71049         (tags_regexp): Remove, since \| doesn't conform to POSIX.
71050         (sed_extract_prog): Issue s commands one-by-one, rather than
71051         using \| in one s command.
71052
71053 2003-09-16  Paul Eggert  <eggert@twinsun.com>
71054
71055         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
71056         input error, instead of returning NULL the next time we are called
71057         (and therefore losing track of errno).
71058
71059 2003-09-16  Bruno Haible  <bruno@clisp.org>
71060
71061         * gnulib-tool (func_create_testdir): Warn about duplicated
71062         dependencies.
71063
71064 2003-09-15  Paul Eggert  <eggert@twinsun.com>
71065
71066         * modules/argmatch, modules/fatal, modules/obstack,
71067         modules/xalloc, modules/xgethostname: Sort dependencies by
71068         importance, not alphabetically.
71069
71070 2003-09-15  Paul Eggert  <eggert@twinsun.com>
71071
71072         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
71073         fails, so that the caller gets the proper errno.
71074
71075         * lib/readutmp.c (read_utmp): Likewise.
71076         Check for fstat error.  Close stream and free storage
71077         when failing.
71078
71079 2003-09-14  Karl Berry  <karl@gnu.org>
71080
71081         * config/srclist.txt (strdup.c): disable for c89 changes.
71082
71083 2003-09-14  Jim Meyering  <jim@meyering.net>
71084
71085         * lib/getloadavg.c: Correct cpp indentation.
71086         * lib/strdup.c: Likewise.
71087         * lib/vasnprintf.c: Likewise.
71088
71089 2003-09-14  Bruno Haible  <bruno@clisp.org>
71090
71091         * modules/fwriteerror: New file.
71092         * MODULES.html.sh (func_all_modules): Add fwriteerror.
71093
71094 2003-09-14  Bruno Haible  <bruno@clisp.org>
71095
71096         * lib/fwriteerror.h: New file.
71097         * lib/fwriteerror.c: New file.
71098
71099 2003-09-12  Paul Eggert  <eggert@twinsun.com>
71100
71101         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
71102         modules/xgethostname, modules/xalloc: Depend on exit.
71103
71104 2003-09-12  Paul Eggert  <eggert@twinsun.com>
71105
71106         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
71107
71108         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
71109         and AC_MINIX, too, so that their extensions are available.
71110
71111         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
71112         This macro has been superseded by gl_BACKUPFILE.
71113
71114         More patches to assume C89 or better.
71115
71116         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
71117
71118         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
71119         unconditionally.
71120         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
71121         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
71122         Include <string.h>, <stdlib.h> unconditionally.
71123         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
71124         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
71125         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
71126         headers or for string.h.
71127         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
71128         or strtoul.
71129
71130         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
71131         headers.
71132         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
71133         * m4/userspec.m4 (gl_USERSPEC): Likewise.
71134         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
71135         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
71136         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
71137         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
71138         memcpy, memset.
71139         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
71140         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
71141         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
71142         strtol.
71143         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
71144         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
71145         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
71146         strtoul.
71147
71148 2003-09-12  Paul Eggert  <eggert@twinsun.com>
71149
71150         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
71151         * lib/obstack.c [!defined _LIBC]: Likewise.
71152         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
71153         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
71154         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
71155
71156         More changes to assume C89 or better.
71157
71158         * lib/error.c (error_tail): Assume vprintf.
71159
71160         * lib/argmatch.c (getenv): Remove decl.
71161         * lib/progreloc.c (get_full_program_name): Define via prototype.
71162         * lib/setenv.c (clearenv): Likewise.
71163         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
71164         needed.
71165         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
71166         (malloc, memcpy): Remove decls.
71167         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
71168         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
71169         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
71170         (memcpy): Remove macro.
71171         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
71172         (__P): Remove.  All uses removed.
71173         (PTR): Remove.  All uses changed to void *.
71174         (CHAR_BIT, NULL): Remove.
71175         (spaces, zeros, memset_space, memset_zero)
71176         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
71177         Remove.
71178         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
71179         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
71180         Define with prototype.
71181         Remove now-unnecessary prototype decl.
71182         (extra_args_spec): Assume ANSI C.  All uses changed.
71183         (extra_args_spec_iso): Remove.
71184         (my_strftime, emacs_strftimeu): Define via prototype.
71185         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
71186         unconditionally.
71187         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
71188         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
71189         (strtoul, strtol): Remove decls.
71190         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
71191         LONG_MAX): Remove.
71192         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
71193         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
71194         (LOCALE_PARAM_PROTO): New macro.
71195         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
71196         (INTERNAL (strtol), strtol): Define with a prototype.
71197         (PARAMS): Remove.  All uses removed.
71198         * lib/tempname.c: Include <string.h> unconditionally.
71199         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
71200         * lib/xgethostname.c (main): Define with a prototype.
71201         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
71202         Include <stdlib.h> unconditionally.
71203         (calloc, malloc, realloc, free): Remove decls.
71204         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
71205         Include <stdlib.h> unconditionally.  Sort include file names.
71206         (strtod): Remove.
71207         (xstrtod): Define with a prototype.
71208         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
71209         (strtol, strtoul): Remove decls.
71210
71211 2003-09-11  Paul Eggert  <eggert@twinsun.com>
71212
71213         More patches to assume C89 or better.
71214         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
71215         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
71216         string.h, memchr, STDC_HEADERS.
71217
71218 2003-09-11  Paul Eggert  <eggert@twinsun.com>
71219
71220         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
71221         Include <stdlib.h>, <string.h> unconditionally.
71222         Remove now-unnecessary cast to char *.
71223         * lib/strnlen.c: Include <string.h> unconditionally.
71224         * lib/yesno.c (yesno): Define with a prototype.
71225
71226 2003-09-11  Bruno Haible  <bruno@clisp.org>
71227
71228         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
71229
71230 2003-09-10  Jim Meyering  <jim@meyering.net>
71231
71232         * lib/error.c: Correct indentation of cpp directives.
71233
71234 2003-09-10  Bruno Haible  <bruno@clisp.org>
71235
71236         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
71237         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
71238         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
71239         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
71240         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
71241         <stdlib.h> and <string.h> checks.
71242         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
71243         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
71244
71245 2003-09-10  Bruno Haible  <bruno@clisp.org>
71246
71247         * lib/strcspn.c: Include <string.h> unconditionally.
71248         * lib/strpbrk.c: Include <string.h> unconditionally.
71249         * lib/strstr.c: Include <string.h> unconditionally.
71250         * lib/unicodeio.c: Include <string.h> unconditionally.
71251         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
71252         * lib/unsetenv.c: Likewise.
71253         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
71254         * lib/yesno.c: Include <stdlib.h> unconditionally.
71255         (rpmatch): Add prototype.
71256
71257 2003-09-09  Paul Eggert  <eggert@twinsun.com>
71258
71259         More patches to assume C89 or better.
71260         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
71261         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
71262         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
71263         or for string.h.
71264         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
71265         stdlib.h.
71266         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
71267         C headers.
71268         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
71269         string.h.
71270         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
71271         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
71272         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
71273         or for string.h.
71274         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
71275         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
71276         C headers.
71277         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
71278         memcpy.
71279         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
71280         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
71281         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
71282         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
71283         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
71284         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
71285         string.h, free.
71286         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
71287         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
71288         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
71289         C headers, or for string.h.
71290         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
71291         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
71292         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
71293         headers, memory.h, stdlib.h, string.h, strings.h.
71294         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
71295         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
71296         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
71297         strchr.
71298         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
71299         headers, memory.h, string.h.
71300         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
71301         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
71302         free.
71303         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
71304         headers.
71305         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
71306         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
71307         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
71308         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
71309         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
71310
71311 2003-09-09  Paul Eggert  <eggert@twinsun.com>
71312
71313         More K&R removal.
71314
71315         * lib/acosl.c (main): Use a prototype.
71316         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
71317         tanl.c: Likewise.
71318
71319         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
71320
71321         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
71322         (getopt, etopt_long, getopt_long_only, _getopt_internal)
71323         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
71324         with a prototype.
71325         * lib/getopt.c (const): Remove macro.
71326         Include <string.h> unconditionally.
71327         (my_index): Remove; all uses changed to strchr.
71328         (strlen): Remove decl.
71329         (exchange): Remove forward decl; no longer needed.
71330         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
71331         Define with prototype.
71332         * lib/getopt1.c (const): Remove macro.
71333         (getopt_long, getopt_long_only, main): Define with prototype.
71334
71335         * lib/getugroups.c: Include <string.h> unconditionally.
71336
71337         * lib/getusershell.c: Include <stdlib.h> unconditionally.
71338         (getusershell, setusershell, endusershell, readname, main):
71339         Define with prototypes.
71340
71341         * lib/group-member.c: Include group-member.h first.
71342         Include <stdlib.h> unconditionally.
71343
71344         * lib/hard-locale.c: Include hard-locale.h first.
71345         Include <stdlib.h>, <string.h> unconditionally.
71346
71347         * lib/hash.c (free, malloc): Remove decls.
71348         Include <stdlib.h> unconditionally.
71349
71350         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
71351         (getenv): Do not declare.
71352
71353         * lib/idcache.c: Include <string.h> unconditionally.
71354
71355         * lib/long-options.c: Include long-options.h first, to test interface.
71356         Include <stdlib.h> unconditionally.
71357
71358         * lib/makepath.c: Include makepath.h first, to test interface.
71359         Include <stdlib.h> and <string.h> unconditionally.
71360
71361         * lib/linebuffer.c: Include <stdlib.h>.
71362         (free): Remove decl.
71363
71364         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
71365         stddef.h. rpl_malloc returns void *, not char *.
71366         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
71367         prototype.
71368
71369         * lib/md5.h: Include <limits.h> unconditionally.
71370         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
71371         (__P): Remove; all uses removed.
71372         * lib/md5.c: Include "md5.h" first.
71373         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
71374         md5_buffer, md5_process_bytes, md5_process_block):
71375         Define with prototypes.
71376         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
71377         * lib/sha.c: Include "sha.h" first.
71378         Include <stdlib.h>, <string.h> unconditionally.
71379
71380         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
71381         * lib/memcmp.c (__ptr_t): Likewise.
71382         * lib/memrchr.c (__ptr_t): Likewise.
71383         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
71384         Include <string.h> unconditionally.
71385         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
71386         * lib/memchr.c: Include <stdlib.h> unconditionally.
71387         * lib/memchr.c (LONG_MAX): Remove.
71388         * lib/memrchr.c (LONG_MAX): Likewise.
71389         * lib/memchr.c (__memchr): Define via a prototype.
71390         * lib/memrchr.c (__memrchr): Likewise.
71391         * lib/memcmp.c (__P): Remove, and remove all uses.
71392         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
71393         Remove forward decls; no longer needed.
71394         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
71395         Use types required by C89 in prototype.
71396
71397         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
71398         * lib/savedir.c: Likewise.
71399         * lib/mkdir.c (free): Remove decl.
71400         * lib/rmdir.c (rmdir): Define with a prototype.
71401         * lib/savedir.c: Include savedir.h first, to test interface.
71402
71403         * lib/mktime.c (STDC_HEADERS): Remove.
71404         Include <stdlib.h>, <string.h> unconditionally.
71405
71406         * lib/modechange.c: Include <stdlib.h> unconditionally.
71407         (malloc): Remove decl.
71408
71409         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
71410         (free): Remove decl.
71411
71412         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
71413         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
71414         (This type really should be intptr_t, but that's a C99ism.)
71415         (_obstack_memcpy): Remove: all uses changed to memcpy.
71416         Include <string.h> unconditionally.
71417         (struct obstack): Assume __STDC__ for types of members
71418         chunkfun, freefun, extra_arg.
71419         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
71420         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
71421         obstack_begin, obstack_specify_allocation,
71422         obstack_specify_allocation_with_arg, obstack_chunkfun,
71423         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
71424         Remove unprototyped decls and the macros that use them.
71425         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
71426         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
71427         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
71428         (defined __STDC__ && __STDC__)]:
71429         Remove nonprototyped code.
71430         Include <stdlib.h> unconditionally.
71431         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
71432         _obstack_allocated_p, _obstack_free, obstack_free,
71433         _obstack_memory_used, print_and_abort):
71434         Define using prototypes.
71435         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
71436         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
71437         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
71438         obstack_next_free, obstack_object_size, obstack_room) [0]:
71439         Remove unused, unprototyped code.
71440
71441         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
71442
71443         * lib/physmem.c (physmem_total, physmem_available, main): Define
71444         with prototypes.
71445
71446         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
71447         (main): Define with a prototype.
71448
71449         * lib/posixver.c (getenv): Remove decl.
71450
71451         * lib/putenv.c (malloc): Returns void *, not char *.
71452         Include <string.h> unconditionally.
71453         (strchr, memcpy, NULL): Do not define.
71454
71455         * lib/readtokens.c: Include readtokens.h first, to test interface.
71456         Include <stdlib.h>, <string.h> unconditionally.
71457         (init_tokenbuffer): Define with a prototype.
71458
71459         * lib/regex.c (PARAMS): Remove.  All uses removed.
71460         All uses of _RE_ARGS removed, too.
71461         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
71462         unconditionally.
71463         (bzero): Assume memset exists.
71464         (memcmp, memcpy, NULL): Remove.
71465         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
71466         char, or assignments to local vars of type signed char.
71467         (init_syntax_once, PREFIX(extract_number_and_incr),
71468         PREFIX(print_partial_compiled_pattern),
71469         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
71470         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
71471         PREFIX(regex_grow_registers), PREFIX(regex_compile),
71472         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
71473         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
71474         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
71475         wcs_compile_range, byte_compile_range, truncate_wchar,
71476         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
71477         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
71478         count_mbs_length, wcs_re_match_2_internal,
71479         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
71480         PREFIX(alt_match_null_string_p),
71481         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
71482         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
71483         regfree, PREFIX(extract_number)): Define with prototype.  Remove
71484         now-unnecessary declaration, if any.
71485         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
71486         regcomp, regexec):
71487         Remove now-unnecessary casts among pointer types.
71488         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
71489
71490         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
71491         (free): Remove decl.
71492
71493         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
71494
71495         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
71496         (free): Remove decl.
71497
71498         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
71499         * lib/xgetcwd.c: Likewise.
71500
71501         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
71502         (free): Remove decl.
71503
71504         * lib/strchrnul.c (strchrnul): Define with a prototype.
71505         Fix bug: c_in was not converted to char before searching.
71506
71507         The following changes are not K&R related:
71508
71509         * lib/group-member.h: Include <sys/types.h>, so that this file is
71510         self-contained.
71511         * lib/makepath.h: Likewise.
71512
71513         * lib/getusershell.c (readname, default_index, line_size, readname):
71514         Use size_t, not int, for sizes.
71515         (readname): If the size overflows, report an error instead of
71516         looping forever.
71517
71518 2003-09-09  Paul Eggert  <eggert@twinsun.com>
71519
71520         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
71521         libc.
71522
71523 2003-09-09  Paul Eggert  <eggert@twinsun.com>
71524
71525         * README: New section: portability guidelines.
71526
71527 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
71528
71529         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
71530         C89 spec.
71531
71532 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
71533
71534         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
71535
71536 2003-09-08  Paul Eggert  <eggert@twinsun.com>
71537
71538         Assume C89 or better; remove K&R cruft.
71539         A few of these changes were first proposed by Derek Robert Price
71540         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
71541
71542         * lib/addext.c: Include <string.h> unconditionally.
71543         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
71544         Don't declare getenv or malloc.
71545
71546         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
71547         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
71548         (NULL): Remove.
71549         (find_stack_direction, alloca): Use prototypes.
71550
71551         * lib/atexit.c (atexit): Define using a prototype.
71552
71553         * lib/basename.c, dirname.c, stripslash.c:
71554         Include <string.h> unconditionally.
71555
71556         * lib/bcopy.c: Include <stddef.h>.
71557         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
71558
71559         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
71560
71561         * lib/error.h (error, error_at_line, error_print_progname)
71562         [! (defined (__STDC__) && __STDC__)]: Remove decls.
71563         * lib/error.c: Include error.h first, to check interface.
71564         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
71565         (VA_START): Remove; all uses changeed to va_start.
71566         (exit, strerror): Remove decls.
71567         (error_print_progname): Prototype uncondionally.
71568         Don't include <errno.h>; no longer needed.
71569         (private_strerror): Remove.
71570         (error_tail): Always define.
71571         (error, error_at_line): Assume C89 or better; always use prototypes.
71572         * lib/fatal.c: Include "fatal.h" first, to test interface.
71573         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
71574         (VA_START): Remove; all uses changed to va_start.
71575         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
71576         this case.
71577         (exit): Remove decl.
71578         (fatal): Prototype unconditionally.  Assume va_start works.
71579         Abort at end, to pacify gcc.
71580
71581         * lib/euidaccess.c (main): Define with a prototype.
71582
71583         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
71584
71585         * lib/exitfail.c: Include <stdlib.h> unconditionally.
71586
71587         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
71588         prototypes.
71589         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
71590         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
71591         (getenv): Remove decl.
71592         (fnmatch): Define using a prototype.
71593         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
71594         (FCT): Define using a prototype.
71595
71596         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
71597
71598         * lib/gethostname.c: Include <stddef.h>.
71599         (gethostname): Define with prototype.  Length is size_t, not int.
71600
71601 2003-09-08  Paul Eggert  <eggert@twinsun.com>
71602
71603         Assume C89 or better; remove K&R cruft.
71604         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
71605         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
71606         string.h, getenv, malloc.
71607         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
71608         headers.
71609         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
71610         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
71611         do not check for strerror.
71612         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
71613         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
71614         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
71615         do not check for doprnt or vprintf.
71616         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
71617         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
71618
71619 2003-09-08  Paul Eggert  <eggert@twinsun.com>
71620
71621         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
71622         getversion.c should have been removed then, but was accidentally
71623         preserved.
71624
71625         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
71626         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
71627
71628 2003-09-08  Karl Berry  <karl@gnu.org>
71629
71630         * config/config.sub, config.guess, srclistvars.sh: update from savannah
71631                 config, forget about prep.
71632
71633         * config/depcomp, missing: update from automake.
71634
71635 2003-09-07  Paul Eggert  <eggert@twinsun.com>
71636
71637         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
71638         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
71639
71640 2003-09-07  Paul Eggert  <eggert@twinsun.com>
71641
71642         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
71643         copy_tm_result.  Bug reported by Simon Josefsson in
71644         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
71645
71646 2003-09-06  Paul Eggert  <eggert@twinsun.com>
71647
71648         * m4/time_r.m4: New file.
71649         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
71650         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
71651         is. Check for timegm declaration.
71652         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
71653         Do not check for gmtime_r.
71654         Replace mktime if __mktime_internal does not exist and if mktime
71655         hasn't been replaced already.
71656
71657 2003-09-06  Paul Eggert  <eggert@twinsun.com>
71658
71659         * lib/time_r.c, lib/time_r.h: New files.
71660
71661         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
71662         __localtime_r.
71663         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
71664         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
71665
71666         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
71667         __gmtime_r.
71668         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
71669         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
71670         Include <time_r.h>.
71671
71672         * lib/timegm.c: Switch to glibc implementation, with the following
71673         changes:
71674         [defined HAVE_CONFIG_H]: Include <config.h>.
71675         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
71676         (__mktime_internal) [!defined _LIBC]: New decl.
71677         (__gmtime_r) [!defined _LIBC]: New macro and function.
71678         (timegm): Use a prototype, since gnulib assumes C89.
71679         Do not bother declaring tmp to be const, as it's not really usefu.
71680         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
71681         (timegm): Declare only if HAVE_DECL_TIMEGM.
71682
71683 2003-09-06  Paul Eggert  <eggert@twinsun.com>
71684
71685         * MODULES.html.sh (func_all_modules): Add time_r.
71686         * modules/time_r: New file.
71687         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
71688         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
71689
71690 2003-09-03  Paul Eggert  <eggert@twinsun.com>
71691
71692         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
71693         Bug reported by Lute Kamstra in
71694         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
71695
71696         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
71697         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
71698         course with correspondingly smaller numbers for tomorrow and
71699         yesterday.  From Tadayoshi Funaba.  Originally installed into
71700         sh-utils on 1999-08-07, but the patch got lost (I guess during the
71701         coreutils merge?).
71702
71703 2003-08-31  Simon Josefsson  <jas@extundo.com>
71704
71705         * modules/timegm: New file.
71706         * MODULES.html.sh (func_all_modules): Add timegm.
71707
71708 2003-08-31  Simon Josefsson  <jas@extundo.com>
71709
71710         * m4/timegm.m4: New file.
71711
71712 2003-08-31  Simon Josefsson  <jas@extundo.com>
71713
71714         * lib/timegm.h: New file.
71715         * lib/timegm.c: New file.  Based on
71716         wget-1.8.2/src/http.c:mktime_from_utc.
71717
71718 2003-08-31  Karl Berry  <karl@gnu.org>
71719
71720         * lib/argp.h: update from libc.
71721
71722 2003-08-28  Bruno Haible  <bruno@clisp.org>
71723
71724         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
71725         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
71726         followed by '#define fnmatch fnmatch_posix' gives an error.
71727
71728 2003-08-28  Bruno Haible  <bruno@clisp.org>
71729
71730         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
71731         warning on QNX, which defines O_BINARY to 000000.
71732
71733 2003-08-27  Jim Meyering  <jim@meyering.net>
71734
71735         * m4/mkstemp.m4: Require that the system mkstemp be able to create
71736         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
71737         would fail after 32.  Reported by Danny Levinson.  Details here:
71738         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
71739
71740 2003-08-24  Bruno Haible  <bruno@clisp.org>
71741
71742         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
71743         MSVC7 <stdio.h> is included later.
71744
71745 2003-08-22  Simon Josefsson  <jas@extundo.com>
71746
71747         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
71748
71749 2003-08-20  Karl Berry  <karl@gnu.org>
71750
71751         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
71752
71753 2003-08-20  Bruno Haible  <bruno@clisp.org>
71754
71755         * modules/progname: New file.
71756         * MODULES.html.sh (func_all_modules): Add progname.
71757
71758 2003-08-20  Bruno Haible  <bruno@clisp.org>
71759
71760         * lib/progname.h: New file, from GNU gettext.
71761         * lib/progname.c: New file, from GNU gettext.
71762         * lib/progreloc.c: New file, from GNU gettext.
71763
71764 2003-08-19  Jim Meyering  <jim@meyering.net>
71765
71766         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
71767         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
71768
71769 2003-08-19  Bruno Haible  <bruno@clisp.org>
71770
71771         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
71772         more.
71773
71774 2003-08-19  Bruno Haible  <bruno@clisp.org>
71775
71776         * lib/xstrdup.c: Assume <string.h> exists.
71777
71778 2003-08-18  Paul Eggert  <eggert@twinsun.com>
71779
71780         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
71781         in makefile rules.
71782
71783 2003-08-18  Jim Meyering  <jim@meyering.net>
71784
71785         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
71786         * m4/lib-ld.m4: Likewise.
71787
71788 2003-08-18  Jim Meyering  <jim@meyering.net>
71789
71790         * lib/setenv.h: Indent nested cpp directive.
71791         * lib/vasnprintf.c: Remove trailing blanks.
71792
71793 2003-08-17  Simon Josefsson  <jas@extundo.com>
71794
71795         * modules/xstrndup: New file.
71796         * MODULES.html.sh (func_all_modules): Add xstrndup.
71797
71798 2003-08-17  Simon Josefsson  <jas@extundo.com>
71799
71800         * modules/argp: Fix autoconf macro name. Add more dependencies.
71801
71802 2003-08-17  Simon Josefsson  <jas@extundo.com>
71803
71804         * m4/xstrndup.m4: New file.
71805
71806 2003-08-17  Simon Josefsson  <jas@extundo.com>
71807
71808         * m4/argp.m4: New file.
71809
71810 2003-08-17  Simon Josefsson  <jas@extundo.com>
71811             Bruno Haible  <bruno@clisp.org>
71812
71813         * lib/xstrndup.h: New file.
71814         * lib/xstrndup.c: New file.
71815
71816 2003-08-17  Bruno Haible  <bruno@clisp.org>
71817
71818         * modules/strndup (Files, Include): Add lib/strndup.h.
71819
71820 2003-08-17  Bruno Haible  <bruno@clisp.org>
71821
71822         * modules/euidaccess (Files): Add lib/euidaccess.h.
71823
71824 2003-08-17  Bruno Haible  <bruno@clisp.org>
71825
71826         * lib/strndup.h: New file.
71827
71828 2003-08-17  Bruno Haible  <bruno@clisp.org>
71829
71830         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
71831         like AC_GNU_SOURCE.
71832         * modules/extensions (configure.ac): Comment out the invocation of
71833         gl_USE_SYSTEM_EXTENSIONS.
71834
71835 2003-08-16  Paul Eggert  <eggert@twinsun.com>
71836
71837         Merges from coreutils, etc.
71838         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
71839         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
71840         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
71841         fixing a typo.
71842         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
71843         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
71844
71845 2003-08-16  Paul Eggert  <eggert@twinsun.com>
71846
71847         Document merge from coreutils.
71848         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
71849         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
71850         * modules/utime: Add m4/utimes-null.m4.
71851
71852 2003-08-16  Paul Eggert  <eggert@twinsun.com>
71853
71854         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
71855         space, undoing this 2003-08-12 change:
71856         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
71857
71858 2003-08-16  Paul Eggert  <eggert@twinsun.com>
71859
71860         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
71861         strtoul.c from libc, undoing this 2003-08-12 change:
71862         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
71863
71864 2003-08-16  Jim Meyering  <jim@meyering.net>
71865
71866         Merges from coreutils.
71867         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
71868         prefix.  Adjust cache variables similarly.  Create 500 rather than
71869         just 300 files, to exercise bug on Darwin6.5, too.
71870         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
71871         $missing_dir.
71872         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
71873         AM_SYS_POSIX_TERMIOS.
71874         Reported by mkc@mathdogs.com.
71875         Also change use of $am_cv_sys_posix_termios
71876         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
71877         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
71878         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
71879         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
71880         in /proc/mounts until it finds one with matching device number.  This
71881         is unnecessary when the FILE argument *is* a mount point.  No stat call
71882         is necessary in that case.  So, disable the statvfs-testing code on
71883         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
71884         as RedHat bug# 84846.
71885         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
71886         to 1MB, so as not to render systems with no stack size limit (e.g.,
71887         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
71888         Include <unistd.h>.  On some systems,
71889         it is required for the definition of _SC_PAGESIZE.
71890
71891 2003-08-16  Jim Meyering  <jim@meyering.net>
71892
71893         Merge from coreutils.
71894         * lib/xstrtoimax.c: #else #if -> #elif.
71895         * lib/xstrtoumax.c: Likewise.
71896
71897 2003-08-16  Jim Meyering  <jim@meyering.net>
71898
71899         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
71900         * m4/utimes.m4: Removed.
71901         * m4/utimes-null.m4: Renamed from utimes.m4.
71902
71903         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
71904         to 1MB, so as not to render systems with no stack size limit (e.g.,
71905         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
71906         Include <unistd.h>.  On some systems,
71907         it is required for the definition of _SC_PAGESIZE.
71908
71909 2003-08-16  Jim Meyering  <jim@meyering.net>
71910         and Paul Eggert  <eggert@cs.ucla.edu>
71911
71912         Merges from coreutils, etc.
71913
71914         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
71915         using the latest version from cvs.  This avoids problems with #line
71916         directives using a vendor (Sun) compiler.
71917         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
71918         Don't set GETGROUPS_LIB here; now it's
71919         done via getgroups.m4's wrapper function.
71920         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
71921         rather than just in sh-util/configure.in, so that the
71922         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
71923         same.
71924         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
71925         AC_FUNC_GETLOADAVG where to find getloadavg.c.
71926         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
71927         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
71928         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
71929         Remove code that is now done by the newly-required macros.
71930         Append $(EXEEXT) to DF_PROG.
71931         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
71932         Do not invoke or require the following here,
71933         since prereq.m4 or some gnulib .m4 now does this for us:
71934         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
71935         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
71936         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
71937         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
71938         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
71939         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
71940         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
71941         AC_FUNC_OBSTACK.
71942         Do not replace the following functions, as this is now the job
71943         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
71944         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
71945         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
71946         atexit getpass, strdup, getpagesize.
71947         Replace 'raise'.
71948         Do not check for the following functions, as this is now the job
71949         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
71950         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
71951         setregid.
71952         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
71953         Check for sys/sysctl.h.
71954         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
71955         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
71956         of checking for ssize_t ourselves.
71957
71958         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
71959         Require every macro that gnulib/modules/* suggests for us.
71960         (jm_PREREQ_ADDEXT): New macro.
71961         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
71962         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
71963
71964         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
71965         (gl_PHYSMEM): Use it.
71966         Also check for `table' function.
71967         Check for new headers and functions.
71968         Add check for sys/sysmp.h.
71969         With suggestions from Kaveh Ghazi.
71970         Ignore headers that are present but cannot be compiled.  This
71971         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
71972         C 5.4.
71973
71974 2003-08-15  Paul Eggert  <eggert@twinsun.com>
71975
71976         Document merge from coreutils.
71977         * modules/userspec: Depend on posixver.
71978         * modules/strftime: Depend on tzset.
71979
71980 2003-08-15  Paul Eggert  <eggert@twinsun.com>
71981
71982         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
71983         rather than tab, after '#' in shell-script copyright notices.
71984         Suggested by Bruno Haible.
71985
71986 2003-08-15  Paul Eggert  <eggert@twinsun.com>
71987
71988         * config/srclist-update: Use three spaces, rather than tab, after '#'
71989         in shell-script copyright notices.  Suggested by Bruno Haible.
71990         Remove unnecessary parenthesization in regular expression.
71991
71992 2003-08-15  Jim Meyering  <jim@meyering.net>
71993
71994         Merge from coreutils.
71995         * lib/xgethostname.c: Include <stdlib.h>.
71996         (xghostname): Don't exit for anything other than memory-related
71997         failure; just return NULL.
71998         * lib/userspec.c: Include "posixver.h".
71999         (parse_user_spec): Accept `.' as a separator only
72000         in pre-POSIX-200112 mode.
72001         * lib/strtoimax.c: Use #elif rather than #else #if.
72002         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
72003         Remove function, now that we can rely on a working tzset function.
72004         [!_LIBC]: Ensure that the required autoconf test has been run.
72005         [!defined _NL_CURRENT && HAVE_STRFTIME]:
72006         Use underlying_strftime for %r.
72007         * lib/sha.c: Merge in some clean-up and optimization changes from
72008         glibc.
72009         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
72010         Ensure that it is a multiple of 64.
72011         Rearrange loop exit tests so as to avoid performing an
72012         additional fread after encountering an error or EOF.
72013         * lib/realloc.c: Update copyright date.
72014
72015 2003-08-15  Jim Meyering  <jim@meyering.net>
72016         and Paul Eggert  <eggert@twinsun.com>
72017
72018         Merge from coreutils.
72019         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
72020         member but strut utmpx does not.  Needed for AIX 4.3.3.
72021         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
72022
72023 2003-08-15  Jim Meyering  <jim@meyering.net>
72024         and Paul Eggert  <eggert@cs.ucla.edu>
72025
72026         Merges from coreutils, etc.
72027         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
72028         Require gl_FUNC_TZSET_CLOBBER.
72029         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
72030         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
72031         members.
72032
72033 2003-08-14  Paul Eggert  <eggert@twinsun.com>
72034
72035         Help the merge from coreutils.
72036         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
72037         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
72038         * m4/tzset.m4: Use it too.
72039
72040 2003-08-14  Paul Eggert  <eggert@twinsun.com>
72041
72042         * modules/tzset: New file.
72043
72044 2003-08-14  Jim Meyering  <jim@meyering.net>
72045
72046         Merges from coreutils.
72047         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
72048         variable names, rather than @FNMATCH_H@.
72049         * modules/alloca: Likewise for $(ALLOCA_H).
72050
72051         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
72052         the three copies of the literal target, `fnmatch.h'.
72053         * modules/alloca (alloca.h): Likewise.
72054
72055 2003-08-14  Jim Meyering  <jim@meyering.net>
72056
72057         Merge from coreutils.
72058         * m4/tzset.m4: New file.
72059         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
72060         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
72061         otherwise, AIX 5.1 systems would end up using the latter.
72062         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
72063         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
72064         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
72065         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
72066
72067 2003-08-14  Jim Meyering  <jim@meyering.net>
72068
72069         Merge from coreutils.
72070         * lib/obstack.h: Whitespace changes.
72071         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
72072         and xcalloc return values.
72073         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
72074         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
72075         hang on OSF/1 5.1 for DIR on both local and remote file systems.
72076         Reported by (and fix confirmed by) Nelson H. F. Beebe.
72077         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
72078         error from mntctl.
72079         Use mntctl's return value to drive the entry-processing loop, since
72080         we can't rely on the value of the vmt_length member in the last
72081         entry.  On some systems doing so could result in exhausting
72082         virtual memory.  Based in part on a patch from Mike Jetzer.
72083
72084 2003-08-14  Jim Meyering  <jim@meyering.net>
72085         and Paul Eggert  <eggert@twinsun.com>
72086
72087         Merges from coreutils, plus other fixes.
72088         * lib/physmem.c: Merge in portability changes from gcc/libiberty
72089         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
72090         for credits and details.  Thanks to Kaveh Ghazi for helping
72091         to keep these files in sync.
72092         (ARRAY_SIZE): Define it.
72093         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
72094         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
72095         (memcasecmp): Don't assume size_t fits in unsigned int.
72096         Remove casts and duplicate code.
72097         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
72098         (memcpy): Remove definition.
72099         Merge in some clean-up and optimization changes from glibc.
72100         [BLOCKSIZE]: Move definition to top of file.
72101         Ensure that it is a multiple of 64.
72102         Rearrange loop exit tests so as to avoid performing an
72103         additional fread after encountering an error or EOF.
72104         * lib/md5.h (md5_uintptr): Define.
72105         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
72106         return to the initial working directory.  Preserve errno
72107         for caller.
72108         * lib/idcache.c: Include "xalloc.h".
72109         (xmalloc, xrealloc): Remove decls.
72110         (getuser): Remove casts no longer required in C89.
72111         * lib/human.c: Include stdio.h, for sprintf.
72112         * lib/group-member.c: Include "xalloc.h".
72113         (xmalloc, xrealloc): Remove decls.
72114         (get_group_info): Remove casts no longer required in C89.
72115         * lib/getusershell.c (readname): Remove casts no longer required in
72116         C89.
72117         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
72118         * lib/getline.c: Whitespace fix, from coreutils.
72119
72120 2003-08-13  Paul Eggert  <eggert@twinsun.com>
72121
72122         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
72123         Check for isascii.
72124
72125         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
72126         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
72127         Undo previous (whitespace-only) change.
72128
72129 2003-08-13  Paul Eggert  <eggert@twinsun.com>
72130
72131         * lib/exclude.c: Include <ctype.h>
72132         (IN_CTYPE_DOMAIN): New macro.
72133         (is_space): New fn.
72134         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
72135         and empty lines.
72136
72137         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
72138         Undo previous (whitespace-only) change.
72139
72140 2003-08-13  Paul Eggert  <eggert@twinsun.com>
72141
72142         * config/srclist-update: Change update back to the old behavior,
72143         leaving whitespace alone.  Use one 'sed' command rather than a
72144         pipeline.
72145         (fixlicense): Now a variable, not a function.
72146         (remove_trailing_blanks): Remove.
72147         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
72148         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
72149         Undo previous (whitespace-only) change.
72150
72151 2003-08-12  Paul Eggert  <eggert@twinsun.com>
72152
72153         Merge from coreutils.
72154         * modules/euidaccess: Add lib_SOURCES, include for new
72155         file euidaccess.h
72156
72157 2003-08-12  Paul Eggert  <eggert@twinsun.com>
72158
72159         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
72160         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
72161         Normalize leading white space and remove trailing white space.
72162
72163         Merge from coreutils
72164         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
72165
72166         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
72167         0.12.1.  These files are now being upgraded automatically by
72168         ../config/srclist-update.
72169
72170 2003-08-12  Paul Eggert  <eggert@twinsun.com>
72171
72172         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
72173         Normalize leading white space and remove trailing white space.
72174         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
72175         notice, as per ../config/srclist-update.
72176
72177         Merge from coreutils.
72178         * lib/euidaccess.h: New file.
72179         * lib/euidaccess.c: Include it.
72180         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
72181         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
72182         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
72183
72184 2003-08-12  Paul Eggert  <eggert@twinsun.com>
72185
72186         * config/srclist-update: Add copyright notice.
72187         (remove_id_lines, remove_trailing_blanks): New constants.
72188         (fixfile): Use them to normalize spacing a bit in copied files.
72189         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
72190         Normalize leading white space and remove trailing white space.
72191
72192         * config/texinfo.tex: Sync with texinfo.
72193
72194         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
72195         strtoul.c from libc, to merge coreutils whitespace changes.
72196
72197         * config/srclist.txt: Get the following m4 files from gettext:
72198         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
72199         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
72200         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
72201         wint_t.m4.
72202
72203 2003-08-12  Karl Berry  <karl@gnu.org>
72204
72205         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
72206         been made.
72207
72208 2003-08-11  Paul Eggert  <eggert@twinsun.com>
72209
72210         * modules/gnu-source, m4/gnu-source.m4:
72211         Remove; we're assuming Autoconf 2.54 or later now.
72212         Suggested by Bruno Haible.
72213         * MODULES.html.sh (func_all_modules): Remove gnu-source.
72214
72215 2003-08-11  Bruno Haible  <bruno@clisp.org>
72216
72217         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
72218
72219 2003-08-11  Bruno Haible  <bruno@clisp.org>
72220
72221         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
72222         (vasnprintf): Use it instead of wcslen.
72223
72224 2003-08-11  Bruno Haible  <bruno@clisp.org>
72225
72226         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
72227         value to ensure that _Bool promotes to int. Use #define for _Bool when
72228         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
72229
72230 2003-08-10  Karl Berry  <karl@gnu.org>
72231
72232         * lib/regex.h: update from libc (whitespace fix).
72233
72234 2003-08-09  Paul Eggert  <eggert@twinsun.com>
72235
72236         Merge some files from coreutils.  These changes were
72237         originally made by Jim Meyering.
72238         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
72239         many older Unixes require this.
72240         * lib/alloca.c (alloca): Remove cast to argument of free;
72241         no longer needed in C89.
72242         * lib/alloca_.h, regex.h: Fix white space to match
72243         what GNU indent does.
72244
72245 2003-08-09  Paul Eggert  <eggert@twinsun.com>
72246
72247         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
72248         apparently Emacs's Unicode mode got confused before my 2003-08-05
72249         checkin.
72250
72251 2003-08-08  Paul Eggert  <eggert@twinsun.com>
72252
72253         * m4/extensions.m4: New file.
72254         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
72255         Require gl_USE_SYSTEM_EXTENSIONS.
72256         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
72257         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
72258
72259 2003-08-08  Paul Eggert  <eggert@twinsun.com>
72260
72261         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
72262         * modules/extensions, modules/gnu-source: New files.
72263         * modules/timespec, modules/unlocked-io: Depend on extensions.
72264
72265 2003-08-07  Paul Eggert  <eggert@twinsun.com>
72266
72267         * modules/restrict: New file.
72268         * MODULES.html.sh (func_all_modules): Add restrict.
72269         * modules/regex: Depend on restrict.
72270
72271 2003-08-07  Paul Eggert  <eggert@twinsun.com>
72272
72273         * m4/restrict.m4: New file.
72274         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
72275
72276 2003-08-07  Bruno Haible  <bruno@clisp.org>
72277
72278         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
72279         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
72280
72281 2003-08-07  Bruno Haible  <bruno@clisp.org>
72282
72283         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
72284         makes the module 'getndelim2' compatible with the module 'getline'.
72285
72286 2003-08-05  Paul Eggert  <eggert@twinsun.com>
72287
72288         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
72289         byte with "\201" to avoid glitches when editing that source file
72290         with multi-gnome-terminal.
72291
72292 2003-08-05  Paul Eggert  <eggert@twinsun.com>
72293
72294         * lib/bumpalloc.h: Remove.
72295
72296 2003-08-05  Paul Eggert  <eggert@twinsun.com>
72297
72298         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
72299         * modules/bumpalloc: Remove.
72300
72301 2003-08-04  Paul Eggert  <eggert@twinsun.com>
72302
72303         * lib/getloadavg.c: Change copyright notice and spacing to conform to
72304         GNU coding style.
72305
72306         Merge from coreutils.
72307         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
72308         1. From glibc.
72309         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
72310         from Karl Berry, implemented by Jim Meyering.
72311         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
72312         from Dmitry V. Levin.
72313         Remove anachronistic cast of xrealloc.
72314         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
72315         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
72316         type. Otherwise, it wouldn't compile with at least /bin/cc on
72317         ymp-cray-unicos9.0.2.X.
72318         Combine two mostly-identical uses of alloca into one.
72319         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
72320
72321 2003-08-04  Dave Love  <d.love@dl.ac.uk>
72322
72323         [From Emacs.]
72324
72325         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
72326         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
72327         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
72328         obsolete NLIST_NAME_UNION.
72329         [__GNU__]: Undef BSD and FSCALE.
72330         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
72331
72332 2003-08-03  Paul Eggert  <eggert@twinsun.com>
72333
72334         * lib/stdbool_.h (_Bool): Make it signed char, instead of
72335         an enum type, so that it's guaranteed to promote to int.  See:
72336         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
72337
72338 2003-08-03  Karl Berry  <karl@gnu.org>
72339
72340         * config/depcomp: update from automake.
72341
72342 2003-07-31  Paul Eggert  <eggert@twinsun.com>
72343
72344         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
72345         (strerror): Don't assume that a printable int fits in 14 bytes.
72346
72347 2003-07-31  Bruno Haible  <bruno@clisp.org>
72348
72349         * modules/getpass-gnu: New file.
72350         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
72351
72352 2003-07-31  Bruno Haible  <bruno@clisp.org>
72353
72354         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
72355
72356 2003-07-24  Karl Berry  <karl@gnu.org>
72357
72358         * config/missing: update from automake.
72359
72360 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
72361             Bruno Haible  <bruno@clisp.org>
72362
72363         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
72364         * lib/getline.c (getline, getdelim): Likewise.
72365         Remove _GNU_SOURCE define; now it's defined in config.h through
72366         m4/getline.m4.
72367
72368 2003-07-23  Karl Berry  <karl@gnu.org>
72369
72370         * config/config.sub: update from prep.
72371
72372 2003-07-22  Paul Eggert  <eggert@twinsun.com>
72373
72374         * modules/xalloc (Depends-on): Add exitfail.
72375         * modules/xmemcoll: Likewise.
72376
72377 2003-07-22  Paul Eggert  <eggert@twinsun.com>
72378
72379         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
72380         over-parenthesization in macros.
72381
72382         Sync with coreutils.
72383
72384         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
72385         required by C99.
72386
72387         Use `exit_failure' for xalloc and xmemcoll instead of their own
72388         private exit-failure variables.
72389         * lib/xalloc.h (xalloc_exit_failure): Remove.
72390         * lib/xmalloc.c: Likewise.  Include exitfail.h.
72391         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
72392         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
72393         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
72394         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
72395
72396 2003-07-20  Jim Meyering  <jim@meyering.net>
72397
72398         * modules/closeout (Depends-on): Add exitfail.
72399         Suggestion from Bruno Haible.
72400
72401 2003-07-19  Karl Berry  <karl@gnu.org>
72402
72403         * config/config.sub: update from prep.
72404
72405 2003-07-18  Paul Eggert  <eggert@twinsun.com>
72406
72407         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
72408         Remove.
72409         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
72410         to test that it can stand by itself.  Include "exitfail.h".
72411         Clients should set exit_failure instead.
72412         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
72413
72414 2003-07-18  Bruno Haible  <bruno@clisp.org>
72415
72416         * modules/getndelim2: New file.
72417         * modules/getline: Share files with module getndelim2.
72418         * modules/getnline: Depend on getndelim2 instead of sharing files with
72419         it. Add getnline.c to lib_SOURCES.
72420         * MODULES.html.sh (func_all_modules): Add getndelim2.
72421
72422 2003-07-18  Bruno Haible  <bruno@clisp.org>
72423
72424         * m4/getndelim2.m4: New file.
72425         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
72426         invoke gl_PREREQ_GETNDELIM2.
72427         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
72428         gl_PREREQ_GETNDELIM2.
72429         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
72430         gl_GETNDELIM2.
72431
72432 2003-07-18  Bruno Haible  <bruno@clisp.org>
72433
72434         * lib/getndelim2.h: New file.
72435         * lib/getndelim2.c: Make into a module of its own. Include config.h,
72436         getndelim2.h.
72437         (getndelim2): Make non-static. Change return type to ssize_t.
72438         * lib/getline.h: Change argument names.
72439         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
72440         * lib/getnline.c: Include getndelim2.h.
72441
72442 2003-07-18  Andreas Schwab  <schwab@suse.de>
72443
72444         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
72445
72446 2003-07-17  Karl Berry  <karl@gnu.org>
72447
72448         * config/config.sub: update from prep.
72449
72450 2003-07-17  Bruno Haible  <bruno@clisp.org>
72451
72452         * modules/getnline: New file.
72453         * modules/getline: Add lib/getndelim2.c to source file list.
72454         * MODULES.html.sh (func_all_modules): Add getnline.
72455
72456 2003-07-17  Bruno Haible  <bruno@clisp.org>
72457
72458         * m4/getnline.m4: New file.
72459
72460 2003-07-17  Bruno Haible  <bruno@clisp.org>
72461
72462         * m4/Makefile.am.in: Remove file.
72463         * m4/Makefile.am: Remove file.
72464         * m4/Makefile.in: Remove file.
72465
72466 2003-07-17  Bruno Haible  <bruno@clisp.org>
72467
72468         * lib/getnline.h: New file.
72469         * lib/getnline.c: New file.
72470         * lib/getndelim2.c: New file, extracted from getline.c.
72471         (getndelim2): Renamed from getdelim2, with added nmax argument.
72472         * lib/getline.c: Include getndelim2.c.
72473         (getdelim2): Moved out to getndelim2.c.
72474         (getline, getdelim): Update.
72475
72476 2003-07-17  Bruno Haible  <bruno@clisp.org>
72477
72478         * lib/Makefile.am: Remove file.
72479         * lib/Makefile.in: Remove file.
72480
72481 2003-07-17  Bruno Haible  <bruno@clisp.org>
72482
72483         * configure.in: Remove file.
72484         * Makefile.in: Remove file.
72485
72486 2003-07-17  Bruno Haible  <bruno@clisp.org>
72487
72488         * MODULES.html.sh: Put the </BODY> right before </HTML>.
72489
72490 2003-07-16  Karl Berry  <karl@gnu.org>
72491
72492         * config/srclist-update: was running fixlicense twice, which caused
72493                 texinfo.tex to be nullified for some reason.  Simplify,
72494                 $gplsrc is no longer needed as far as I can see?
72495
72496 2003-07-16  Jim Meyering  <jim@meyering.net>
72497
72498         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
72499
72500 2003-07-15  Paul Eggert  <eggert@twinsun.com>
72501
72502         * config/srclist.txt: Get the following files from gettext-runtime/intl
72503         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
72504         ref-del.sin.  From Bruno Haible.
72505         * config/srclist-update (fixfile): Change grep pattern again, since the
72506         previous fix didn't work (there was another trailing $).  Use
72507         '[$]' to escape the $s.
72508
72509 2003-07-15  Karl Berry  <karl@gnu.org>
72510
72511         * lib/vasnprintf.c: update from gettext.
72512
72513 2003-07-15  Karl Berry  <karl@gnu.org>
72514
72515         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
72516         gets expanded when surrounded by '$'.
72517
72518 2003-07-15  Jim Meyering  <jim@meyering.net>
72519
72520         * modules/save-cwd: Don't depend on error.  From Derek Price.
72521
72522 2003-07-15  Jim Meyering  <jim@meyering.net>
72523
72524         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
72525
72526 2003-07-14  Simon Josefsson  <jas@extundo.com>
72527
72528         * modules/mempcpy: New file.
72529         * MODULES.html.sh (func_all_modules): Add mempcpy.
72530
72531 2003-07-14  Simon Josefsson  <jas@extundo.com>
72532
72533         * m4/mempcpy.m4: New file.
72534
72535 2003-07-14  Simon Josefsson  <jas@extundo.com>
72536
72537         * lib/mempcpy.h: New file.
72538         * lib/mempcpy.c: New file.
72539
72540 2003-07-14  Paul Eggert  <eggert@twinsun.com>
72541
72542         * modules/getdate, modules/posixtm: Depend on mktime.
72543
72544 2003-07-14  Paul Eggert  <eggert@twinsun.com>
72545
72546         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
72547         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
72548         unicodeio.c, unicodeio.h, unlocked-io.h:
72549         Switch from LGPL to GPL.
72550
72551 2003-07-14  Paul Eggert  <eggert@twinsun.com>
72552
72553         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
72554         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
72555         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
72556         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
72557         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
72558         updated automatically by ../config/srclist-update.  This changes
72559         their license from LPGL to GPL.
72560
72561 2003-07-14  Paul Eggert  <eggert@twinsun.com>
72562
72563         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
72564         assumed to refer to the root of the most recent stable gettext version.
72565         * config/srclistvars.sh: Add defaults for eggert.
72566         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
72567         Match "This program" as well as "The program".  This is needed
72568         for gettext.
72569
72570 2003-07-14  Jim Meyering  <jim@meyering.net>
72571
72572         Don't emit diagnostics.  Let callers do that.
72573         * lib/save-cwd.c: Don't include "error.h".
72574         (save_cwd): Don't call error.  Ensure that errno is valid
72575         when returning nonzero.
72576
72577         * lib/save-cwd.h (restore_cwd): Update prototype.
72578         * lib/save-cwd.c (restore_cwd): Remove two parameters.
72579         Simplify.  Don't call error upon failure.  Let callers do that.
72580         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
72581         when auditing is enabled.  But don't bother updating the #if.
72582
72583 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
72584
72585         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
72586         it breaks C++ compilation.
72587         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
72588
72589 2003-07-10  Simon Josefsson  <jas@extundo.com>
72590
72591         * modules/strchrnul (Makefile.am): Add strchrnul.h.
72592
72593 2003-07-10  Jim Meyering  <jim@meyering.net>
72594
72595         * m4/clock_time.m4: Remove trailing blank.
72596         * m4/intmax_t.m4: Likewise.
72597
72598 2003-07-10  Jim Meyering  <jim@meyering.net>
72599
72600         * lib/vasnprintf.c: Remove trailing blanks.
72601         Make cpp indentation consistent.
72602
72603 2003-07-09  Paul Eggert  <eggert@twinsun.com>
72604
72605         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
72606         posixver.c, strftime.c, strnlen.c, strverscmp.c:
72607         Switch from LGPL to GPL.
72608
72609 2003-07-09  Paul Eggert  <eggert@twinsun.com>
72610
72611         * config/srclist.txt: Sort sublists.  Add
72612         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
72613         that differ from gnulib for one reason or another; we'd like this list
72614         to be smaller but for now let's document what we have.
72615
72616 2003-07-08  Paul Eggert  <eggert@twinsun.com>
72617
72618         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
72619         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
72620         and sweeter "eval x=$x".
72621         * config/srclist.txt: Get lib/argp* from glibc.
72622
72623 2003-07-07  Paul Eggert  <eggert@twinsun.com>
72624
72625         * lib/mktime.c: Fix some boundary cases and remove need for floating
72626         point.
72627
72628         Issue a compile-time diagnostic if time_t is floating point, or if
72629         two's complement arithmetic is not in effect, or if arithmetic
72630         right shift does not propagate the sign.  These assumptions were
72631         all in the original code but they weren't checked.
72632
72633         (TIME_T_MIDPOINT, verify): New macros.
72634         (__isleap): Remove; it has integer overflow problems.
72635         (leapyear): New function, without those problems.
72636         (ydhms_tm_diff): Remove; splitting into two parts.
72637         (ydhms_diff): New function, containing the arithmetic part of
72638         the old ydhms_tm_diff function.  Issue a compile-time
72639         diagnostic if we are not using C99 integer division.
72640         Avoid casts when possible.
72641         (guess_time_tm): New function, containing the checking part of
72642         the old ydhms_tm_diff function.  Return the new value, rather than
72643         the difference between it and the old.  Accept a new argument T
72644         so that *T specifies the old value.  Check for overflow in the result.
72645
72646         (__mktime_internal): Use a time_t offset, not a long int offset.
72647         This undoes the 2003-06-04 change, which is no longer needed now
72648         that we have better overflow checking.
72649         (localtime_offset): Likewise.
72650
72651         (__mktime_internal): Avoid harmful overflow on hosts where time_t
72652         and long are 64-bit but int is only 32-bit.
72653         (ydhms_diff): Use long int to store year1 and yday1.
72654         Issue a compile-time diagnostic if long int is not wide enough.
72655
72656         (__mktime_internal): Use long int to store adjusted year and yday.
72657         Use plain C rather than preprocessor commands, if that doesn't
72658         affect efficiency.
72659         Check for overflow (and try to repair) after each probe
72660         rather than checking only at the very end.  This avoids some bugs
72661         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
72662         does not equal GMT offset at maximum time).
72663         Use integer to check for overflow rather than floating point; this
72664         is more portable to non-IEEE hosts, and is a tad faster.
72665         When we detect that we are oscillating between two values,
72666         don't check whether tm_isdst has the requested value, since
72667         we already know the answer.  When tm_isdst has the wrong value,
72668         use a different heuristic to find the right one, based on the
72669         extreme values actually observed in practice in tz2003a,
72670         rather than the (overly optimistic) "previous 3 calendar quarters".
72671
72672         (not_equal_tm, print_tm, check_result): Use "const T" rather than
72673         "T const" to accommodate glibc style.
72674         (check_result): Use less-confusing report format.  "long" -> "long int.
72675         (main): Likewise.
72676         Don't loop if the iteration overflows time_t.
72677         Allow a negative step in the iteration.
72678
72679 2003-07-06  Karl Berry  <karl@gnu.org>
72680
72681         * config/depcomp: update from automake.
72682         * config/config.sub: update from prep.
72683
72684 2003-07-03  Karl Berry  <karl@gnu.org>
72685
72686         * config/config.guess: update from prep.
72687
72688 2003-07-01  Paul Eggert  <eggert@twinsun.com>
72689
72690         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
72691         xreadlink.c now includes it unconditionally.
72692
72693 2003-07-01  Paul Eggert  <eggert@twinsun.com>
72694
72695         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
72696         having it depend on HAVE_SYS_TYPES_H.
72697
72698 2003-07-01  Bruno Haible  <bruno@clisp.org>
72699
72700         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
72701         <sys/types.h> should be sufficient.
72702         Reported by Paul Eggert.
72703
72704 2003-06-26  Karl Berry  <karl@gnu.org>
72705
72706         * config/depcomp: update from automake.
72707
72708 2003-06-26  Bruno Haible  <bruno@clisp.org>
72709
72710         * modules/human: Depend on module stdbool.
72711
72712 2003-06-25  Bruno Haible  <bruno@clisp.org>
72713
72714         * modules/readlink: New file.
72715         * modules/xreadlink: Depend on it.
72716         * MODULES.html.sh (func_all_modules): Add readlink.
72717
72718 2003-06-25  Bruno Haible  <bruno@clisp.org>
72719
72720         * m4/readlink.m4: New file.
72721
72722 2003-06-25  Bruno Haible  <bruno@clisp.org>
72723
72724         * lib/readlink.c: New file.
72725
72726 2003-06-22  Karl Berry  <karl@gnu.org>
72727
72728         * config/srclist.txt: update mkinstalldirs from automake.
72729         * config/mkinstalldirs: update.
72730
72731 2003-06-22  Bruno Haible  <bruno@clisp.org>
72732
72733         Portability to mingw32.
72734         * m4/ssize_t.m4: New file, from GNU gettext.
72735         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
72736         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
72737
72738 2003-06-22  Bruno Haible  <bruno@clisp.org>
72739
72740         * modules/safe-read: Add m4/ssize_t.m4.
72741         * modules/xreadlink: Add m4/ssize_t.m4.
72742
72743 2003-06-20  Bruno Haible  <bruno@clisp.org>
72744
72745         Assume C89, so PARAMS isn't needed.
72746         * lib/unicodeio.h (PARAMS): Remove.
72747         * lib/unicodeio.c: Don't use PARAMS.
72748
72749 2003-06-18  Karl Berry  <karl@gnu.org>
72750
72751         * config/config.{guess,sub}: update from prep.
72752
72753 2003-06-18  Jim Meyering  <jim@meyering.net>
72754
72755         Merge changes from coreutils.
72756         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
72757         Remove explicit declarations of xmalloc and realloc.
72758         Include xalloc.h.
72759         (read_utmp): Remove anachronistic cast of xmalloc.
72760
72761 2003-06-17  Paul Eggert  <eggert@twinsun.com>
72762
72763         Assume C89, so PARAMS isn't needed.
72764         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
72765         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
72766         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
72767         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
72768         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
72769         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
72770         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
72771         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
72772         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
72773         lib/xstrtod.h, lib/xstrtol.h: Likewise.
72774         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
72775         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
72776         no longer needed. Anyway, config.h should always be included before any
72777         other file.
72778
72779 2003-06-11  Simon Josefsson  <jas@extundo.com>
72780
72781         * modules/sysexits: New file.
72782         * MODULES.html.sh (func_all_modules): Add sysexits.
72783
72784 2003-06-11  Simon Josefsson  <jas@extundo.com>
72785
72786         * lib/sysexit_.h: New file.
72787
72788 2003-06-11  Derek Price  <derek@ximbiot.com>
72789
72790         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
72791         necessary.
72792
72793 2003-06-11  Bruno Haible  <bruno@clisp.org>
72794
72795         * m4/sysexits.m4: New file.
72796
72797 2003-06-10  Simon Josefsson  <jas@extundo.com>
72798
72799         * lib/argp.h: New file, from glibc.
72800         * lib/argp-ba.c: New file, from glibc.
72801         * lib/argp-eexst.c: New file, from glibc.
72802         * lib/argp-fmtstream.c: New file, from glibc.
72803         * lib/argp-fmtstream.h: New file, from glibc.
72804         * lib/argp-fs-xinl.c: New file, from glibc.
72805         * lib/argp-help.c: New file, from glibc.
72806         * lib/argp-namefrob.h: New file, from glibc.
72807         * lib/argp-parse.c: New file, from glibc.
72808         * lib/argp-pv.c: New file, from glibc.
72809         * lib/argp-pvh.c: New file, from glibc.
72810         * lib/argp-xinl.c: New file, from glibc.
72811
72812 2003-06-10  Simon Josefsson  <jas@extundo.com>
72813
72814         * modules/strchrnul: New file.
72815
72816 2003-06-10  Simon Josefsson  <jas@extundo.com>
72817
72818         * modules/argp: New file.
72819
72820 2003-06-10  Simon Josefsson  <jas@extundo.com>
72821
72822         * m4/strchrnul.m4: New file.
72823
72824 2003-06-10  Simon Josefsson  <jas@extundo.com>
72825
72826         * lib/strchrnul.h: New file.
72827         * lib/strchrnul.c: New file.
72828
72829 2003-06-10  Bruno Haible  <bruno@clisp.org>
72830
72831         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
72832
72833 2003-06-07  Karl Berry  <karl@gnu.org>
72834
72835         * config/config.{guess,sub}: update from prep.
72836
72837 2003-06-07  Jim Meyering  <jim@meyering.net>
72838
72839         * modules/strtod: Use $(...) notation, not @...@ for
72840         AC_REPLACE'd variables.
72841         * modules/localcharset: Likewise.
72842
72843 2003-06-07  Jim Meyering  <jim@meyering.net>
72844
72845         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
72846         in place of my name in the copyright comment.
72847         Remove definition and uses of __P.
72848
72849         From coreutils.
72850         * lib/stat.c: Don't declare xmalloc explicitly.
72851         Instead, include "xalloc.h".
72852         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
72853         xrealloc, and xcalloc return values.
72854         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
72855         Improve comment.
72856         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
72857
72858 2003-06-07  Bruno Haible  <bruno@clisp.org>
72859
72860         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
72861         avoid AC_CONFIG_LINKS.
72862         * modules/fnmatch (Makefile.am): Use explicit creation rule for
72863         fnmatch.h, to avoid AC_CONFIG_LINKS.
72864         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
72865
72866 2003-06-07  Bruno Haible  <bruno@clisp.org>
72867
72868         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
72869         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
72870         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
72871         directory.
72872         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
72873         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
72874         directory.
72875
72876 2003-06-06  Jim Meyering  <jim@meyering.net>
72877
72878         Merge from coreutils.
72879         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
72880         Consolidate declarations and initializations of *_base* locals.
72881
72882         Merge from coreutils.
72883         This avoids a core dump on systems without GNU putenv,
72884         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
72885         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
72886         (unsetenv): New static function, from GNU libc.
72887         (rpl_putenv): Use it.
72888
72889         * lib/modechange.c: Remove trailing blanks.
72890
72891         Merge from coreutils.
72892         * lib/fsusage.c: Remove declaration of statfs.
72893         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
72894
72895         * lib/posixtm.c: Include <stdbool.h> unconditionally.
72896
72897 2003-06-06  Jim Meyering  <jim@meyering.net>
72898
72899         * lib/stdbool_.h: Renamed from stdbool.h.in.
72900
72901 2003-06-06  Jim Meyering  <jim@meyering.net>
72902             Bruno Haible  <bruno@clisp.org>
72903
72904         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
72905         Adjust Makefile.am snippet not to redirect directly to target.
72906         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
72907
72908 2003-06-05  Paul Eggert  <eggert@twinsun.com>
72909
72910         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
72911         mismatch, look in future quarters as well as past.  This fixes a
72912         bug when processing fall-backwards gaps immediately after a long
72913         period of daylight-saving time.
72914
72915         * lib/mktime.c: Assume freestanding C89 or better.
72916         (HAVE_LIMITS_H): Remove.  Assume it's 1.
72917         (__P): Remove; not used.
72918         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
72919         (mktime, not_equal_tm, print_tm, check_result,
72920         main): Use prototypes.  Use const * where appropriate.
72921         (main): Fix typo in testing code that uncovered by above changes.
72922         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
72923
72924 2003-06-04  Paul Eggert  <eggert@twinsun.com>
72925
72926         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
72927         locale.h, localeconv.  This merges changes from coreutils.
72928
72929         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
72930         It can be removed after the next Autoconf is released.
72931         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
72932         needed.
72933
72934 2003-06-04  Paul Eggert  <eggert@twinsun.com>
72935
72936         * lib/mktime.c: Fix Debian bug 177940
72937         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
72938         (localtime_offset): Now long int, not time_t, because we want it
72939         to be guaranteed to be signed.  All uses changed.
72940         (__mktime_internal): If overflow would occur when adding offset,
72941         don't add it.
72942
72943         Merge 'human' changes from coreutils.  Rewrite to support
72944         locale-specific notations like thousands separators.
72945         * lib/human.c: Simplify authorship notice.
72946         Include human.h immediately after config.h.
72947         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
72948         <limits.h>: Do not include, since human.h does.
72949         (SIZE_MAX, UINTMAX_MAX): New macros.
72950         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
72951         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
72952         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
72953         (power_letter): Renamed from suffixes.
72954         (generate_suffix_backwards): Remove.
72955         (adjust_value): Now takes int style (because of human.h changes)
72956         and long double value (for greater precision on some platforms).
72957         (group_number): New function.
72958         (human_readable): Use it.  Use integer options, not enum.
72959         Put the options before the sizes in the arg list.
72960         Support all the new options.
72961         The old human_readable function has been removed;
72962         use inttostr.h instead.
72963         (human_readable, default_block_size, humblock):
72964         Use uintmax_t, not int, for block sizes.
72965         (human_readable_inexact, block_size_types): Remove.
72966         (block_size_opts): New constant.
72967         (human_options): Renamed from human_block_size, with new signature
72968         that allows block sizes up to UINTMAX_MAX.  All callers changed.
72969         * lib/human.h: Add copyright and authorship notice.
72970         Include <limits.h> and <stdbool.h> unconditionally.
72971         (PARAMS): Remove.  All uses removed.
72972         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
72973         (enum human_inexact_style): Remove tag; now a nameless enum.
72974         (human_floor, human_ceiling, human_round_to_even): Now have
72975         values 2, 0, 1 rather than -1, 1, 0.
72976         (human_group_digits, human_suppress_point_zero, human_autoscale,
72977         human_base_1024, human_SI, human_B): New constants.
72978         (human_readable_inexact, human_block_size): Remove.
72979         (human_readable): Size args are now uintmax_t, not int.
72980         (human_options): New decl.
72981
72982         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
72983         unnecessary now that we assume C89 or better.  This change
72984         imported from coreutils.
72985
72986         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
72987         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
72988         in the 2003-05-30 sync from glibc.
72989
72990         .h files should stand alone, but we shouldn't include <sys/types.h>
72991         if we can get away with just <stddef.h>.
72992
72993         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
72994         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
72995         rather than <sys/types.h>, as we merely need size_t.
72996         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
72997         to get size_t.
72998         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
72999         Include <stdio.h>, to get FILE.
73000         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
73001         memcasecmp.h has included <stddef.h> and all we need is size_t.
73002         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
73003         our interface, instead of including <sys/types.h>
73004
73005 2003-06-04  Paul Eggert  <eggert@twinsun.com>
73006
73007         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
73008         now, as glibc mktime is buggy on non-glibc systems.
73009
73010 2003-06-03  Karl Berry  <karl@gnu.org>
73011
73012         * config/config.sub: update from prep.
73013
73014 2003-06-02  Paul Eggert  <eggert@twinsun.com>
73015
73016         [from coreutils]
73017         Fix some minor time-related bugs with POSIX time arguments.
73018         Some valid time stamps were being rejected (notably -1, and
73019         time stamps before 1900 on 64-bit hosts).  And some invalid
73020         time stamps were being accepted, e.g. September 31.
73021
73022         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
73023         that we can return (time_t) -1 successfully.
73024         * lib/posixtm.c: Likewise.
73025         [HAVE_STDBOOL_H]: Include <stdbool.h>.
73026         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
73027         (t): Remove static var.
73028         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
73029         of static var.  All uses changed.
73030         (year): Do not reject years before 1900; they can occur with
73031         64-bit time_t.
73032         (posix_time_parse): Do not check for out-of-range components;
73033         that is now the caller's responsibility, since our checks were
73034         only approximations.
73035         (posixtime): Use mktime to check for out-of-range components,
73036         since it knows them exactly.
73037         If mktime returns (time_t) -1, check whether an error actually occurred
73038         by invoking localtime on -1.
73039         (main) [TEST_POSIXTIME]: Check for input data errors, and report
73040         posixtime failures better.
73041         Improve the test data (in comments only).
73042
73043 2003-06-02  Karl Berry  <karl@gnu.org>
73044
73045         * config/mkinstalldirs (version): new variable.
73046         (--version): new option.
73047         (usage): improve message.
73048
73049 2003-05-30  Karl Berry  <karl@gnu.org>
73050
73051         * lib/mktime.c: update from libc.
73052
73053 2003-05-30  Bruno Haible  <bruno@clisp.org>
73054
73055         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
73056         * config/config.rpath: Upgrade to gettext-0.12.1.
73057
73058 2003-05-30  Bruno Haible  <bruno@clisp.org>
73059
73060         * m4/gettext.m4: Upgrade to gettext-0.12.1.
73061         * m4/nls.m4: New file, from gettext-0.12.1.
73062         * m4/po.m4: New file, from gettext-0.12.1.
73063         * m4/progtest.m4: Upgrade to gettext-0.12.1.
73064
73065 2003-05-30  Bruno Haible  <bruno@clisp.org>
73066
73067         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
73068         * lib/localcharset.h: Likewise.
73069         * lib/localcharset.c: Likewise.
73070
73071 2003-05-29  Karl Berry  <karl@gnu.org>
73072
73073         * config/config.rpath: update from gettext.
73074
73075 2003-05-28  Paul Eggert  <eggert@twinsun.com>
73076
73077         Assume the headers required for C89 freestanding compilers.
73078         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
73079         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
73080         * m4/human.m4 (gl_HUMAN): Likewise.
73081         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
73082         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
73083         * m4/userspec.m4 (gl_USERSPEC): Likewise.
73084         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
73085         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
73086         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
73087
73088 2003-05-28  Paul Eggert  <eggert@twinsun.com>
73089
73090         Assume the headers required for C89 freestanding compilers.
73091         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
73092         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
73093         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
73094         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
73095         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
73096         define, since <limits.h> is guaranteed to do that.
73097         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
73098         * lib/exclude.c: Include <stdbool.h> unconditionally.
73099         * lib/tempname.c: Include <stddef.h> unconditionally.
73100         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
73101         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
73102         <stddef.h> does that.
73103         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
73104         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
73105         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
73106         needed.
73107         * lib/xstrtol.c: Likewise.
73108         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
73109         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
73110
73111         * lib/addext.c (addext): Use assignment rather than cast, to avoid
73112         warnings on some platforms.
73113
73114         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
73115         arbitrarily.
73116
73117 2003-05-26  Jim Meyering  <jim@meyering.net>
73118
73119         Merge in a change from coreutils:
73120         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
73121         that is guaranteed to be `no'.  Use `no_such_member' to indicate
73122         that condition, rather than `-1' which is slightly misleading.
73123         Change the name of the cache variable to have the gl_ prefix.
73124         Prompted by a patch from Richard Dawe for DJGPP.
73125
73126 2003-05-24  Karl Berry  <karl@gnu.org>
73127
73128         * config/config.guess: update from prep.
73129
73130 2003-05-22  Karl Berry  <karl@gnu.org>
73131
73132         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
73133
73134 2003-05-20  Karl Berry  <karl@gnu.org>
73135
73136         * config/config.guess: update from prep.
73137
73138 2003-05-18  Karl Berry  <karl@gnu.org>
73139
73140         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
73141         might actually be set by the user.
73142
73143         * config/depcomp, install-sh, mdate-sh: update from automake.
73144
73145 2003-05-17  Bruno Haible  <bruno@clisp.org>
73146
73147         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
73148         invalid expansion for AC_EGREP_CPP.
73149         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
73150         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
73151         Suggested by Akim Demaille <akim@epita.fr> in
73152         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
73153
73154 2003-05-12  Jim Meyering  <jim@meyering.net>
73155
73156         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
73157         the space-padded-by-default conversion specifiers, %e, %k, %l.
73158
73159 2003-05-12  Bruno Haible  <bruno@clisp.org>
73160
73161         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
73162         the string is longer than 4 KB.
73163
73164 2003-05-11  Karl Berry  <karl@gnu.org>
73165
73166         * config/config.{guess,sub}: update from prep.
73167
73168 2003-05-09  Bruno Haible  <bruno@clisp.org>
73169
73170         * modules/error: Add m4/strerror_r.m4 to file list.
73171
73172 2003-05-03  Bruno Haible  <bruno@clisp.org>
73173
73174         Upgrade to Unicode-4.0.
73175         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
73176         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
73177         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
73178         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
73179         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
73180         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
73181         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
73182         Change width of U+E0100..U+E01EF from 1 to 0.
73183
73184 2003-04-25  Jim Meyering  <jim@meyering.net>
73185
73186         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
73187         of type size_t, not int.
73188
73189 2003-04-25  Bruno Haible  <bruno@clisp.org>
73190
73191         * lib/copy-file.c: Include <stddef.h>, for size_t.
73192
73193 2003-04-21  Paul Eggert  <eggert@twinsun.com>
73194
73195         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
73196         code which expansion is under static control.  Patch imported from
73197         Akim Demaille's patch to Bison; see
73198         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
73199
73200 2003-04-14  Bruno Haible  <bruno@clisp.org>
73201
73202         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
73203
73204 2003-04-11  Jim Meyering  <jim@meyering.net>
73205
73206         Merge changes from Coreutils.
73207
73208         2003-03-22  Jim Meyering  <jim@meyering.net>
73209
73210         * lib/strftime.c (widen): Cast alloca return value to proper type.
73211
73212         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
73213
73214         From GNU libc.
73215         * lib/strftime.c (my_strftime): Handle very large width
73216         specifications for numeric values correctly.  Improve checks for
73217         overflow.
73218
73219         2003-01-19  Jim Meyering  <jim@meyering.net>
73220
73221         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
73222         definitions.
73223         (nl_get_alt_digit) [! defined my_strftime]: Define.
73224         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
73225         _nl_get_alt_digit and _nl_get_walt_digit.
73226
73227         * lib/strftime.c (my_strftime): Merge in locale-related changes from
73228         libc. These changes have no effect outside of _LIBC.
73229
73230 2003-04-10  Bruno Haible  <bruno@clisp.org>
73231
73232         * modules/findprog: New file.
73233         * MODULES.html.sh (func_all_modules): Add it.
73234
73235 2003-04-10  Bruno Haible  <bruno@clisp.org>
73236
73237         * m4/findprog.m4: New file.
73238         * m4/eaccess.m4: New file.
73239
73240 2003-04-10  Bruno Haible  <bruno@clisp.org>
73241
73242         * lib/findprog.h: New file, from GNU gettext.
73243         * lib/findprog.c: New file, from GNU gettext.
73244
73245 2003-04-05  Jim Meyering  <jim@meyering.net>
73246
73247         Merge changes from Coreutils.
73248
73249         * lib/exclude.h (PARAMS): Remove definition and uses.
73250         * lib/exclude.c: Remove uses of `PARAMS'.
73251
73252         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
73253         Add test-cases for DOS filenames. Declare program_name.
73254         (main): Set up program_name.  Patch by Rich Dawe.
73255
73256         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
73257         error from mntctl.
73258         Use mntctl's return value to drive the entry-processing loop, since
73259         we can't rely on the value of the vmt_length member in the last
73260         entry.  On some systems doing so could result in exhausting
73261         virtual memory.  Based in part on a patch from Mike Jetzer.
73262
73263 2003-04-04  Bruno Haible  <bruno@clisp.org>
73264
73265         * modules/linebreak: New file.
73266         * MODULES.html.sh (func_all_modules): Add it.
73267
73268 2003-04-04  Bruno Haible  <bruno@clisp.org>
73269
73270         * m4/linebreak.m4: New file.
73271
73272 2003-04-04  Bruno Haible  <bruno@clisp.org>
73273
73274         * lib/linebreak.h: New file, from GNU gettext.
73275         * lib/linebreak.c: New file, from GNU gettext with slight
73276         modifications.
73277         * lib/lbrkprop.h: New file, from GNU gettext.
73278
73279 2003-04-03  Bruno Haible  <bruno@clisp.org>
73280
73281         * modules/utf8-ucs4: New file.
73282         * modules/utf16-ucs4: New file.
73283         * modules/ucs4-utf8: New file.
73284         * modules/ucs4-utf16: New file.
73285         * MODULES.html.sh (func_all_modules): Add them.
73286
73287 2003-04-03  Bruno Haible  <bruno@clisp.org>
73288
73289         * m4/utf-ucs4.m4: New file.
73290         * m4/ucs4-utf.m4: New file.
73291
73292 2003-04-03  Bruno Haible  <bruno@clisp.org>
73293
73294         * lib/utf8-ucs4.h: New file, from GNU gettext.
73295         * lib/utf16-ucs4.h: New file, from GNU gettext.
73296         * lib/ucs4-utf8.h: New file, from GNU gettext.
73297         * lib/ucs4-utf16.h: New file, from GNU gettext.
73298
73299 2003-04-02  Bruno Haible  <bruno@clisp.org>
73300
73301         * modules/binary-io: New file.
73302         * MODULES.html.sh (func_all_modules): Add it.
73303
73304 2003-04-02  Bruno Haible  <bruno@clisp.org>
73305
73306         * lib/binary-io.h: New file, from GNU gettext.
73307
73308 2003-04-01  Bruno Haible  <bruno@clisp.org>
73309
73310         * modules/pathname: New file.
73311         * MODULES.html.sh (func_all_modules): Add it.
73312
73313 2003-04-01  Bruno Haible  <bruno@clisp.org>
73314
73315         * lib/pathname.h: New file, from GNU gettext.
73316         * lib/concatpath.c: New file, from GNU gettext.
73317
73318 2003-03-30  Bruno Haible  <bruno@clisp.org>
73319
73320         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
73321
73322 2003-03-30  Bruno Haible  <bruno@clisp.org>
73323
73324         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
73325         function chown() doesn't exist.
73326
73327 2003-03-28  Bruno Haible  <bruno@clisp.org>
73328
73329         * modules/copy-file: New file.
73330         * MODULES.html.sh (func_all_modules): Add it.
73331
73332 2003-03-28  Bruno Haible  <bruno@clisp.org>
73333
73334         * m4/copy-file.m4: New file.
73335
73336 2003-03-28  Bruno Haible  <bruno@clisp.org>
73337
73338         * lib/copy-file.h: New file, from GNU gettext.
73339         * lib/copy-file.c: New file, from GNU gettext.
73340
73341 2003-03-18  Jim Meyering  <jim@meyering.net>
73342
73343         * lib/quote.c (quote_n): Fix typo in comment.
73344
73345 2003-03-18  Bruno Haible  <bruno@clisp.org>
73346
73347         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
73348         checking.
73349         * m4/onceonly_2_57.m4: Likewise.
73350
73351 2003-03-17  Bruno Haible  <bruno@clisp.org>
73352
73353         * m4/onceonly.m4: Require autoconf 2.54 or newer.
73354         (m4_quote): Remove macro.
73355         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
73356
73357 2003-03-14  Jim Meyering  <jim@meyering.net>
73358
73359         Merge changes from Coreutils.
73360         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
73361         to be const, in order to avoid warnings.
73362         (obstack_room): Likewise.
73363         (obstack_empty_p): Likewise.
73364
73365 2003-03-14  Bruno Haible  <bruno@clisp.org>
73366
73367         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
73368         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
73369
73370 2003-03-13  Paul Eggert  <eggert@twinsun.com>
73371
73372         Merge changes from Bison.
73373         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
73374         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
73375         when compiling Bison 1.875's `bitset bset = obstack_alloc
73376         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
73377         * lib/hash.c: Include <stdbool.h> unconditionally.
73378
73379 2003-03-13  Paul Eggert  <eggert@twinsun.com>
73380
73381         * m4/onceonly.m4 (m4_quote): New macro.
73382         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
73383         Quote AC_FOREACH variable-expansions properly.
73384
73385 2003-03-13  Paul Eggert  <eggert@twinsun.com>
73386
73387         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
73388
73389 2003-03-09  Paul Eggert  <eggert@twinsun.com>
73390
73391         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
73392         Reported by Bruce Becker; see:
73393         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
73394
73395 2003-03-03  Paul Eggert  <eggert@twinsun.com>
73396             Bruno Haible  <bruno@clisp.org>
73397
73398         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
73399         Reported by John Hughes, see
73400         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
73401
73402 2003-02-20  Bruno Haible  <bruno@clisp.org>
73403
73404         * MODULES.html.sh (func_all_modules): Add poll.
73405
73406 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
73407
73408         * modules/poll: New file.
73409
73410 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
73411
73412         * lib/poll_.h: New file.
73413         * lib/poll.c: New file.
73414
73415 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
73416
73417         * m4/poll.m4: New file.
73418
73419 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
73420
73421         * modules/mathl: New file.
73422
73423 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
73424
73425         * lib/mathl.h: New file.
73426         * lib/acosl.c: New file.
73427         * lib/asinl.c: New file.
73428         * lib/atanl.c: New file.
73429         * lib/ceill.c: New file.
73430         * lib/cosl.c: New file.
73431         * lib/expl.c: New file.
73432         * lib/floorl.c: New file.
73433         * lib/frexpl.c: New file.
73434         * lib/ldexpl.c: New file.
73435         * lib/logl.c: New file.
73436         * lib/sincosl.c: New file.
73437         * lib/sinl.c: New file.
73438         * lib/sqrtl.c: New file.
73439         * lib/tanl.c: New file.
73440         * lib/trigl.c: New file.
73441         * lib/trigl.h: New file.
73442
73443 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
73444
73445         * m4/mathl.m4: New file.
73446
73447 2003-02-18  Bruno Haible  <bruno@clisp.org>
73448
73449         * MODULES.html.sh (func_all_modules): Add mathl.
73450
73451 2003-02-17  Bruno Haible  <bruno@clisp.org>
73452
73453         * modules/mkdtemp: New module.
73454         * MODULES.html.sh (func_all_modules): Add it.
73455
73456 2003-02-17  Bruno Haible  <bruno@clisp.org>
73457
73458         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
73459
73460 2003-02-17  Bruno Haible  <bruno@clisp.org>
73461
73462         * lib/mkdtemp.h: New file, from GNU gettext.
73463         * lib/mkdtemp.c: New file, from GNU gettext.
73464
73465 2003-02-02  Jim Meyering  <jim@meyering.net>
73466
73467         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
73468         e.g. glibc-2.2.93.
73469
73470 2003-01-31  Bruno Haible  <bruno@clisp.org>
73471
73472         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
73473         'rpl_rename'.
73474         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
73475         'rpl_strnlen'.
73476         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
73477         'rpl_strtod'.
73478         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
73479         'rpl_utime'.
73480
73481 2003-01-31  Bruno Haible  <bruno@clisp.org>
73482
73483         * lib/rename.c: #undef rename before defining rpl_rename.
73484         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
73485
73486 2003-01-30  Bruno Haible  <bruno@clisp.org>
73487
73488         * modules/vasnprintf, modules/vasprintf: New modules.
73489         * MODULES.html.sh (func_all_modules): Add them.
73490
73491 2003-01-30  Bruno Haible  <bruno@clisp.org>
73492
73493         * m4/signed.m4: New file, from GNU gettext.
73494         * m4/longdouble.m4: New file, from GNU gettext.
73495         * m4/wchar_t.m4: New file, from GNU gettext.
73496         * m4/wint_t.m4: New file, from GNU gettext.
73497         * m4/vasnprintf.m4: New file.
73498         * m4/vasprintf.m4: New file.
73499
73500 2003-01-30  Bruno Haible  <bruno@clisp.org>
73501
73502         * lib/printf-args.h: New file, from GNU gettext.
73503         * lib/printf-args.c: New file, from GNU gettext.
73504         * lib/printf-parse.h: New file, from GNU gettext.
73505         * lib/printf-parse.c: New file, from GNU gettext.
73506         * lib/vasnprintf.h: New file, from GNU gettext.
73507         * lib/vasnprintf.c: New file, from GNU gettext.
73508         * lib/asnprintf.c: New file, from GNU gettext.
73509         * lib/vasprintf.h: New file, from GNU gettext with modifications.
73510         * lib/vasprintf.c: New file, from GNU gettext.
73511         * lib/asprintf.c: New file, from GNU gettext.
73512
73513 2003-01-29  Bruno Haible  <bruno@clisp.org>
73514
73515         * modules/stpncpy: New module.
73516         * MODULES.html.sh (func_all_modules): Add it.
73517
73518 2003-01-29  Bruno Haible  <bruno@clisp.org>
73519
73520         * m4/stpncpy.m4: New file.
73521
73522 2003-01-29  Bruno Haible  <bruno@clisp.org>
73523
73524         * lib/stpncpy.h: New file, from GNU gettext with modifications.
73525         * lib/stpncpy.c: New file, from GNU gettext with modifications.
73526
73527 2003-01-28  Bruno Haible  <bruno@clisp.org>
73528
73529         * modules/c-ctype: New module.
73530         * MODULES.html.sh (func_all_modules): Add it.
73531
73532 2003-01-28  Bruno Haible  <bruno@clisp.org>
73533
73534         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
73535         Paul Eggert.
73536         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
73537         Paul Eggert.
73538
73539 2003-01-27  Bruno Haible  <bruno@clisp.org>
73540
73541         * modules/xsetenv: New module.
73542         * MODULES.html.sh (func_all_modules): Add it.
73543
73544 2003-01-27  Bruno Haible  <bruno@clisp.org>
73545
73546         * lib/xsetenv.h: New file, from GNU gettext.
73547         * lib/xsetenv.c: New file, from GNU gettext.
73548
73549 2003-01-23  Jim Meyering  <jim@meyering.net>
73550
73551         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
73552         from working on systems without dirfd (at least Irix and OSF1/Tru64).
73553
73554 2003-01-23  Bruno Haible  <bruno@clisp.org>
73555
73556         * modules/minmax: New module.
73557         * MODULES.html.sh (func_all_modules): Add it.
73558
73559 2003-01-23  Bruno Haible  <bruno@clisp.org>
73560
73561         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
73562         Eggert.
73563
73564 2003-01-22  Bruno Haible  <bruno@clisp.org>
73565
73566         * modules/exit: New module.
73567         * MODULES.html.sh (func_all_modules): Add it.
73568
73569 2003-01-22  Bruno Haible  <bruno@clisp.org>
73570
73571         * lib/exit.h: New file, from GNU gettext.
73572
73573 2003-01-19  Bruno Haible  <bruno@clisp.org>
73574
73575         * gnulib-tool: Recognize option --extract-maintainer.
73576         (func_get_maintainer): New function.
73577         * modules/*: Add Maintainer entry.
73578
73579 2003-01-16  Jim Meyering  <jim@meyering.net>
73580
73581         * m4/regex.m4: The `regex' struct is both input and output.
73582         Initialize it before each use.  Patch by Tim Waugh.
73583
73584 2003-01-16  Bruno Haible  <bruno@clisp.org>
73585
73586         * MODULES.html.sh: Add a table of contents. Add the module name as
73587         leftmost column. Add hyperlinks.
73588
73589 2003-01-15  Bruno Haible  <bruno@clisp.org>
73590
73591         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
73592
73593 2003-01-15  Bruno Haible  <bruno@clisp.org>
73594
73595         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
73596         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
73597         suffix.
73598
73599 2003-01-15  Bruno Haible  <bruno@clisp.org>
73600
73601         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
73602
73603 2003-01-15  Bruno Haible  <bruno@clisp.org>
73604
73605         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
73606         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
73607
73608 2003-01-14  Jim Meyering  <jim@meyering.net>
73609
73610         * lib/same.c (same_name): Tweak a comment.
73611
73612 2003-01-14  Bruno Haible  <bruno@clisp.org>
73613
73614         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
73615         when a string comparison is sufficient.
73616
73617 2003-01-14  Bruno Haible  <bruno@clisp.org>
73618
73619         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
73620         'unsigned int'.
73621
73622 2003-01-14  Bruno Haible  <bruno@clisp.org>
73623
73624         * lib/hash-pjw.c: Add comment about low quality of this function.
73625
73626 2003-01-13  Bruno Haible  <bruno@clisp.org>
73627
73628         * modules/stpcpy: Distribute lib/stpcpy.h.
73629         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
73630
73631 2003-01-13  Bruno Haible  <bruno@clisp.org>
73632
73633         * modules/*: Add a description.
73634         * modules/strpbrk: Fix Makefile.am snippet.
73635         * modules/strtoimax: Fix dependencies.
73636         * modules/strtoumax: Likewise.
73637
73638 2003-01-13  Bruno Haible  <bruno@clisp.org>
73639
73640         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
73641         * modules/alloca (Makefile.am): All object files depend on alloca.h.
73642         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
73643
73644 2003-01-13  Bruno Haible  <bruno@clisp.org>
73645
73646         * gnulib-tool (func_create_testdir): Store config/* files in the main
73647         directory.
73648         * config.rpath: Move to ...
73649         * config/config.rpath: ... here.
73650         * modules/gettext: Contains config/config.rpath, not config.rpath.
73651         * modules/iconv: Likewise.
73652
73653 2003-01-12  Paul Eggert  <eggert@twinsun.com>
73654
73655         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
73656         to avoid collisions with libcurses and libreadline.
73657
73658         * m4/getstr.m4: Remove.
73659         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
73660
73661 2003-01-12  Paul Eggert  <eggert@twinsun.com>
73662
73663         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
73664         to avoid collisions with libcurses and libreadline.
73665
73666         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
73667         * lib/getstr.h, getstr.c: Remove.
73668         * lib/getline.c: Include "getline.h", to check interface.
73669         Move body of old getstr.c here: this defines MIN_CHUNK and
73670         declares getdelim2, which is renamed from getstr.
73671         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
73672
73673         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
73674         All uses changed.
73675         * lib/linebuffer.h: Likewise.
73676         (readline): Remove backward-compatibility macro.
73677
73678 2003-01-12  Paul Eggert  <eggert@twinsun.com>
73679
73680         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
73681         to avoid collisions with libcurses and libreadline.
73682         * getstr: Remove.
73683         * MODULES.html.sh: Remove getstr.
73684         * modules/getline: Depend on unlocked-io, not getstr.
73685
73686 2003-01-12  Jim Meyering  <jim@meyering.net>
73687
73688         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
73689
73690 2003-01-10  Bruno Haible  <bruno@clisp.org>
73691
73692         * modules/alloca: Change Makefile.am requirements. Simplify Include
73693         requirements. Add lib/alloca_.h to file list.
73694
73695 2003-01-10  Bruno Haible  <bruno@clisp.org>
73696
73697         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
73698
73699 2003-01-10  Bruno Haible  <bruno@clisp.org>
73700
73701         * lib/alloca_.h: New file.
73702         * lib/getdate.y: Unconditionally include alloca.h.
73703         * lib/makepath.c: Likewise.
73704         * lib/setenv.c: Likewise.
73705         * lib/userspec.c: Likewise.
73706
73707 2003-01-09  Karl Berry  <karl@gnu.org>
73708
73709         * MODULES.html.sh: include `dirname $0` in PATH, to find
73710         gnulib-tool.
73711
73712 2003-01-09  Bruno Haible  <bruno@clisp.org>
73713
73714         * modules/stdbool: Change configure.ac, Makefile.am requirements.
73715         Simplify Include requirements. Add lib/stdbool.h.in to file list.
73716
73717 2003-01-09  Bruno Haible  <bruno@clisp.org>
73718
73719         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
73720
73721 2003-01-09  Bruno Haible  <bruno@clisp.org>
73722
73723         * lib/stdbool.h.in: New file.
73724
73725 2003-01-09  Bruno Haible  <bruno@clisp.org>
73726
73727         * gnulib-tool (func_all_modules): Ignore files ending in ~.
73728         * MODULES.html.sh: Likewise.
73729
73730 2003-01-08  Jim Meyering  <jim@meyering.net>
73731
73732         * lib/full-write.c: Undefine and define-away `const' after inclusion
73733         of errno.h, not before.  Suggestion from Bruno Haible.
73734
73735 2003-01-08  Bruno Haible  <bruno@clisp.org>
73736
73737         * modules/full-read: Depend on full-write.
73738
73739 2003-01-08  Bruno Haible  <bruno@clisp.org>
73740
73741         * lib/safe-read.c: Include specification header first, to ensure its
73742         selfcontainedness.
73743         * lib/full-write.c: Likewise.
73744
73745 2003-01-07  Jim Meyering  <jim@meyering.net>
73746
73747         * lib/full-write.c: Rework so that it may serve to define full_read,
73748         too.
73749         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
73750
73751 2003-01-07  Bruno Haible  <bruno@clisp.org>
73752
73753         * lib/strtoimax.c: Include <stdint.h> as an alternative to
73754         <inttypes.h>.
73755         * lib/xstrtol.h: Likewise.
73756         * lib/xstrtoimax.c: Likewise.
73757         * lib/xstrtoumax.c: Likewise.
73758         * lib/human.h: Likewise.
73759
73760         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
73761         on systems that have <inttypes.h> but not <stdint.h>.
73762
73763 2003-01-07  Bruno Haible  <bruno@clisp.org>
73764
73765         * MODULES.html.sh: Add copyright notice.
73766         (missed_files): Omit CVS directory entries.
73767         (func_module): Make it work with sed-3.02.
73768         * MODULES.txt: Remove file.
73769
73770 2003-01-06  Jim Meyering  <jim@meyering.net>
73771
73772         * lib/version-etc.c: Update year in translatable copyright string.
73773
73774 2003-01-03  Karl Berry  <karl@gnu.org>
73775
73776         * config/config.{guess,sub}: update from prep.
73777
73778 2003-01-02  Karl Berry  <karl@gnu.org>
73779
73780         * doc/COPYING.DOC: belatedly updated to 1.2.
73781
73782 2003-01-01  Karl Berry  <karl@gnu.org>
73783
73784         * gnulib-tool (func_verify_module): report module name $module in
73785         error message, not $1.
73786         * gnulib-tool (create-testdir): don't complain if destdir couldn't
73787         be created, only if it doesn't exist.
73788         * gnulib-tool (last_checkin_date): don't expand the $Date here.
73789
73790 2002-12-31  Paul Eggert  <eggert@twinsun.com>
73791
73792         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
73793
73794 2002-12-31  Paul Eggert  <eggert@twinsun.com>
73795
73796         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
73797         memcmp if strcoll doesn't work.
73798
73799 2002-12-31  Bruno Haible  <bruno@clisp.org>
73800
73801         * lib/utime.c (utime_null): No need to call ftruncate if the file was
73802         nonempty.
73803
73804 2002-12-31  Bruno Haible  <bruno@clisp.org>
73805
73806         * lib/memcoll.c (STRCOLL): New macro.
73807         (memcoll): Use it.
73808
73809 2002-12-31  Bruno Haible  <bruno@clisp.org>
73810
73811         * lib/localcharset.h: New file.
73812         * lib/localcharset.c: Include it.
73813         * lib/unicodeio.c: Likewise.
73814
73815 2002-12-31  Bruno Haible  <bruno@clisp.org>
73816
73817         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
73818         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
73819
73820 2002-12-31  Bruno Haible  <bruno@clisp.org>
73821
73822         * lib/getline.h: Include <stddef.h>, for size_t.
73823
73824         * lib/unicodeio.h: Include <stddef.h>, for size_t.
73825         * lib/unicodeio.c: Don't include <stddef.h>.
73826
73827 2002-12-31  Bruno Haible  <bruno@clisp.org>
73828
73829         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
73830         HAVE_TM_ZONE.
73831
73832 2002-12-24  Karl Berry  <karl@gnu.org>
73833
73834         * config/config.guess: update from prep.
73835
73836 2002-12-24  Bruno Haible  <bruno@clisp.org>
73837
73838         General infrasructure.
73839         * m4/README: Rewritten.
73840         * m4/onceonly.m4: New file.
73841         * m4/onceonly_2_57.m4: New file.
73842
73843         Module atexit.
73844         * m4/atexit.m4: New file.
73845
73846         Module strtod.
73847         * m4/strtod.m4: New file.
73848
73849         Module strtol.
73850         * m4/strtol.m4: New file.
73851
73852         Module strtoul.
73853         * m4/strtoul.m4: New file.
73854
73855         Module memchr.
73856         * m4/memchr.m4: New file.
73857
73858         Module memcmp.
73859         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
73860         (jm_FUNC_MEMCMP): Invoke it.
73861
73862         Module memcpy.
73863         * m4/memcpy.m4: New file.
73864
73865         Module memmove.
73866         * m4/memmove.m4: New file.
73867
73868         Module memset.
73869         * m4/memset.m4: New file.
73870
73871         Module strcspn.
73872         * m4/strcspn.m4: New file.
73873
73874         Module strpbrk.
73875         * m4/strpbrk.m4: New file.
73876
73877         Module strstr.
73878         * m4/strstr.m4: New file.
73879
73880         Module strerror.
73881         * m4/strerror.m4: New file.
73882
73883         Module mktime.
73884         * m4/mktime.m4: Renamed from jm-mktime.m4.
73885         (gl_PREREQ_MKTIME): New macro.
73886         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
73887
73888         Module malloc.
73889         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
73890         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
73891         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
73892
73893         Module realloc.
73894         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
73895         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
73896         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
73897
73898         Module strftime.
73899         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
73900         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
73901         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
73902         gl_TM_GMTOFF.
73903         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
73904
73905         Module xalloc.
73906         * m4/xalloc.m4: New file.
73907
73908         Module alloca.
73909         * m4/alloca.m4: New file.
73910
73911         Module putenv.
73912         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
73913         (jm_FUNC_PUTENV): Invoke it.
73914
73915         Module setenv.
73916         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
73917         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
73918         when invoked twice.
73919         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
73920         gt_FUNC_SETENV.
73921
73922         Module memrchr.
73923         * m4/memrchr.m4: New file.
73924
73925         Module stpcpy.
73926         * m4/stpcpy.m4: New file.
73927
73928         Module strcase.
73929         * m4/strcase.m4: New file.
73930
73931         Module strdup.
73932         * m4/strdup.m4: New file.
73933
73934         Module strnlen.
73935         * m4/strnlen.m4: New file.
73936
73937         Module strndup.
73938         * m4/strndup.m4: New file.
73939
73940         Module xstrtod.
73941         * m4/xstrtod.m4: New file.
73942
73943         Module xstrtol.
73944         * m4/xstrtol.m4: New file.
73945
73946         Module getdate.
73947         * m4/getdate.m4: New file.
73948
73949         Module unlocked-io.
73950         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
73951         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
73952         * m4/jm-glibc-io.m4n: Remove file.
73953
73954         Module long-options.
73955         * m4/long-options.m4: New file.
73956
73957         Module md5.
73958         * m4/md5.m4: New file.
73959
73960         Module sha.
73961         * m4/sha.m4: New file.
73962
73963         Module getstr.
73964         * m4/getstr.m4: New file.
73965
73966         Module getline.
73967         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
73968         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
73969         <sys/types.h>, for size_t. Use the function name gnu_getline, not
73970         simply getline. Infoke gl_PREREQ_GETLINE.
73971
73972         Module obstack.
73973         * m4/obstack.m4: New file.
73974
73975         Module hash.
73976         * m4/hash.m4: New file.
73977
73978         Module readtokens.
73979         * m4/readtokens.m4: New file.
73980
73981         Module strverscmp.
73982         * m4/strverscmp.m4: New file.
73983
73984         Module stdbool.
73985         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
73986         OSF/1.
73987
73988         Module strtoll.
73989         * m4/strtoll.m4: New file.
73990
73991         Module strtoull.
73992         * m4/strtoull.m4: New file.
73993
73994         Module strtoimax.
73995         * m4/strtoimax.m4: New file.
73996
73997         Module strtoumax.
73998         * m4/strtoumax.m4: New file.
73999
74000         Module xstrtoimax.
74001         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
74002         jm_AC_PREREQ_XSTRTOIMAX.
74003         Moved the strtol prerequisites to strtol.m4.
74004         Moved the strtoll prerequisites to strtoll.m4.
74005         Moved the strtoimax prerequisites to strtoimax.m4.
74006
74007         Module xstrtoumax.
74008         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
74009         jm_AC_PREREQ_XSTRTOUMAX.
74010         Moved the strtoul prerequisites to strtoul.m4.
74011         Moved the strtoull prerequisites to strtoull.m4.
74012         Moved the strtoumax prerequisites to strtoumax.m4.
74013
74014         Module chown.
74015         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
74016         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
74017
74018         Module dup2.
74019         * m4/dup2.m4: New file.
74020
74021         Module ftruncate.
74022         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
74023         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
74024
74025         Module getgroups.
74026         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
74027         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
74028
74029         Module gettimeofday.
74030         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
74031         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
74032         gl_PREREQ_GETTIMEOFDAY.
74033
74034         Module mkdir.
74035         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
74036         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
74037
74038         Module mkstemp.
74039         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
74040         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
74041         jm_AC_TYPE_UINTMAX_T.
74042         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
74043
74044         Module stat.
74045         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
74046         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
74047
74048         Module lstat.
74049         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
74050         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
74051
74052         Module timespec.
74053         * m4/timespec.m4 (gl_TIMESPEC): New macro.
74054         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
74055         * m4/st_mtim.m4: Indentation.
74056
74057         Module nanosleep.
74058         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
74059         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
74060         gl_PREREQ_NANOSLEEP.
74061
74062         Module regex.
74063         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
74064         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
74065         (gl_REGEX): New macro.
74066
74067         Module rename.
74068         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
74069         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
74070
74071         Module rmdir.
74072         * m4/rmdir.m4: New file.
74073
74074         Module utime.
74075         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
74076         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
74077         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
74078
74079         Module dirname.
74080         * m4/dirname.m4: New file.
74081
74082         Module getopt.
74083         * m4/getopt.m4: New file.
74084
74085         Module unistd-safer.
74086         * m4/unistd-safer.m4: New file.
74087
74088         Module fnmatch.
74089         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
74090         declaration.
74091         (gl_PREREQ_FNMATCH_EXTRA): New macro.
74092         (gl_FUNC_FNMATCH_POSIX): New macro.
74093         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
74094         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
74095         simply fnmatch.
74096
74097         Module exclude.
74098         * m4/exclude.m4: New file.
74099
74100         Module human.
74101         * m4/human.m4: New file.
74102
74103         Module acl.
74104         * m4/acl.m4: Nop.
74105
74106         Module backupfile.
74107         * m4/backupfile.m4: New file.
74108         * m4/d-ino.m4: Indentation.
74109
74110         Module fsusage.
74111         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
74112         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
74113         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
74114
74115         Module dirfd.
74116         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
74117         requirements.
74118
74119         Module euidaccess.
74120         * m4/euidaccess.m4: New file.
74121
74122         Module file-type.
74123         * m4/file-type.m4: New file.
74124
74125         Module fileblocks.
74126         * m4/fileblocks.m4: New file.
74127
74128         Module filemode.
74129         * m4/filemode.m4: New file.
74130
74131         Module isdir.
74132         * m4/isdir.m4: New file.
74133
74134         Module lchown.
74135         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
74136         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
74137
74138         Module makepath.
74139         * m4/makepath.m4: New file.
74140
74141         Module modechange.
74142         * m4/modechange.m4: New file.
74143
74144         Module mountlist.
74145         * m4/mountlist.m4: New file.
74146         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
74147         Indentation.
74148
74149         Module path-concat.
74150         * m4/path-concat.m4: New file.
74151
74152         Module pathmax.
74153         * m4/pathmax.m4: New file.
74154
74155         Module same.
74156         * m4/same.m4: New file.
74157
74158         Module save-cwd.
74159         * m4/save-cwd.m4: New file.
74160
74161         Module savedir.
74162         * m4/savedir.m4: New file.
74163
74164         Module xgetcwd.
74165         * m4/xgetcwd.m4: New file.
74166         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
74167
74168         Module xreadlink.
74169         * m4/xreadlink.m4: New file.
74170
74171         Module safe-read.
74172         * m4/safe-read.m4: New file.
74173
74174         Module safe-write.
74175         * m4/safe-write.m4: New file.
74176
74177         Module closeout.
74178         * m4/closeout.m4: New file.
74179
74180         Module stdio-safer.
74181         * m4/stdio-safer.m4: New file.
74182
74183         Module getpass.
74184         * m4/getpass.m4: New file.
74185
74186         Module getugroups.
74187         * m4/getugroups.m4: New file.
74188
74189         Module group-member.
74190         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
74191         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
74192
74193         Module idcache.
74194         * m4/idcache.m4: New file.
74195
74196         Module userspec.
74197         * m4/userspec.m4: New file.
74198
74199         Module gettime.
74200         * m4/clock_time.m4: New file.
74201         * m4/gettime.m4: New file.
74202
74203         Module settime.
74204         * m4/settime.m4: New file.
74205
74206         Module posixtm.
74207         * m4/posixtm.m4: New file.
74208
74209         Module gethostname.
74210         * m4/gethostname.m4: New file.
74211
74212         Module canon-host.
74213         * m4/canon-host.m4: New file.
74214
74215         Module gettext.
74216         * m4/codeset.m4: New file, from gettext-0.11.5.
74217         * m4/gettext.m4: New file, from gettext-0.11.5.
74218         * m4/glibc21.m4: New file, from gettext-0.11.5.
74219         * m4/iconv.m4: New file, from gettext-0.11.5.
74220         * m4/intdiv0.m4: New file, from gettext-0.11.5.
74221         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
74222         * m4/inttypes.m4: New file, from gettext-0.11.5.
74223         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
74224         * m4/isc-posix.m4: New file, from gettext-0.11.5.
74225         * m4/lcmessage.m4: New file, from gettext-0.11.5.
74226         * m4/lib-ld.m4: New file, from gettext-0.11.5.
74227         * m4/lib-link.m4: New file, from gettext-0.11.5.
74228         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
74229         * m4/progtest.m4: New file, from gettext-0.11.5.
74230         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
74231         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
74232         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
74233
74234         Module localcharset.
74235         * m4/localcharset.m4: New file.
74236
74237         Module hard-locale.
74238         * m4/hard-locale.m4: New file.
74239
74240         Module mbswidth.
74241         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
74242         onceonly macros.
74243         * m4/mbrtowc.m4: Add comment.
74244
74245         Module memcasecmp.
74246         * m4/memcasecmp.m4: New file.
74247
74248         Module memcoll.
74249         * m4/memcoll.m4: New file.
74250
74251         Module unicodeio.
74252         * m4/unicodeio.m4: New file.
74253
74254         Module rpmatch.
74255         * m4/rpmatch.m4: New file.
74256
74257         Module yesno.
74258         * m4/yesno.m4: New file.
74259
74260         Module exitfail.
74261         * m4/exitfail.m4: New file.
74262
74263         Module c-stack.
74264         * m4/c-stack.m4 (gl_C_STACK): New macro.
74265         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
74266
74267         Module error.
74268         * m4/error.m4 (gl_ERROR): New macro.
74269         (jm_PREREQ_ERROR): Use onceonly macros.
74270
74271         Module fatal.
74272         * m4/fatal.m4: New file.
74273
74274         Module getloadavg.
74275         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
74276         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
74277
74278         Module getpagesize.
74279         * m4/getpagesize.m4: New file.
74280
74281         Module getusershell.
74282         * m4/getusershell.m4: New file.
74283
74284         Module physmem.
74285         * m4/physmem.m4: New file.
74286
74287         Module posixver.
74288         * m4/posixver.m4: New file.
74289
74290         Module quotearg.
74291         * m4/quotearg.m4: New file.
74292
74293         Module quote.
74294         * m4/quote.m4: New file.
74295
74296         Module readutmp.
74297         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
74298
74299         Module sig2str.
74300         * m4/sig2str.m4: New file.
74301
74302         Other.
74303         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
74304         ulonglong.m4.
74305         * m4/intmax_t.m4: New file.
74306         * m4/d-type.m4: Indentation.
74307         * m4/jm-macros.m4: Update.
74308         * m4/prereq.m4 (jm_PREREQ): Update.
74309         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
74310         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
74311         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
74312         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
74313         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
74314         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
74315         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
74316         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
74317         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
74318         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
74319         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
74320         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
74321         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
74322         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
74323         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
74324         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
74325         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
74326         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
74327         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
74328
74329 2002-12-24  Bruno Haible  <bruno@clisp.org>
74330
74331         * MODULES.txt: Update according to m4/ changes.
74332
74333         Module gettext.
74334         * config.rpath: New file, from gettext-0.11.5.
74335
74336         * modules/*: New module descriptions.
74337         * gnulib-tool: New file.
74338         * MODULES.html.sh: New file.
74339
74340 2002-12-21  Karl Berry  <karl@gnu.org>
74341
74342         * doc/fdl.texi: update to version 1.2.
74343
74344 2002-12-19  Karl Berry  <karl@gnu.org>
74345
74346         * config/config.guess: update from prep.
74347
74348 2002-12-18  Bruno Haible  <bruno@clisp.org>
74349
74350         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
74351         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
74352
74353 2002-12-17  Bruno Haible  <bruno@clisp.org>
74354
74355         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
74356         stdlib.h, string.h.
74357
74358 2002-12-17  Bruno Haible  <bruno@clisp.org>
74359
74360         * lib/canon-host.c (strdup): Remove unused declaration.
74361
74362         * lib/fsusage.c: Include full_read.h.
74363         (get_fs_usage): Use full_read instead of safe_read.
74364
74365         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
74366
74367 2002-12-12  Karl Berry  <karl@gnu.org>
74368
74369         * config/config.guess: update from prep.
74370
74371 2002-12-11  Bruno Haible  <bruno@clisp.org>
74372
74373         * m4/setenv.m4: New file, from gettext-0.11.5.
74374
74375 2002-12-11  Bruno Haible  <bruno@clisp.org>
74376
74377         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
74378         not unsetenv().
74379         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
74380         modifications:
74381
74382         2002-12-11  Bruno Haible  <bruno@clisp.org>
74383
74384                 * setenv.c (alloca): Fall back to malloc.
74385                 (freea): New macro.
74386                 (setenv): Use freea() to free memory allocated with alloca().
74387
74388         2002-11-13  Bruno Haible  <bruno@clisp.org>
74389
74390                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
74391                 function declarations.
74392                 * unsetenv.c (unsetenv): Likewise.
74393
74394         2002-03-04  Bruno Haible  <bruno@clisp.org>
74395
74396                 Portability to AIX 4.3.3.
74397                 * unsetenv.c: New file, extracted from setenv.c.
74398                 * setenv.c: Move the unsetenv() function to unsetenv.c.
74399
74400         2001-12-20  Bruno Haible  <bruno@clisp.org>
74401
74402                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
74403                 use malloc instead. For SunOS 4.
74404
74405         2001-12-11  Bruno Haible  <bruno@clisp.org>
74406
74407                 * setenv.c: Declare alloca.
74408                 (compar_fn_t): New typedef.
74409                 (KNOWN_VALUE, STORE_VALUE): Use it.
74410
74411         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
74412         setenv.h.
74413
74414 2002-12-10  Paul Eggert  <eggert@twinsun.com>
74415
74416         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
74417         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
74418         Choose values that are less likely to collide with system fnmatch
74419         options.
74420         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
74421         defined (e.g., a pure POSIX system).
74422         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
74423         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
74424
74425 2002-12-06  Paul Eggert  <eggert@twinsun.com>
74426
74427         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
74428         a pain in practice to deal with generated m4 files.  This change
74429         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
74430
74431         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
74432         and jm-glibc-io.m4, as they are no longer a special case.
74433         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
74434         kludge and the auto-generation stuff.  Check only whether the
74435         functions are declared, not whether they exist, since older hosts
74436         that don't declare the functions can't use the optimization anyway.
74437
74438 2002-12-06  Jim Meyering  <jim@meyering.net>
74439
74440         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
74441
74442         Merge in changes from libc's misc/error.c, in preparation
74443         for the merge of gnulib's changes back into libc.
74444
74445         * lib/error.c (_): Define only if not already defined.
74446         Move definition to follow all #include directives.
74447         Include unlocked-io.h only if !_LIBC.
74448         [_LIBC]: Include <libio/libioP.h>.
74449         [USE_IN_LIBIO]: Include <libio/iolibio.h>
74450         (fflush): Tweak definition to use INTUSE.
74451         (putc): Define.
74452
74453 2002-12-05  Paul Eggert  <eggert@twinsun.com>
74454
74455         * lib/alloca.c [defined emacs]: Include "lisp.h".
74456         (xalloc_die) [defined emacs]: New macro.
74457         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
74458         [! defined emacs]: Include <xalloc.h>.
74459         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
74460         (pointer): Typedef to POINTER_TYPE *.
74461         (malloc): Remove decl; we now always use xmalloc.
74462         (alloca): Use old-style definition, since Emacs needs this.
74463         Check for arithmetic overflow when computing combined size.
74464
74465 2002-12-04  Paul Eggert  <eggert@twinsun.com>
74466
74467         Do not generate unlocked-io.h automatically, since it's easier to
74468         maintain it by hand.
74469
74470         * lib/unlocked-io.h: New file, from GNU diffutils,
74471         but with proper copyright notice and attribution.
74472         * lib/gen-uio: Remove.
74473         * lib/Makefile.am: Add copyright notice.
74474         (libfetish_a_SOURCES): Add unlocked-io.h.
74475         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
74476         (DISTCLEANFILES, io_functions): Remove macros.
74477         (EXTRA_DIST): Remove gen_uio.
74478         (unlocked-io.h): Remove rule.
74479
74480 2002-12-04  Jim Meyering  <jim@meyering.net>
74481
74482         Reflect the fact that stat.c and lstat.c are no longer generated.
74483         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
74484         (DISTCLEANFILES): Likewise.
74485         (EXTRA_DIST): Likewise.
74486         (all_local): Don't depend on stat.c or lstat.c.
74487         (stat.c, lstat.c): Remove rules.
74488         (EXTRA_DIST): Remove xstat.in.
74489
74490         * lib/xstat.in: Remove file.  Contents moved into stat.c.
74491         * lib/stat.c: New file.  Contents mostly from xstat.in.
74492         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
74493         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
74494
74495         * lib/safe-read.c: Rework so that it may serve to define safe_write,
74496         too.
74497         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
74498
74499 2002-12-03  Jim Meyering  <jim@meyering.net>
74500
74501         * lib/safe-read.c, safe-write.c: Change variable names and comments,
74502         but not semantics, to minimize the differences between these two files.
74503         (safe_read): Change comment to mention SAFE_READ_ERROR.
74504
74505         * lib/safe-read.c (IS_EINTR): Define.
74506         (safe_read): Use IS_EINTR in place of in-function cpp directives.
74507
74508 2002-12-02  Jim Meyering  <jim@meyering.net>
74509
74510         * lib/safe-read.c (EINTR): Define.
74511         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
74512         (INT_MAX): Provide fallback.
74513         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
74514
74515         * lib/safe-read.h (SAFE_READ_ERROR): Define.
74516
74517 2002-12-02  Bruno Haible  <bruno@clisp.org>
74518
74519         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
74520         Define, taken from safe-read.c.
74521         (INT_MAX): Provide fallback.
74522         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
74523         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
74524
74525         * lib/safe-read.c (EINTR): Remove definition.
74526         (safe_read): Don't use EINTR if it is absent.
74527
74528 2002-12-01  Jim Meyering  <jim@meyering.net>
74529
74530         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
74531         zero.
74532         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
74533
74534 2002-11-27  Paul Eggert  <eggert@twinsun.com>
74535
74536         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
74537         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
74538         with `if (! (value < limit)) abort ();', for readability.
74539
74540 2002-11-26  Karl Berry  <karl@gnu.org>
74541
74542         * lib/strdup.c: copy from libc again, with jim's ok.
74543         * lib/.cppi-disable: re-add strdup.c
74544
74545 2002-11-25  Karl Berry  <karl@gnu.org>
74546
74547         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
74548         instead of "strtol.c".
74549
74550 2002-11-25  Karl Berry  <karl@gnu.org>
74551
74552         * config/install-sh: update from automake for variable quoting, $0 in
74553         error msgs, etc.
74554
74555         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
74556         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
74557         entry.
74558
74559 2002-11-25  Jim Meyering  <jim@meyering.net>
74560
74561         * lib/mktime.c: Sync from libc, now that it has the latest fix.
74562
74563 2002-11-24  Karl Berry  <karl@gnu.org>
74564
74565         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
74566         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
74567
74568 2002-11-24  Jim Meyering  <jim@meyering.net>
74569
74570         Update from coreutils:
74571
74572         * lib/mktime.c: Merge in changes from libc.
74573
74574         Avoid a link-time failure on some Linux systems.
74575         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
74576         (otherwise).
74577         (__mon_yday): Declare with the STATIC attribute.
74578         (__mktime_internal): Likewise.
74579         Based on a report from Greg Schafer.
74580
74581 2002-11-23  Jim Meyering  <jim@meyering.net>
74582
74583         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
74584         Use `unsigned', not `int', as type of index.
74585
74586         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
74587
74588         * lib/fsusage.c: Remove unneeded parentheses around operands of
74589         `defined'.
74590
74591 2002-11-22  Paul Eggert  <eggert@twinsun.com>
74592
74593         * lib/quotearg.h: Allow multiple inclusion by surrounding with
74594         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
74595         so that we can be included first.
74596         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
74597         * lib/quotearg.c: Include quotearg.h immediately after config.h.
74598         No need to include stddef.h or sys/types.h any more.
74599         Surround local include files with "", not "<>".
74600         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
74601         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
74602         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
74603         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
74604         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
74605         (ISPRINT): Remove; no longer needed now that we assume C89.
74606
74607         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
74608         Preserve errno.
74609
74610         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
74611         quotearg_char): Use SIZE_MAX rather than
74612         (size_t) -1 when we are talking about "infinity".
74613
74614         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
74615
74616 2002-11-22  Paul Eggert  <eggert@twinsun.com>
74617
74618         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
74619         hint that one should use `if (! x) abort ();' rather than `assert
74620         (x);', and anyway it's one less thing to worry about configuring.
74621         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
74622         hash_rehash, hash_insert): Use abort rather than assert.
74623
74624 2002-11-22  Bruno Haible  <bruno@clisp.org>
74625
74626         * lib/safe-read.h: Assume C89. Add comments.
74627         (safe_read): Change return type to size_t.
74628         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
74629         byte counts > SSIZE_MAX correctly.
74630         * lib/safe-write.h: New file.
74631         * lib/safe-write.c: New file.
74632         * lib/full-read.h: New file.
74633         * lib/full-read.c: New file.
74634         * lib/full-write.h: Assume C89. Add comments.
74635         * lib/full-write.c: Include safe-write.h.
74636         (full_write): Rewritten to use safe_write.
74637         Suggested by Jim Meyering and Paul Eggert.
74638
74639 2002-11-21  Jim Meyering  <jim@meyering.net>
74640
74641         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
74642
74643         Merge in changes from the coreutils.
74644
74645         2002-09-25  Paul Eggert  <eggert@twinsun.com>
74646         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
74647         <stdint.h>.
74648         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
74649         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
74650         int.  Work more efficiently if X is the same width as uintmax_t.
74651         Do not compare X to -1, to avoid bogus compiler warning.
74652         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
74653         Don't assume that f_frsize and f_bsize are the same type.
74654
74655         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
74656         warning on FreeBSD.
74657
74658         * lib/makepath.c (make_path): Restore umask *before* creating the final
74659         component.
74660         (make_path): Minor reformatting.
74661
74662         * lib/xmalloc.c: Adjust to work with new autoconf macros,
74663         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
74664         HAVE_MALLOC/HAVE_REALLOC.
74665
74666         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
74667         dummy ones.  At least on GNU/Linux systems, `auto' means something
74668         else.
74669         From Michael Stone.
74670
74671 2002-11-21  Bruno Haible  <bruno@clisp.org>
74672
74673         Remove case insensitive option matching.
74674         * lib/argmatch.h (argcasematch): Remove declaration.
74675         (ARGCASEMATCH): Remove macro.
74676         (__xargmatch_internal): Remove case_sensitive argument.
74677         (XARGMATCH): Update.
74678         (XARGCASEMATCH): Remove macro.
74679         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
74680         case_sensitive argument.
74681         (argcasematch): Remove function.
74682         (__xargmatch_internal): Remove case_sensitive argument.
74683         (main): Use XARGMATCH instead of XARGCASEMATCH.
74684
74685         * lib/xmalloc.c: Change compile-time error message. Add comment about
74686         required autoconf version.
74687
74688 2002-11-20  Paul Eggert  <eggert@twinsun.com>
74689
74690         Merge argmatch cleanups from Bison.  Assume C89.
74691
74692         * lib/argmatch.c: Include config.h here, not in argmatch.h.
74693         Include stdlib.h, for EXIT_FAILURE.
74694         Always include <string.h>, since we assume C89.
74695         (EXIT_FAILURE): Remove pre-C89 bug workaround.
74696         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
74697         Include <stddef.h> instead, since it's all we need for size_t.
74698         (PARAMS): Remove.  All uses removed.
74699         (ARRAY_CARDINALITY): Do not bother to #undef.
74700         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
74701         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
74702         Remove unnecessary parentheses.
74703         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
74704         Insert necessary parentheses.
74705         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
74706         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
74707
74708 2002-11-19  Bruno Haible  <bruno@clisp.org>
74709
74710         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
74711         * lib/mbswidth.h: Include <stddef.h>, for size_t.
74712
74713         * lib/mbswidth.h (PARAMS): Remove macro.
74714         (mbswidth, mbsnwidth): Use ANSI C function declarations.
74715         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
74716
74717         * lib/gcd.h (PARAMS): Remove macro.
74718         (gcd): Use ANSI C function declarations.
74719         * lib/gcd.c (gcd): Likewise.
74720
74721 2002-11-15  Bruno Haible  <bruno@clisp.org>
74722
74723         * lib/strcspn.c: Include <stddef.h>.
74724         (strcspn): Use ANSI C function declaration. Change return type to
74725         size_t. Use NULL.
74726         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
74727         (strpbrk): Use NULL.
74728         * lib/strpbrk.h (PARAMS): Remove macro.
74729         (strpbrk): Use ANSI C function declaration.
74730         * lib/strstr.c: Don't include <sys/types.h>.
74731         * lib/strstr.h (PARAMS): Remove macro.
74732         (strstr): Use ANSI C function declarations.
74733
74734 2002-11-14  Karl Berry  <karl@gnu.org>
74735
74736         * config/mkinstalldirs: `do' on separate line, instead of
74737         `for var; do'.
74738
74739 2002-11-06  Bruno Haible  <bruno@clisp.org>
74740
74741         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
74742         * lib/gcd.c (gcd): Likewise.
74743
74744 2002-11-05  Bruno Haible  <bruno@clisp.org>
74745
74746         * lib/gcd.h: New file, from gettext-0.11.5.
74747         * lib/gcd.c: New file, from gettext-0.11.5.
74748
74749 2002-11-05  Bruno Haible  <bruno@clisp.org>
74750
74751         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
74752         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
74753         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
74754         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
74755
74756         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
74757         <libintl.h>.
74758         * lib/makepath.c: Include gettext.h instead of <locale.h> and
74759         <libintl.h>.
74760
74761         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
74762         * lib/human.c: Include gettext.h instead of <libintl.h>.
74763         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
74764         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
74765         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
74766         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
74767         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
74768         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
74769         (textdomain): Remove definition.
74770         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
74771
74772         * lib/long-options.c: Remove include of <libintl.h> and definition of
74773         _.
74774         * lib/same.c: Remove include of <libintl.h> and definition of _.
74775
74776 2002-11-04  Owen Taylor  <otaylor@redhat.com>
74777
74778         * lib/config.charset: A few additions for Solaris.
74779
74780 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
74781
74782         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
74783         * lib/localcharset.c (locale_charset): Declare as extern "C".
74784
74785 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
74786
74787         * lib/config.charset: msdos in uk_UA uses CP1125.
74788
74789 2002-11-04  Bruno Haible  <bruno@clisp.org>
74790
74791         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
74792         * lib/strcase.h: New file, from GNU gettext-0.11.5.
74793         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
74794         * lib/strstr.h: New file, from GNU gettext-0.11.5.
74795         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
74796
74797 2002-11-04  Bruno Haible  <bruno@clisp.org>
74798
74799         * lib/localcharset.c (locale_charset): Don't return an empty string.
74800
74801 2002-11-04  Bruno Haible  <bruno@clisp.org>
74802
74803         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
74804         aliases.
74805
74806 2002-11-04  Bruno Haible  <bruno@clisp.org>
74807
74808         * lib/config.charset: Update for newest glibc. Add canonical names
74809         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
74810
74811 2002-11-04  Bruno Haible  <bruno@clisp.org>
74812
74813         * lib/config.charset: Add support for NetBSD.
74814
74815 2002-11-04  Bruno Haible  <bruno@clisp.org>
74816
74817         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
74818
74819 2002-11-01  Bruno Haible  <bruno@clisp.org>
74820
74821         * configure.in: Add AC_CONFIG_AUX_DIR call.
74822         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
74823         test/Makefile.
74824         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
74825
74826 2002-09-28  Karl Berry  <karl@gnu.org>
74827
74828         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
74829         installed automake until the next release, since changes have been
74830         made.
74831
74832 2002-09-25  Karl Berry  <karl@gnu.org>
74833
74834         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
74835         * lib/getopt*: copy from libc/posix.
74836         * lib/gettext.h: copy from gettext.
74837         * lib/.cppi-disable: add strdup.c, gettext.h.
74838
74839 2002-09-25  Karl Berry  <karl@gnu.org>
74840
74841         * config/srclist.txt: enable gettext.h check.
74842         * config/config.{guess,sub}: update from prep.
74843         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
74844                 from automake 1.6.3.
74845         See srclist*.
74846
74847 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
74848
74849         * regex.c (PATFETCH): Remove the translating fetch.
74850         (PATFETCH_RAW): Rename to PATFETCH.
74851         (set_image_of_range): New fun.
74852         (SET_RANGE_TABLE_WORK_AREA): Use it.
74853         (regex_compile): Don't translate the pattern chars so eagerly.
74854         Only do it when inserting an `exactn' bytecode or when handling
74855         a char-range.
74856         (mutually_exclusive_p): Avoid empty statement.
74857
74858 2002-07-06  Jim Meyering  <meyering@lucent.com>
74859
74860         * m4/README: Don't mention Makefile.am.in.
74861         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
74862
74863 2002-07-01  Jim Meyering  <meyering@lucent.com>
74864
74865         * lib/c-stack.c: Include sys/time.h.
74866         From Volker Borchert.
74867
74868 2002-06-26  Paul Eggert  <eggert@twinsun.com>
74869
74870         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
74871
74872 2002-06-26  Paul Eggert  <eggert@twinsun.com>
74873
74874         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
74875         New macro.  Use it uniformly instead of
74876         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
74877         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
74878         reported by Vin Shelton.
74879
74880 2002-06-22  Paul Eggert  <eggert@twinsun.com>
74881
74882         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
74883         Do not assume SA_SIGINFO behavior.
74884         Bug reported by Jim Meyering on NetBSD 1.5.2.
74885
74886 2002-06-22  Jim Meyering  <meyering@lucent.com>
74887
74888         * m4/c-stack.m4: New file, from diffutils-2.8.2.
74889         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
74890
74891         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
74892         now that configure.ac uses AC_GNU_SOURCE.
74893         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
74894         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
74895
74896         Update to latest tools.  Suggestions from Paul Eggert.
74897         * m4/stdbool.m4: New file, from diffutils-2.8.2.
74898         * m4/gnu-source.m4: Update from diffutils-2.8.2.
74899         * m4/fnmatch.m4: Likewise.
74900         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
74901         to AC_HEADER_STDBOOL
74902
74903 2002-06-22  Jim Meyering  <meyering@lucent.com>
74904
74905         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
74906         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
74907
74908 2002-06-22  Jim Meyering  <meyering@lucent.com>
74909
74910         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
74911
74912         * lib/exitfail.c, exitfail.h: Likewise.
74913         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
74914
74915         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
74916         of fnmatch.h.
74917         (EXTRA_DIST): Add fnmatch_loop.c.
74918         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
74919
74920         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
74921         * lib/fnmatch.c: Update from diffutils-2.8.2.
74922         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
74923         * lib/fnmatch.h: Remove file.
74924
74925 2002-06-21  Jim Meyering  <meyering@lucent.com>
74926
74927         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
74928         * m4/mbrtowc.m4: Likewise.
74929
74930         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
74931         * m4/mbswidth.m4: Reflect name change:
74932         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
74933         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
74934
74935         * m4/lib-link.m4: Update from gettext-0.11.2.
74936         * m4/gettext.m4: Likewise.
74937
74938         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
74939         From Alfred M. Szmidt.
74940
74941 2002-06-18  Paul Eggert  <eggert@twinsun.com>
74942
74943         * lib/file-type.h: Report an error if neither S_ISREG nor
74944         S_IFREG is defined, instead of using a test specific to glibc
74945         2.2.  This should be safe, since POSIX requires S_ISREG and
74946         Unix Version 7 had S_IFREG.  We don't need to check for
74947         <sys/types.h> since we don't use any symbols that it defines.
74948
74949 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
74950
74951         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
74952         $@-t, so that each temporary file name is unique and valid in the first
74953         8 characters, for operation under DOS.
74954
74955 2002-06-15  Paul Eggert  <eggert@twinsun.com>
74956
74957         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
74958
74959 2002-06-15  Jim Meyering  <meyering@lucent.com>
74960
74961         Work even with DJGPP 2.03, which lacks support for symlinks.
74962         From Richard Dawe.
74963         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
74964         is defined.
74965         * lib/lchown.c (S_ISLNK): Likewise.
74966
74967 2002-06-15  Jim Meyering  <meyering@lucent.com>
74968
74969         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
74970         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
74971         have been included before this file.
74972
74973 2002-06-14  Jim Meyering  <meyering@lucent.com>
74974
74975         * lib/file-type.h: Use the version from diffutils-2.8.2.
74976         * lib/file-type.c: Likewise.
74977
74978 2002-06-07  Jim Meyering  <meyering@lucent.com>
74979
74980         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
74981         They're needed at least for NetBSD 1.5.2.
74982         ($statxfs_includes): Include those same headers.
74983         ($statxfs_includes): Include sys/vfs.h if available.
74984         ($statxfs_includes): Likewise for sys/statvfs.h.
74985         Check for the following members in both structs statfs and statvfs:
74986         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
74987
74988 2002-06-01  Jim Meyering  <meyering@lucent.com>
74989
74990         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
74991         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
74992
74993 2002-05-28  Jim Meyering  <meyering@lucent.com>
74994
74995         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
74996         Reported by Volker Borchert.
74997
74998 2002-05-27  Jim Meyering  <meyering@lucent.com>
74999
75000         Fix a problem seen only on nonconforming systems whereby ls.c's
75001         use of localtime, and then of gettimeofday would cause trouble:
75002         the localtime call used to initialize rpl_gettimeofday's save
75003         mechanism would clobber ls's current local time information so
75004         that in any long listing the first file would always be listed
75005         with date 1970-01-01.  Analysis by Volker Borchert.
75006
75007         * lib/gettimeofday.c (localtime): Undefine.
75008         (rpl_localtime): New function.
75009
75010 2002-05-27  Jim Meyering  <meyering@lucent.com>
75011
75012         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
75013         localtime.
75014
75015         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
75016         use the replacement function; it wouldn't resolve at link time.
75017         Reported by Volker Borchert.
75018
75019 2002-05-22  Jim Meyering  <meyering@lucent.com>
75020
75021         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
75022         file-type.h.
75023         * lib/file-type.h: New file.
75024         * lib/file-type.c (file_type): New file/function.  Extracted from
75025         diffutils.
75026
75027 2002-04-30  Jim Meyering  <meyering@lucent.com>
75028
75029         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
75030
75031 2002-04-29  Paul Eggert  <eggert@twinsun.com>
75032
75033         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
75034
75035 2002-04-29  Paul Eggert  <eggert@twinsun.com>
75036
75037         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
75038         Do not check for alloca.h (no longer used) or stdbool.h (was never
75039         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
75040
75041 2002-04-29  Paul Eggert  <eggert@twinsun.com>
75042
75043         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
75044
75045 2002-04-29  Jim Meyering  <meyering@lucent.com>
75046
75047         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
75048         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
75049         Use AC_FUNC_STRNLEN here instead.
75050
75051         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
75052         With autoconf-2.53a, it's part of AC_PROG_CC.
75053
75054 2002-04-28  Paul Eggert  <eggert@twinsun.com>
75055
75056         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
75057         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
75058
75059 2002-04-28  Paul Eggert  <eggert@twinsun.com>
75060
75061         * lib/sig2str.h, lib/sig2str.c: New files.
75062         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
75063
75064 2002-04-28  Paul Eggert  <eggert@twinsun.com>
75065
75066         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
75067         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
75068         of 127, since 64 is the largest conceivable number for ancient
75069         nonstandard hosts.
75070         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
75071
75072 2002-04-28  Jim Meyering  <meyering@lucent.com>
75073
75074         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
75075
75076 2002-04-24  Jim Meyering  <meyering@lucent.com>
75077
75078         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
75079         (jm_PREREQ): Use it.
75080
75081         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
75082         mach/mach.h fcntl.h.
75083         Check for this function: setlocale.
75084
75085 2002-04-24  Jim Meyering  <meyering@lucent.com>
75086
75087         * lib/gettext.h: New file, from Gettext.
75088         * lib/Makefile.am (INCLUDES): Remove -I../intl.
75089         (libfetish_a_SOURCES): Add gettext.h.
75090
75091 2002-04-16  Jim Meyering  <meyering@lucent.com>
75092
75093         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
75094         ut_pid, ut_id, ut_exit.
75095
75096 2002-04-16  Jim Meyering  <meyering@lucent.com>
75097
75098         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
75099         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
75100         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
75101
75102 2002-04-12  Jim Meyering  <meyering@lucent.com>
75103
75104         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
75105         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
75106         existence of the getmntinfo function.  Needed for Darwin 5.3.
75107
75108         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
75109         This is necessary at least on Darwin 5.3.
75110
75111         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
75112         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
75113         strnlen.o in the library, and that makes some versions of ranlib
75114         object.
75115
75116 2002-04-12  Jim Meyering  <meyering@lucent.com>
75117
75118         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
75119
75120 2002-04-09  Jim Meyering  <meyering@lucent.com>
75121
75122         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
75123         to be more precise.  Rather than saying we're checking whether the
75124         function `works', say what we're testing.
75125         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
75126         Reported by Bruno Haible.
75127
75128 2002-03-10  Jim Meyering  <meyering@lucent.com>
75129
75130         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
75131         Suggestion from Santiago Vila.
75132
75133 2002-03-08  Jim Meyering  <meyering@lucent.com>
75134
75135         * lib/rename.c: Mention that this wrapper is needed also on
75136         mips-dec-ultrix4.4 systems.
75137
75138 2002-03-02  Jim Meyering  <meyering@lucent.com>
75139
75140         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
75141         not HAVE_CLOCK_SETTIME.
75142
75143 2002-02-27  Paul Eggert  <eggert@twinsun.com>
75144
75145         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
75146         Check for clock_settime.
75147
75148 2002-02-27  Paul Eggert  <eggert@twinsun.com>
75149
75150         * lib/nanosleep.h: Rename to....
75151         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
75152
75153         * lib/gettime.c: New file.
75154         * lib/settime.c: New file.
75155         * lib/stime.c: Remove.
75156
75157         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
75158         timespec.h.  Remove nanosleep.h.
75159
75160 2002-02-25  Paul Eggert  <eggert@twinsun.com>
75161
75162         * m4/acl.m4: New file.
75163         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
75164         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
75165
75166 2002-02-25  Paul Eggert  <eggert@twinsun.com>
75167
75168         * lib/acl.c, lib/acl.h: New files.
75169         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
75170
75171 2002-02-24  Jim Meyering  <meyering@lucent.com>
75172
75173         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
75174         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
75175         cause trouble.  Reported by Nelson Beebe.
75176
75177 2002-02-23  Paul Eggert  <eggert@twinsun.com>
75178
75179         * lib/path-concat.c (xpath_concat): Reorder code to pacify
75180         compilers that don't know that xalloc_die never returns.
75181
75182 2002-02-20  Jim Meyering  <meyering@lucent.com>
75183
75184         * lib/getdate.c: Regenerate using bison-1.33.
75185
75186 2002-02-17  Jim Meyering  <meyering@lucent.com>
75187
75188         * config/config.guess (main): Don't use `head -1'; it's no longer
75189         portable. Use `sed 1q' instead.
75190
75191 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
75192
75193         * m4/codeset.m4: Upgrade to gettext-0.11.
75194         * m4/gettext.m4: Upgrade to gettext-0.11.
75195         * m4/glibc21.m4: Upgrade to gettext-0.11.
75196         * m4/iconv.m4: Upgrade to gettext-0.11.
75197         * m4/isc-posix.m4: Upgrade to gettext-0.11.
75198         * m4/lcmessage.m4: Upgrade to gettext-0.11.
75199         * m4/lib-ld.m4: New file, from gettext-0.11.
75200         * m4/lib-link.m4: New file, from gettext-0.11.
75201         * m4/lib-prefix.m4: New file, from gettext-0.11.
75202         * m4/progtest.m4: Upgrade to gettext-0.11.
75203
75204 2002-02-15  Paul Eggert  <eggert@twinsun.com>
75205
75206         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
75207         (jm_PREREQ): Use it.
75208
75209 2002-02-15  Paul Eggert  <eggert@twinsun.com>
75210
75211         * lib/posixver.c, lib/posixver.h: New files.
75212         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
75213
75214 2002-02-02  Paul Eggert  <eggert@twinsun.com>
75215             Bruno Haible  <bruno@clisp.org>
75216
75217         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
75218         (fwrite_success_callback): New declaration.
75219         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
75220         print_unicode_char. Call failure callback instead of error.
75221         (fwrite_success_callback): New function.
75222         (exit_failure_callback): New function.
75223         (fallback_failure_callback): New function.
75224         (print_unicode_char): Call unicode_to_mb.
75225
75226 2002-01-26  Jim Meyering  <meyering@lucent.com>
75227
75228         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
75229         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
75230
75231 2002-01-26  Jim Meyering  <meyering@lucent.com>
75232
75233         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
75234
75235 2002-01-22  Paul Eggert  <eggert@twinsun.com>
75236
75237         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
75238
75239 2002-01-22  Jim Meyering  <meyering@lucent.com>
75240
75241         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
75242         Otherwise, some versions of automake would omit the rule that makes
75243         Makefile from Makefile.in.
75244
75245 2002-01-21  Paul Eggert  <eggert@twinsun.com>
75246
75247         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
75248         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
75249         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
75250         (memcoll): Set errno to zero if there is no error.
75251
75252         * lib/quotearg.c (quotearg_buffer_restyled):
75253         Fix bug with quoting buffers containing NUL when backslashing escapes.
75254         This bug was exposed by the other changes in this patch.
75255         (quotearg_n_options): New arg ARGSIZE.
75256         All callers changed.
75257         (quoting_options_from_style): New function.
75258         (quotearg_n_style): Use it.
75259         (quotearg_n_style_mem): New function.
75260
75261         * lib/quotearg.h (quotearg_n_style_mem): New function.
75262
75263 2002-01-19  Jim Meyering  <meyering@lucent.com>
75264
75265         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
75266         Remove useless quotes: DF_PROG="df".
75267         * m4/strnlen.m4: New file.
75268
75269 2002-01-16  Paul Eggert  <eggert@twinsun.com>
75270
75271         * lib/backupfile.c (ISDIGIT): Comment fix.
75272         * lib/getdate.y (ISDIGIT): Likewise.
75273         * lib/posixtm.c (ISDIGIT, year): Likewise.
75274         * lib/strverscmp.c (ISDIGIT): Likewise.
75275         * lib/userspec.c (ISDIGIT): Likewise.
75276
75277 2002-01-16  Jim Meyering  <meyering@lucent.com>
75278
75279         * lib/getdate.y: Add three semicolons, each just before a closing
75280         brace. Bison (as of version 1.31) no longer papers over that mistake.
75281
75282 2002-01-05  Jim Meyering  <meyering@lucent.com>
75283
75284         * lib/version-etc.c (version_etc_copyright): Update copyright year.
75285
75286 2001-12-19  Paul Eggert  <eggert@twinsun.com>
75287
75288         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
75289         not silently exit merely because the output buffer happens to
75290         have nothing pending.
75291
75292 2001-12-18  Paul Eggert  <eggert@twinsun.com>
75293
75294         See the big note in ../ChangeLog.
75295         * lib/human.c (suffixes): Prefer K to k for 1024.
75296         (generate_suffix_backwards): New function.
75297         (human_readable_inexact): Use it.
75298         * lib/xstrtol.c (__xstrtol): If there is no number but there
75299         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
75300         Accept 'K' as well as 'k'.
75301
75302 2001-12-15  Jim Meyering  <meyering@lucent.com>
75303
75304         * lib/regex.h (__restrict_arr): Update from libc.
75305
75306         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
75307         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
75308         (STREQ): Define.
75309
75310 2001-12-14  Jim Meyering  <meyering@lucent.com>
75311
75312         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
75313         Suggestion from Bruno Haible.
75314
75315 2001-12-10  Jim Meyering  <meyering@lucent.com>
75316
75317         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
75318         xrealloc, Instead, include "xalloc.h".
75319         (initbuffer): Don't cast xmalloc return value to char*.
75320         (readline): Reword comment.
75321         Don't cast xrealloc return value to char*
75322         Return NULL, not 0.
75323
75324 2001-12-09  Jim Meyering  <meyering@lucent.com>
75325
75326         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
75327         about `signed and unsigned type in conditional expression'.
75328         * lib/posixtm.c (posix_time_parse): Likewise.
75329
75330         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
75331
75332         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
75333         to avoid a pedantic warning.
75334
75335         * lib/getstr.c: Don't include assert.h.
75336         (getstr): Remove warning-evoking assertions.
75337         Return -1 if offset parameter is out of bounds.
75338         Change the type of a local from int to size_t.
75339
75340         * lib/strftime.c (my_strftime_localtime_r): Include this function
75341         definition in the `#if ! HAVE_TM_GMTOFF' block.
75342
75343         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
75344         Include xalloc.h instead.
75345
75346 2001-12-02  Jim Meyering  <meyering@lucent.com>
75347
75348         * lib/tempname.c: Don't declare getenv, thus reverting the change of
75349         2001-11-18.  It's no longer necessary, now that stdlib.h is always
75350         included.
75351
75352         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
75353         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
75354
75355 2001-11-30  Akim Demaille  <akim@epita.fr>
75356
75357         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
75358         before being defined.
75359
75360 2001-11-27  Paul Eggert  <eggert@twinsun.com>
75361
75362         * lib/quotearg.h (quotearg_n, quotearg_n_style):
75363         First arg is int, not unsigned.
75364         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
75365         (SIZE_MAX, UINT_MAX): New macros.
75366         (quotearg_n_options): Abort if N is negative.
75367         Avoid overflow check on hosts where size_t is 64 bits and int
75368         is 32 bits, as overflow is impossible there.
75369         Fix off-by-one typo that caused unnecessary reallocation.
75370
75371 2001-11-27  Jim Meyering  <meyering@lucent.com>
75372
75373         * lib/tempname.c: Merge with version from libc.
75374         * lib/regex.c: Likewise.
75375
75376         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
75377         systems for which STDC_HEADERS is 0, it was not included, resulting in
75378         a warning about an integer-to-pointer conversion problem with getenv.
75379         Reported by Volker Borchert.
75380
75381 2001-11-26  Jim Meyering  <meyering@lucent.com>
75382
75383         * lib/gtod.h: Remove file.
75384         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
75385         * lib/gettimeofday.c: Don't include gtod.h.
75386         (GTOD_init): Remove function.
75387         (rpl_gettimeofday): Do its job here instead, rather than aborting.
75388         Suggestion from Volker Borchert.
75389
75390 2001-11-23  Jim Meyering  <meyering@lucent.com>
75391
75392         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
75393         it.
75394         * lib/hash.c (struct hash_table): Define it here instead.
75395
75396 2001-11-22  Jim Meyering  <meyering@lucent.com>
75397
75398         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
75399
75400 2001-11-20  Jim Meyering  <meyering@lucent.com>
75401
75402         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
75403         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
75404
75405 2001-11-19  Jim Meyering  <meyering@lucent.com>
75406
75407         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
75408         directory.  Use "conftestXXXXXX" as the template.
75409         Suggestion from Paul Eggert.
75410
75411         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
75412         immediately, so the test doesn't mistakenly hit the max-open-files
75413         limit.
75414
75415 2001-11-18  Paul Eggert  <eggert@twinsun.com>
75416
75417         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
75418         (TEMPORARIES): New macro.
75419         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
75420         removes an artificial limitation (e.g. HP-UX 10.20, where
75421         TMP_MAX is 17576).
75422
75423 2001-11-18  Jim Meyering  <meyering@lucent.com>
75424
75425         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
75426
75427 2001-11-18  Jim Meyering  <meyering@lucent.com>
75428
75429         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
75430         on SunOS 4.
75431
75432         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
75433         files will be created before anything else.
75434
75435 2001-11-17  Paul Eggert  <eggert@twinsun.com>
75436
75437         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
75438         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
75439
75440 2001-11-17  Jim Meyering  <meyering@lucent.com>
75441
75442         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
75443         Prompted by a report from Bob Proulx.
75444
75445         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
75446         Instead, require UTILS_FUNC_MKSTEMP.
75447
75448 2001-11-17  Jim Meyering  <meyering@lucent.com>
75449
75450         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
75451         Now, that's done as part of AC_FUNC_STRTOD.
75452
75453 2001-11-17  Jim Meyering  <meyering@lucent.com>
75454
75455         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
75456         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
75457         rather than group writable.  Patch by Juan F. Codagnone.
75458
75459         * lib/readtokens.c: Remove explicit declarations of xmalloc and
75460         xrealloc, Instead, include "xalloc.h".
75461
75462         * lib/mountlist.c: Include unlocked-io.h after all system headers.
75463         Remove explicit declarations of xmalloc, xrealloc,
75464         and xstrdup.  Instead, include "xalloc.h".
75465
75466         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
75467         unlocked-io.h.
75468         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
75469         Likewise.
75470         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
75471
75472         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
75473         Reported by Padraig Brady.
75474
75475         * lib/mkstemp.c: #undef mkstemp.
75476         Include config.h.
75477         (rpl_mkstemp): Rename from mkstemp.
75478         Protoize.
75479
75480 2001-11-16  Jim Meyering  <meyering@lucent.com>
75481
75482         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
75483         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
75484         determine the amount of total physical memory, use pstat_getstatic.
75485         HPUX-11 doesn't define _SC_PHYS_PAGES.
75486         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
75487         If sysconf couldn't be used to determine the amount of available
75488         physical memory, use both pstat_getstatic and pstat_getdynamic.
75489         Based on a patch from Bob Proulx.
75490
75491 2001-11-10  Jim Meyering  <meyering@lucent.com>
75492
75493         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
75494         (jm_PREREQ): Use it.
75495
75496 2001-11-09  Jim Meyering  <meyering@lucent.com>
75497
75498         * m4/jm-macros.m4: Require autoconf-2.52f.
75499         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
75500         Use these AC_-prefixed names, not the AM_-prefixed ones.
75501
75502         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
75503
75504 2001-11-05  Jim Meyering  <meyering@lucent.com>
75505
75506         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
75507
75508 2001-11-04  Jim Meyering  <meyering@lucent.com>
75509
75510         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
75511         $DEFS.
75512
75513 2001-11-03  Jim Meyering  <meyering@lucent.com>
75514
75515         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
75516         of AC_DEFUN.
75517
75518         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
75519         know the name of the variable in the macro definition.
75520
75521 2001-11-03  Jim Meyering  <meyering@lucent.com>
75522
75523         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
75524         in argmatch_to_argument call.
75525
75526         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
75527         argument.
75528
75529         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
75530         e.g., a fault due to an attempt to free a NULL pointer.
75531
75532 2001-11-01  Jim Meyering  <meyering@lucent.com>
75533
75534         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
75535         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
75536
75537 2001-11-01  Jim Meyering  <meyering@lucent.com>
75538
75539         * lib/dirfd.c, lib/dirfd.h: New files.
75540         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
75541
75542         * lib/hash.c (hash_print) [TESTING]: Clean up.
75543
75544 2001-10-22  Paul Eggert  <eggert@twinsun.com>
75545
75546         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
75547         to avoid a warning if -Wall.
75548
75549 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
75550
75551         * README: New file
75552         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
75553         (per RMS's instructions, this is now the canonical source)
75554         * lgpl/, gpl/: New directories.
75555
75556 2001-10-21  Paul Eggert  <eggert@twinsun.com>
75557
75558         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
75559
75560 2001-10-21  Jim Meyering  <meyering@lucent.com>
75561
75562         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
75563         this code would end up calling gettext even in packages built
75564         with --disable-nls.
75565         * lib/getopt.c (_): Likewise.
75566         * lib/regex.c (_): Likewise.
75567
75568 2001-10-20  Paul Eggert  <eggert@twinsun.com>
75569
75570         * m4/error.m4 (jm_PREREQ_ERROR):
75571         Do not invoke AC_CHECK_FUNCS with strerror_r, as
75572         AC_FUNC_STRERROR_R does that.
75573         Check for strerror declaration.
75574
75575         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
75576         are supposed to have them these days.
75577         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
75578         Merge changes from latest Autoconf CVS.
75579         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
75580         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
75581         POSIX decided to standardize on the int flavor of strerror_r.
75582
75583 2001-10-20  Paul Eggert  <eggert@twinsun.com>
75584
75585         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
75586         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
75587         Use strerror_r that is only a macro, even if it is not a function.
75588         (strerror): Check for HAVE_DECL_STRERROR before declaring.
75589         (private_strerror): Use prototypes, not old-style function definition.
75590         (print_errno_message): New function.
75591         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
75592         char*-flavored one.
75593         (error_tail, error, error_at_line): Use it.
75594
75595 2001-10-11  Jim Meyering  <meyering@lucent.com>
75596
75597         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
75598         and quote_n (1, ... to avoid clobbering a buffer.
75599
75600 2001-10-05  Jim Meyering  <meyering@lucent.com>
75601
75602         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
75603         hash-pjw.h.
75604         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
75605         * lib/hash-pjw.h: New file.
75606
75607 2001-09-30  Jim Meyering  <meyering@lucent.com>
75608
75609         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
75610         `struct fsstat' has the `f_fstypename' member.
75611         Use that to define FS_TYPE, which is now used to make
75612         the getfsstat link test tighter.
75613
75614 2001-09-30  Jim Meyering  <meyering@lucent.com>
75615
75616         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
75617         Include <sys/ucred.h>, for Apple Darwin.
75618         Include sys/mount.h and sys/fs_types.h only if available.
75619         (FS_TYPE): Define.
75620         (read_filesystem_list): Use FS_TYPE.
75621
75622 2001-09-29  Paul Eggert  <eggert@twinsun.com>
75623
75624         * lib/exclude.c (excluded_filename): 0 -> false, since it's
75625         a boolean context.
75626
75627 2001-09-29  Jim Meyering  <meyering@lucent.com>
75628
75629         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
75630         [one-argument getmntent function]): Include stdio.h before mntent.h.
75631         SunOS 4.1.x needs it for the declaration of `FILE'.
75632         Patch by Volker Borchert.
75633
75634         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
75635         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
75636         sys/fs_types.h, and make the link-test for getfsstat guard #include
75637         directives with appropriate #if HAVE_*_H tests so that we can
75638         detect getfsstat on Apple Darwin1.3.7 systems.
75639         Reported by Nelson Beebe.
75640         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
75641
75642 2001-09-28  Paul Eggert  <eggert@twinsun.com>
75643
75644         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
75645         #defines strtoimax.  Also treat the other strto* functions
75646         like strtoimax.
75647
75648         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
75649         Check for strtoul and strtoumax,
75650         as those declarations are made even in the signed case.
75651         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
75652         Likewise, for strtol and strtoimax.
75653
75654 2001-09-28  Paul Eggert  <eggert@twinsun.com>
75655
75656         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
75657         #defines strtoimax.  Also treat the other strto* functions
75658         like strtoimax.
75659
75660         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
75661         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
75662         (strtoimax, strtoumax): Do not declare if already defined as a macro.
75663
75664 2001-09-26  Jim Meyering  <meyering@lucent.com>
75665
75666         Most macros in unlocked-io.h had the wrong number of arguments.
75667         * lib/gen-uio: New script.
75668         (USE_UNLOCKED_IO): Define to 1 if not already defined.
75669         * lib/unlocked-io.hin: Remove file.
75670         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
75671         rather than trying to embed it here.
75672         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
75673         Reported by Padraig Brady.
75674
75675 2001-09-25  Volker Borchert  <bt@teknon.de>
75676
75677         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
75678         `result'.
75679
75680 2001-09-24  Jim Meyering  <meyering@lucent.com>
75681
75682         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
75683
75684 2001-09-23  Jim Meyering  <meyering@lucent.com>
75685
75686         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
75687         instead of the mere test for existence of mntent.h.  The latter
75688         would get a false-positive on AIX 3.4 systems.
75689         In the outer getmntent if-block, don't die if neither of the getmntent
75690         tests succeeds.  Instead, just fall through and continue with the
75691         remaining tests.
75692
75693 2001-09-23  Jim Meyering  <meyering@lucent.com>
75694
75695         * lib/mountlist.c: Remove useless parentheses in #if directives.
75696         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
75697         the deprecated MOUNTED symbol is no longer defined in mntent.h.
75698
75699 2001-09-22  Jim Meyering  <meyering@lucent.com>
75700
75701         * m4/gettext.m4: New file.  From gettext.
75702         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
75703         * m4/progtest.m4: Likewise
75704         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
75705         * m4/glibc21.m4: Likewise.
75706
75707         * m4/libintl.m4: Remove.  No longer used.
75708
75709 2001-09-22  Jim Meyering  <meyering@lucent.com>
75710
75711         * lib/localcharset.c: Update from latest gettext.
75712         * lib/config.charset: Likewise.
75713
75714 2001-09-20  Jim Meyering  <meyering@lucent.com>
75715
75716         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
75717         strtoimax.
75718         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
75719         strtoumax.
75720
75721 2001-09-20  Jim Meyering  <meyering@lucent.com>
75722
75723         * lib/xstrtol.c (strtoimax): Guard declaration with
75724         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
75725         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
75726         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
75727         (strtoumax): Likewise, for completeness (it wasn't necessary).
75728
75729 2001-09-17  Paul Eggert  <eggert@twinsun.com>
75730
75731         * lib/strtoimax.c (HAVE_LONG_LONG):
75732         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
75733         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
75734         to work around bug in IBM C compiler.
75735
75736 2001-09-17  Jim Meyering  <meyering@lucent.com>
75737
75738         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
75739         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
75740         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
75741         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
75742         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
75743         whenever the right hand side need not be expanded by the shell.
75744
75745 2001-09-16  Paul Eggert  <eggert@twinsun.com>
75746
75747         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
75748         library.  It's not correct, as some older glibcs are buggy.
75749         fnmatch wasn't fixed until glibc 2.2.
75750
75751         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
75752         special shell magic here.
75753
75754 2001-09-16  Jim Meyering  <meyering@lucent.com>
75755
75756         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
75757         * m4/jm-macros.m4: Require it.
75758
75759 2001-09-16  Jim Meyering  <meyering@lucent.com>
75760
75761         * lib/mkdir.c: New file.
75762
75763 2001-09-15  Jim Meyering  <meyering@lucent.com>
75764
75765         * m4/jm-macros.m4: Check for help2man.
75766
75767 2001-09-11  Jim Meyering  <meyering@lucent.com>
75768
75769         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
75770         The body, by Paul Eggert, was moved here from configure.in.
75771         * m4/jm-macros.m4: Require UTILS_HOST_OS.
75772
75773 2001-09-04  Paul Eggert  <eggert@twinsun.com>
75774
75775         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
75776         (jm_PREREQ): Use it.
75777
75778 2001-09-04  Paul Eggert  <eggert@twinsun.com>
75779
75780         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
75781         Use ssize_t, not int, to store result of readlink.
75782         Check for ssize_t overflow as well as size_t overflow,
75783         as POSIX says the result of readlink is implementation-defined
75784         when ssize_t overflows.
75785         Remove unnecessary cast to char*.
75786         Use free+malloc instead of realloc, as the storage doesn't need
75787         to be preserved and it's clearer and can be more efficient that way.
75788         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
75789         * lib/xreadlink.h (xreadlink): Update prototype.
75790
75791 2001-09-04  Paul Eggert  <eggert@twinsun.com>
75792
75793         * lib/xgetcwd.c: Revert some of the previous change; intead,
75794         fix the HAVE_GETCWD_NULL code to behave more like the
75795         !HAVE_GETCWD_NULL code used to.
75796
75797         Include "xalloc.h".
75798         (xgetcwd): Do not return NULL when memory is exhausted; instead,
75799         invoke xalloc_die.
75800
75801 2001-09-03  Paul Eggert  <eggert@twinsun.com>
75802
75803         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
75804         sys/param.h, as pathmax.h includes them.
75805
75806 2001-09-03  Paul Eggert  <eggert@twinsun.com>
75807
75808         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
75809         (jm_PREREQ_XGETCWD): New macro.
75810
75811         * m4/getcwd.m4: New file.
75812
75813 2001-09-03  Paul Eggert  <eggert@twinsun.com>
75814
75815         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
75816         like the HAVE_GETCWD_NULL code.
75817         Include pathmax.h if not HAVE_GETCWD.
75818         Do not include xalloc.h.
75819         (INITIAL_BUFFER_SIZE): New symbol.
75820         Do not use xmalloc / xrealloc, since the caller is responsible for
75821         handling errors.  Preserve errno around `free' during failure.
75822         Do not overrun buffer when using getwd.
75823
75824 2001-09-03  Paul Eggert  <eggert@twinsun.com>
75825
75826         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
75827         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
75828         getcwd (NULL, 0).
75829
75830 2001-09-03  Paul Eggert  <eggert@twinsun.com>
75831
75832         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
75833         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
75834         spotted by Jim Meyering.
75835
75836 2001-09-03  Jim Meyering  <meyering@lucent.com>
75837
75838         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
75839         failure.
75840
75841 2001-09-02  Jim Meyering  <meyering@lucent.com>
75842
75843         * lib/error.c: Update from GNU libc.
75844
75845 2001-09-01  Jim Meyering  <meyering@lucent.com>
75846
75847         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
75848         Used by df.
75849
75850 2001-09-01  Jim Meyering  <meyering@lucent.com>
75851
75852         * lib/xreadlink.c: New file.
75853         * lib/xreadlink.h: New file.
75854         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
75855         xreadlink.h.
75856
75857         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
75858         doesn't conflict with sparc Solaris 7's definition in
75859         /usr/include/sys/int_types.h.
75860
75861         * lib/exclude.c: Use `""', not `<>' to #include non-system header
75862         files.
75863         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
75864         and strncasecmp as r-values.  Unixware didn't have declarations.
75865
75866 2001-08-31  Paul Eggert  <eggert@twinsun.com>
75867
75868         * lib/xstrtol.h: Add copyright notice.
75869         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
75870         LONGINT_INVALID_SUFFIX_CHAR.
75871
75872 2001-08-31  Paul Eggert  <eggert@twinsun.com>
75873
75874         * lib/xstrtol.c (strtoimax): New decl.
75875
75876 2001-08-31  Paul Eggert  <eggert@twinsun.com>
75877
75878         * lib/xgetcwd.c: Don't include pathmax.h.
75879         Include stdlib.h and unistd.h if available.
75880         Include xalloc.h.
75881         (xmalloc, xstrdup, free): Remove decls.
75882         (xgetcwd): Don't assume sizes fit in unsigned.
75883         Check for overflow when computing sizes.
75884         Simplify reallocation code.
75885
75886 2001-08-31  Paul Eggert  <eggert@twinsun.com>
75887
75888         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
75889         a directory's st_size can have an arbitrary value, so the old
75890         usage could waste an arbitrary amount of memory.  All uses
75891         changed.
75892         * lib/savedir.h: Update prototype.
75893
75894 2001-08-31  Paul Eggert  <eggert@twinsun.com>
75895
75896         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
75897
75898         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
75899         old strtoimax.c.
75900
75901         Also, make the following further changes to make this file's
75902         configuration more similar to that of strtol.c:
75903         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
75904         (strtoumax, uintmax_t, strtoull, strtol): Remove.
75905         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
75906         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
75907         changed to signed values.
75908
75909         And make the following changes as well:
75910         Fix copyright notice, as 1999 was missing.
75911         (verify): New macro.
75912         (strtoimax): Check sizes at compile-time, not run-time.
75913         Prefer strtol to strtoll if both work.
75914         (main): Remove; it was not that useful and was a pain to maintain.
75915
75916         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
75917
75918 2001-08-31  Jim Meyering  <meyering@lucent.com>
75919
75920         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
75921         Use an initial, malloc'd, buffer of length 128 rather than
75922         a statically allocated one of length 1024.
75923
75924 2001-08-30  Paul Eggert  <eggert@twinsun.com>
75925
75926         Simplify code, partly by assuming autoconf 2.52 semantics.
75927
75928         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
75929
75930         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
75931         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
75932         All uses removed.
75933         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
75934         Move AC_REQUIRE to next-to-top level, to avoid confusion.
75935         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
75936         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
75937         jm_AC_HEADER_INTTYPES_H.
75938         * m4/jm-macros.m4 (jm_MACROS): Likewise.
75939
75940         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
75941
75942         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
75943         Quote first arg of AC_DEFUN.
75944         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
75945         since they are needed to parse the include file even if we need
75946         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
75947         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
75948         but with opposite signedness.
75949
75950 2001-08-30  Paul Eggert  <eggert@twinsun.com>
75951
75952         Merge 'exclude' changes from tar 1.13.22.
75953         This fixes one or two unlikely storage allocation overflow bugs,
75954         but doesn't change user-visible behavior otherwise.
75955
75956 2001-08-30  Paul Eggert  <eggert@twinsun.com>
75957
75958         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
75959         (jm_PREREQ_EXCLUDE): New macro.
75960
75961 2001-08-30  Paul Eggert  <eggert@twinsun.com>
75962
75963         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
75964         tm to be declared.
75965
75966 2001-08-30  Paul Eggert  <eggert@twinsun.com>
75967
75968         * lib/hash.c: Remove '2001' from copyright notice.
75969
75970 2001-08-30  Paul Eggert  <eggert@twinsun.com>
75971
75972         * lib/full-write.h: New file.
75973         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
75974         * lib/full-write.c: Correct credits, as cccp.c no longer
75975         exists and anyway it was so heavily changed from the old cccp
75976         code as to be unrecognizable.  Include full-write.h.
75977         (full_write) Return size_t, with short writes meaning failure.
75978         All callers changed.  This fixes a bug with large buffers
75979         on 64-bit hosts.
75980         * lib/utime.c: Include full-write.h.
75981
75982 2001-08-30  Paul Eggert  <eggert@twinsun.com>
75983
75984         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
75985         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
75986         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
75987         Include if available.
75988         (<xalloc.h>): Include
75989         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
75990         (verify): New macro.  Use it to verify that EXCLUDE macros do not
75991         collide with FNM macros.
75992         (struct patopts): New struct.
75993         (struct exclude): Use it, as exclude patterns now come with options.
75994         (new_exclude): Support above changes.
75995         (new_exclude, add_exclude_file):
75996         Initial size must now be a power of two to simplify overflow checking.
75997         (free_exclude, fnmatch_no_wildcards): New function.
75998         (excluded_filename): No longer requires options arg, as the options
75999         are determined by add_exclude.  Now returns bool, not int.
76000         (excluded_filename, add_exclude):
76001         Add support for the fancy new exclusion options.
76002         (add_exclude, add_exclude_file): Now takes int options arg.
76003         Check for arithmetic overflow when computing sizes.
76004         (add_exclude_file): xrealloc might modify errno, so don't
76005         realloc until after errno might be used.
76006
76007         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
76008         New macros.
76009         (free_exclude): New decl.
76010         (add_exclude, add_exclude_file): Now takes int options arg.
76011         (excluded_filename): No longer requires options arg, as the options
76012         are determined by add_exclude.  Now returns bool, not int.
76013
76014 2001-08-30  Paul Eggert  <eggert@twinsun.com>
76015
76016         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
76017
76018 2001-08-27  Jim Meyering  <meyering@lucent.com>
76019
76020         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
76021
76022         * lib/version-etc.c (N_): Remove definition.
76023         Revert most of last change.
76024         Instead, simply don't mark the `Copyright...' string for translation.
76025         Based on advice from Paul Eggert.
76026
76027         * lib/strtoxmax.c: Tweak comment.
76028
76029 2001-08-26  Jim Meyering  <meyering@lucent.com>
76030
76031         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
76032
76033         * m4/xstrtoimax.m4: New file.
76034         * m4/xstrtoumax.m4: Add comments explaining why we
76035         AC_REPLACE_FUNCS(strtol).
76036
76037 2001-08-26  Jim Meyering  <meyering@lucent.com>
76038
76039         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
76040         of copyright with `%s' so translators don't get an untranslated
76041         message in 2002.
76042         (COPYRIGHT_YEAR): Define.
76043         (version_etc): Use fprintf rather than fputs.
76044         Suggestion from Ulrich Drepper.
76045
76046         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
76047
76048         * lib/strtoll.c: New file, from GNU libc.
76049         * lib/xstrtoimax.c: New file.
76050
76051         * lib/xstrtol.h: Add xstrtoimax.
76052         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
76053         * lib/strtoimax.c: New file.  Likewise, but first define
76054         STRTOUXMAX_SIGNED.
76055
76056         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
76057         ...
76058         * lib/strtoxmax.c: ... then renamed to this.
76059
76060 2001-08-18  Paul Eggert  <eggert@twinsun.com>
76061
76062         * m4/inttypes.m4: Add AC_PREREQ(2.13).
76063         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
76064         (jm_AC_TYPE_INTMAX_T): New macro.
76065         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
76066
76067         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
76068
76069         * m4/longlong.m4: Renamed from ulonglong.m4.
76070         * m4/inttypes.m4: Renamed from inttypes_h.m4.
76071         * m4/uintmax_t.m4: Removed.
76072
76073 2001-08-13  Paul Eggert  <eggert@twinsun.com>
76074
76075         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
76076         Port to Solaris 8, where 'sed' requires a space after the 'r'
76077         command, and where sh dislikes "$/".  Clean up the spacing a bit.
76078         Redirect output to $tmp just once.
76079
76080 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
76081
76082         * lib/addext.c (<errno.h>): Include.
76083         (errno): Declare if not defined.
76084         (addext): Work correctly when pathconf returns -1 and leaves
76085         errno alone because there is no limit.  Also, work even if
76086         pathconf returns a value greater than SIZE_MAX.
76087
76088 2001-08-12  Jim Meyering  <meyering@lucent.com>
76089
76090         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
76091         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
76092         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
76093         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
76094         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
76095         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
76096         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
76097         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
76098         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
76099         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
76100         utime.m4, utimes.m4, xstrtoumax.m4:
76101         Quote the first argument in each use of AC_DEFUN.
76102
76103 2001-08-12  Jim Meyering  <meyering@lucent.com>
76104
76105         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
76106         Simply `return getcwd (NULL, 0);'.
76107         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
76108         Use 1300 as initial value for length, not PATH_MAX.
76109
76110         * lib/pathmax.h: Clean up cpp syntax.
76111
76112 2001-08-12  Jim Meyering  <meyering@lucent.com>
76113
76114         * lib/gettimeofday.c: New file.
76115         * lib/gtod.h: New file.
76116         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
76117
76118 2001-08-05  Jim Meyering  <meyering@lucent.com>
76119
76120         * m4/jm-macros.m4: Require autoconf-2.52.
76121
76122 2001-08-04  Jim Meyering  <meyering@lucent.com>
76123
76124         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
76125         stmt, to get in sync with glibc.
76126
76127 2001-08-03  Paul Eggert  <eggert@twinsun.com>
76128
76129         The following changes are from gettext 0.10.39 as maintained by
76130         Bruno Haible.
76131
76132         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
76133         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
76134         with inverted sense.  All uses changed.
76135
76136         * lib/mbswidth.c: Don't include <limits.h>.
76137         Include <stdlib.h> and <string.h> unconditionally.
76138         (iswcntrl, mbsinit, ISCNTRL): New macros.
76139         (mbsnwidth): Use K&R style function declarations.
76140         Don't bother checking for MB_LEN_MAX == 1, since the compiler
76141         can optimize it when MB_CUR_MAX == 1.
76142         The width of control characters is zero, not 1.
76143
76144 2001-08-03  Paul Eggert  <eggert@twinsun.com>
76145
76146         The following changes are from gettext 0.10.39 as maintained by
76147         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
76148
76149         * m4/codeset.m4: Upgrade to serial AM1.
76150         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
76151         all uses changed.  Quote first arg of AC_DEFUN.
76152         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
76153
76154         * m4/iconv.m4: Upgrade to serial AM2.
76155         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
76156         Add --with-libconv-prefix.
76157         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
76158         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
76159         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
76160         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
76161         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
76162
76163         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
76164         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
76165         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
76166         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
76167         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
76168         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
76169         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
76170         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
76171         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
76172
76173         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
76174         string.h any more.
76175
76176         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
76177         not the default value.
76178
76179         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
76180         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
76181         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
76182         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
76183         Also check for iswcntrl, used for wcwidth fallback.
76184         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
76185         to Autoconf 2.13.
76186
76187 2001-08-03  Jim Meyering  <meyering@lucent.com>
76188
76189         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
76190         as it was in the original.  Reported by Paul Eggert.
76191
76192 2001-07-16  Jim Meyering  <meyering@lucent.com>
76193
76194         * m4/gettimeofday.m4: New file.
76195         Prompted by a report from Bernhard Baehr.
76196
76197 2001-07-15  Jim Meyering  <meyering@lucent.com>
76198
76199         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
76200         stuff. Now it's in ../Makefile.cfg.
76201
76202 2001-07-15  Jim Meyering  <meyering@lucent.com>
76203
76204         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
76205         (BUILT_SOURCES): Add unlocked-io.h.
76206         (io_functions): Define.
76207         (unlocked-io.h): New rule.
76208         (DISTCLEANFILES): Add unlocked-io.h.
76209         (all-local): Depend on unlocked-io.h, to ensure it is created.
76210
76211         * lib/unlocked-io.hin: New file
76212
76213         * lib/regex.c: Update from glibc.
76214
76215 2001-07-05  Jim Meyering  <meyering@lucent.com>
76216
76217         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
76218         recommendation.
76219         (libfetish_a_SOURCES): Put all .h files here instead.
76220         Remove a thus-exposed (better checks in automake) duplicate and
76221         two unnecessary .h files.
76222
76223 2001-07-04  Jim Meyering  <meyering@lucent.com>
76224
76225         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
76226         that generates jm-glibc-io.m4 so that it doesn't trigger any make
76227         distcheck failure.
76228
76229 2001-07-02  Jim Meyering  <meyering@lucent.com>
76230
76231         The following changes were prompted by suggestions from Bruno Haible.
76232
76233         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
76234         is now generated.
76235         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
76236         definition of EXTRA_DIST.
76237         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
76238         ensure that the generated file is created/updated whenever the list
76239         of $(unlocked_functions) is changed.
76240         (jm-glibc-io.m4): New rule.
76241         (unlocked-io.h): New rule -- currently unused.
76242
76243 2001-06-24  Jim Meyering  <meyering@lucent.com>
76244
76245         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
76246         unmatched right bracket, rather than kludging it with an extra,
76247         falsely-matching quote in a comment.  Patch by Akim Demaille.
76248
76249 2001-06-11  Jim Meyering  <meyering@lucent.com>
76250
76251         * lib/regex.c: Update from GNU libc.
76252
76253 2001-05-27  Jim Meyering  <meyering@lucent.com>
76254
76255         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
76256         Check for ut_type in struct utmp.
76257
76258 2001-05-27  Jim Meyering  <meyering@lucent.com>
76259
76260         * lib/readutmp.h (UT_TYPE): Define.
76261
76262 2001-05-24  Jim Meyering  <meyering@lucent.com>
76263
76264         * lib/argmatch.c: Include "quote.h".
76265         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
76266         quote function.  Reported by Göran Uddeborg.
76267
76268 2001-05-22  Jim Meyering  <meyering@lucent.com>
76269
76270         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
76271         now that we use the package-supplied version unconditionally.
76272         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
76273
76274 2001-05-21  Jim Meyering  <meyering@lucent.com>
76275
76276         * m4/regex.m4: Change a couple backticks to single quotes to avoid
76277         shell syntax errors.
76278
76279 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
76280
76281         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
76282
76283 2001-05-20  Paul Eggert  <eggert@twinsun.com>
76284
76285         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
76286         Don't bother to check library strftime, since
76287         we'll be using our own my_strftime function anyway.
76288         Define my_strftime instead of strftime.
76289
76290 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
76291
76292         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
76293         which is not yet declared.
76294
76295 2001-05-15  Jim Meyering  <meyering@lucent.com>
76296
76297         * m4/regex.m4: Use proper quoting so brackets appear in the test
76298         program.
76299         Reported by, and with help from, Bruno Haible.
76300
76301 2001-05-13  Jim Meyering  <meyering@lucent.com>
76302
76303         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
76304         undefined.
76305
76306 2001-05-11  Paul Eggert  <eggert@twinsun.com>
76307
76308         dirname code cleanup.  base_name now behaves more compatibly
76309         with POSIX basename when given file names that have trailing
76310         slashes, and similarly for dir_name.  Add new primitives
76311         base_len and dir_len.  Put the directory-name-related decls
76312         into dirname.h.
76313
76314         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
76315         * lib/backupfile.c (base_name): Likewise.
76316         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
76317         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
76318         * lib/makepath.c (strip_trailing_slashes): Likewise.
76319         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
76320         ISSLASH): Likewise.
76321         * lib/rename.c (strip_trailing_slashes): Likewise.
76322         * lib/same.c (base_name): Likewise.
76323         * lib/stripslash.c (ISSLASH): Likewise.
76324
76325         * lib/addext.c: Include <dirname.h> after size_t is defined.
76326         * lib/backupfile.c: Likewise.
76327
76328         * lib/addext.c (addext): Use base_len to trim redundant
76329         trailing slashes instead of doing it ourselves.
76330         But do not trim the last slash if it is not redundant.
76331
76332         * lib/backupfile.c (find_backup_file_name,
76333         max_backup_version): Use base_len instead of rolling it ourselves.
76334         Handle the case of "" and (on DOS) "C:" correctly.
76335
76336         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
76337         needed. Include <string.h>, <dirname.h>.
76338         (base_name): Allow file names ending in slashes, other than names
76339         that are all slashes.  In this case, return the basename followed
76340         by the slashes.  This is more general, and can be used in places
76341         where the original base_name purposely had an assertion failure.
76342         (base_len): New function.
76343
76344         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
76345         Do not include <assert.h>; no longer needed.
76346         Include xalloc.h.
76347         (memrchr): Remove decl.
76348         (dir_name_r): Remove.
76349         (dir_len): Renamed from dirlen.  All callers changed.
76350         Rewrite in terms of base_name, for simplicity and consistency.
76351         (dir_name): Never return NULL.  All callers changed.
76352         Do not include <stdlib.h> in test program; no longer needed.
76353         return 0; is fine for test program.
76354
76355         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
76356         New macros.
76357         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
76358
76359         * lib/path-concat.c (path_concat): Use base_len to compute
76360         base length, not strlen; this means we cannot rely on memcpy
76361         to null-terminate.
76362
76363         * lib/same.c (STREQ): Remove.
76364         (same_name): Handle the case where the basename ends in trailing '/'.
76365
76366         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
76367         a slash was stripped.  Do not strip the last slash after a
76368         file system prefix.
76369
76370 2001-05-11  Paul Eggert  <eggert@twinsun.com>
76371
76372         * lib/Makefile.am (libfetish_a_SOURCES):
76373         Add strftime.c, since we now compile it on all hosts.
76374
76375         * lib/strftime.c (my_strftime):
76376         Define to nstrftime if emacs, but only if my_strftime is not defined.
76377         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
76378         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
76379         Add one more extra argument: a nanoseconds value.
76380         All uses changed.
76381         (ns): New macro.
76382         (my_strftime function): Add %N format.
76383         (emacs_strftimeu): Renamed from emacs_strftime,
76384         with extra ut argument.
76385
76386 2001-05-09  Paul Eggert  <eggert@twinsun.com>
76387
76388         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
76389
76390 2001-04-21  Jim Meyering  <meyering@lucent.com>
76391
76392         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
76393         doesn't interfere.
76394
76395 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
76396
76397         * m4/ftruncate.m4: Check for chsize.
76398         Link with ftruncate.o unconditionally if ftruncate is missing.
76399         This was required when cross-compiling to i586-mingw32msvc.
76400
76401 2001-04-08  Jim Meyering  <meyering@lucent.com>
76402
76403         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
76404         recomputed; that's necessary when the offset spans a DST transition.
76405         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
76406
76407 2001-04-02  Jim Meyering  <meyering@lucent.com>
76408
76409         * lib/regex.h, regex.c: Update from GNU libc.
76410
76411 2001-03-24  Jim Meyering  <meyering@lucent.com>
76412
76413         * m4/jm-macros.m4: Require autoconf-2.49d.
76414
76415 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
76416
76417         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
76418
76419 2001-03-19  Paul Eggert  <eggert@twinsun.com>
76420
76421         * lib/version-etc.c (version_etc_copyright): Update to 2001.
76422
76423 2001-03-17  Jim Meyering  <meyering@lucent.com>
76424
76425         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
76426         now that the version in autoconf is equivalent.
76427         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
76428
76429         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
76430         Suggestion from Akim Demaille.
76431
76432         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
76433         (jm_PREREQ_TEMPNAME): New function.
76434
76435 2001-03-16  Paul Eggert  <eggert@twinsun.com>
76436
76437         * lib/tempname.c (uint64_t): Define to uintmax_t if
76438         not defined, and if UINT64_MAX is not defined.
76439         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
76440         Reported by John David Anglin.
76441
76442 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
76443
76444         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
76445         resolve alias if codeset is empty.
76446         * lib/config.charset (BeOS): Use wildcard syntax.
76447
76448 2001-03-13  Jim Meyering  <meyering@lucent.com>
76449
76450         * lib/path-concat.c (path_concat)
76451         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
76452         concatenating e.g., `C:' and `foo'.
76453         From Bruno Haible.
76454
76455 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
76456
76457         * lib/localcharset.c (locale_charset): Don't use
76458         setlocale(LC_CTYPE,NULL). Don't return NULL.
76459         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
76460
76461 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
76462
76463         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
76464         support for DOS/DJGPP.
76465
76466 2001-03-01  Paul Eggert  <eggert@twinsun.com>
76467
76468         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
76469         lacks mkstemp.  Compile our own tempname.c if we compile our own
76470         mkstemp.c, as mkstemp relies on tempname.
76471
76472 2001-03-01  Jim Meyering  <meyering@lucent.com>
76473
76474         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
76475         AH_VERBATIM really does output its argument verbatim.
76476
76477 2001-02-28  Paul Eggert  <eggert@twinsun.com>
76478
76479         * lib/Makefile.am (libfetish_a_SOURCES):
76480         Add dup-safer.c, fopen-safer.c.
76481         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
76482
76483         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
76484         * lib/unistd-safer.h: New files.
76485
76486 2001-02-25  Paul Eggert  <eggert@twinsun.com>
76487
76488         The mkstemp replacement is taken from glibc 2.2.2, with some
76489         portability fixes for use outside glibc, as follows:
76490
76491         * lib/tempname.c (struct_stat64): New macro.
76492         (direxists, __gen_tempname): Use it.
76493         This avoids a portability problem with Solaris 8.
76494
76495         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
76496         (<stddef.h>, <stdint.h>, <string.h>):
76497         Include only if STDC_HEADERS || _LIBC.
76498         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
76499         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
76500         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
76501         (__set_errno): Define this macro if <errno.h> doesn't.
76502         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
76503         Define these macros if <stdio.h> doesn't.
76504         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
76505         Define these macros if <sys/stat.h>
76506         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
76507         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
76508         __xstat64): Define if not _LIBC.
76509         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
76510         (__gen_tempname): Invoke gettimeofday only if
76511         HAVE_GETTIMEOFDAY || _LIBC;
76512         otherwise, fall back on plain "time".
76513         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
76514
76515         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
76516
76517         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
76518
76519 2001-02-18  Paul Eggert  <eggert@twinsun.com>
76520
76521         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
76522
76523 2001-02-17  Paul Eggert  <eggert@twinsun.com>
76524
76525         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
76526         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
76527         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
76528         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
76529
76530 2001-02-17  Paul Eggert  <eggert@twinsun.com>
76531
76532         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
76533         Remove workaround macros for hosts that have mbrtowc but not
76534         mbstate_t, as we now insist on proper declarations for both
76535         before using mbrtowc.
76536
76537 2001-02-17  Jim Meyering  <meyering@lucent.com>
76538
76539         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
76540         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
76541         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
76542         UnixWare 7.1.1.
76543
76544         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
76545         rather than AC_CACHE_VAL.
76546
76547 2001-02-17  Jim Meyering  <meyering@lucent.com>
76548
76549         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
76550         around included file name.
76551
76552         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
76553
76554         * lib/strftime.c: Update from GNU libc (the only changes were to
76555         comments).
76556
76557 2001-02-17  Jim Meyering  <meyering@lucent.com>
76558
76559         * lib/regex.c: Update from libc.
76560
76561 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
76562
76563         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
76564         clash.
76565
76566 2001-02-16  Paul Eggert  <eggert@twinsun.com>
76567
76568         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
76569         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
76570         Reported by Mark Hounschell via Paul Eggert.
76571
76572 2001-02-07  Jim Meyering  <meyering@lucent.com>
76573
76574         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
76575
76576 2001-02-05  Jim Meyering  <meyering@lucent.com>
76577
76578         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
76579         it includes the patch required for `large file' support with at least
76580         HP-UX's 10.20 /bin/cc.
76581
76582 2001-02-03  Jim Meyering  <meyering@lucent.com>
76583
76584         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
76585         AS_IF, now that it works once again (mysteriously).
76586         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
76587
76588 2001-01-30  Jim Meyering  <meyering@lucent.com>
76589
76590         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
76591         * m4/chown.m4: Rename conftestchown to conftest.chown.
76592         * m4/rename.m4: s/conftestdir/conftest.d1/ and
76593         s/conftestdir2/conftest.d2/.
76594         * m4/utimes.m4: s/conftestdata/conftest.data/
76595         Inspired by Pavel Roskin's change in autoconf.
76596
76597 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
76598
76599         * lib/config.charset: Update for FreeBSD 4.2.
76600
76601 2001-01-27  Jim Meyering  <meyering@lucent.com>
76602
76603         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
76604         a use of AS_IF.
76605         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
76606
76607 2001-01-26  Jim Meyering  <meyering@lucent.com>
76608
76609         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
76610         quotearg.c includes it.
76611
76612 2001-01-26  Jim Meyering  <meyering@lucent.com>
76613
76614         * lib/quotearg.c: Include stddef.h.
76615         * lib/quote.c: Include stddef.h.
76616         Reported by Axel Kittenberger.
76617
76618         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
76619         line in double quotes so that it evokes a better diagnostic.
76620         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
76621         Reported by Axel Kittenberger.
76622
76623 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
76624
76625         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
76626         as if it was a `charset'.
76627
76628 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
76629
76630         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
76631         has const.
76632
76633 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
76634
76635         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
76636         to avoid a warning.  Add back 'const' to inptr.
76637
76638 2001-01-20  Jim Meyering  <meyering@lucent.com>
76639
76640         Be sure that headers are checked before used in code compiled
76641         for the type checks.
76642         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
76643         In place of that, invoke jm_CHECK_ALL_TYPES.
76644         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
76645         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
76646         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
76647         The check for ssize_t was mistakenly run before the test for unistd.h.
76648
76649         The configure-time check for stdbool.h was missing.
76650         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
76651         (jm_PREREQ_HASH): New function.
76652
76653 2001-01-17  Jim Meyering  <meyering@lucent.com>
76654
76655         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
76656         for autoconf-2.49c.
76657         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
76658
76659 2001-01-16  Jim Meyering  <meyering@lucent.com>
76660
76661         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
76662         From Bruno Haible.
76663
76664 2001-01-14  Jim Meyering  <meyering@lucent.com>
76665
76666         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
76667         foo and bar.  Create conftestdir/ in the script, not in the C code.
76668         Remove directories in the script, not in the C code.
76669         Remove conftestdir{,2} before trying to create the directory.
76670         Make the entire configure script fail if the mkdir fails.
76671
76672 2001-01-14  Jim Meyering  <meyering@lucent.com>
76673
76674         * lib/rename.c: New file.  From Volker Borchert.
76675         Include stdlib.h, string.h or strings.h, and xalloc.h.
76676         Use strip_trailing_slashes rather than open-coding it.
76677
76678 2001-01-03  Paul Eggert  <eggert@twinsun.com>
76679
76680         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
76681
76682 2001-01-03  Jim Meyering  <meyering@lucent.com>
76683
76684         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
76685         of local `inptr' to avoid warning with some system declarations of
76686         iconv.
76687
76688 2001-01-02  Volker Borchert  <bt@teknon.de>
76689
76690         * m4/rename.m4: New file.
76691         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
76692
76693 2001-01-01  Jim Meyering  <meyering@lucent.com>
76694
76695         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
76696         even on systems with utmpx.h.  It's necessary for the declaration of
76697         utmp's ut_user member.  Reported by Andreas Jaeger.
76698
76699         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
76700         available. They are required for the declarations of getgrgid and
76701         getpwuid resp.
76702         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
76703         Reported by Andreas Jaeger.
76704
76705 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
76706
76707         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
76708         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
76709         so `make install' also works in VPATH builds.
76710
76711 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
76712
76713         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
76714         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
76715         can be used in subdirectories.
76716
76717 2000-12-29  Paul Eggert  <eggert@twinsun.com>
76718
76719         * lib/modechange.c: Do not assume that mode_t uses the
76720         traditional octal encoding.  E.g. "chmod 1 FOO" should set
76721         the other-execute bit of FOO even if S_IXOTH != 1.
76722
76723         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
76724         WOTH, XOTH, ALLM): New macros.
76725         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
76726          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
76727         Use them.
76728         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
76729         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
76730         (mode_compile):
76731         No need to use uintmax_t; unsigned long is long enough.
76732         Don't bother to get suffix since we don't use it.
76733
76734 2000-12-26  Jim Meyering  <meyering@lucent.com>
76735
76736         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
76737         better with autoheader.
76738
76739 2000-12-24  Jim Meyering  <meyering@lucent.com>
76740
76741         * lib/hash.c (is_prime): Return explicit boolean values.
76742         (hash_get_first): Return NULL to appease Irix5.6's 89.
76743         Reported by Nelson Beebe.
76744
76745 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
76746
76747         * lib/localcharset.c (locale_charset): Add support for Win32.
76748
76749 2000-12-18  Paul Eggert  <eggert@twinsun.com>
76750
76751         * lib/physmem.h, lib/physmem.c: New files.
76752
76753         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
76754         (noinst_HEADERS): Add physmem.h.
76755
76756         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
76757         't' for compatibility with Solaris 8 sort.
76758
76759 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
76760
76761         * lib/config.charset: Add support for BeOS.
76762
76763 2000-12-17  Jim Meyering  <meyering@lucent.com>
76764
76765         * m4/dos.m4 (jm_AC_DOS): New file and macro.
76766         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
76767
76768 2000-12-16  Jim Meyering  <meyering@lucent.com>
76769
76770         This bug had a serious impact on chown: `chown N:M FILE' (for integer
76771         N and M) would have treated it like `chown N:N FILE'.
76772
76773         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
76774
76775 2000-12-16  Jim Meyering  <meyering@lucent.com>
76776
76777         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
76778         SHELLS_FILE to a file name that's useful on djgpp systems.
76779         Include stdlib.h.
76780         (ADDITIONAL_DEFAULT_SHELLS): Define.
76781         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
76782         Based mostly on a patch from Prashant TR.
76783
76784 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
76785
76786         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
76787         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
76788         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
76789
76790 2000-12-08  Andreas Schwab  <schwab@suse.de>
76791
76792         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
76793         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
76794
76795 2000-12-07  Jim Meyering  <meyering@lucent.com>
76796
76797         * lib/stripslash.c (ISSLASH): Define.
76798         (strip_trailing_slashes): Use ISSLASH rather than comparing against
76799         `/'.
76800         From Prashant TR.
76801
76802         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
76803         (dir_name_r): Declare this function as static.
76804         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
76805         manifest itself on a name containing a mix of slashes and
76806         backslashes.
76807         Make this function work with names starting with a DOS-style
76808         drive letter and colon prefix.
76809         (dir_name): Append `.' if necessary.
76810         Based mostly on patches from Prashant TR and Eli Zaretskii.
76811
76812         * lib/dirname.h (dir_name_r): Remove prototype.
76813
76814 2000-12-06  Paul Eggert  <eggert@twinsun.com>
76815
76816         * m4/off_t-format.m4: Remove this file.
76817         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
76818
76819 2000-12-06  Jim Meyering  <meyering@lucent.com>
76820
76821         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
76822         replacement strtoull, we may well need the replacement strtoul, too.
76823         Check for declarations of strtoul and strtoull.
76824         Check for strtol.  Mainly as a cue to cause automake to include
76825         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
76826         Check for limits.h -- strtol.c needs it.
76827
76828 2000-12-05  Jim Meyering  <meyering@lucent.com>
76829
76830         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
76831
76832 2000-12-04  Jim Meyering  <meyering@lucent.com>
76833
76834         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
76835         Also include memory.h, stdlib.h, unistd.h if appropriate.
76836         Reported by Andreas Jaeger (conflicting declaration of malloc).
76837
76838 2000-12-02  Jim Meyering  <meyering@lucent.com>
76839
76840         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
76841         * m4/jm-macros.m4 (jm_MACROS): require it.
76842
76843 2000-12-02  Jim Meyering  <meyering@lucent.com>
76844
76845         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
76846
76847 2000-12-01  Paul Eggert  <eggert@twinsun.com>
76848
76849         * lib/memrchr.c: Include <config.h> before any system include file.
76850
76851 2000-11-30  Jim Meyering  <meyering@lucent.com>
76852
76853         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
76854
76855 2000-11-30  Jim Meyering  <meyering@lucent.com>
76856
76857         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
76858
76859 2000-11-29  Paul Eggert  <eggert@twinsun.com>
76860
76861         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
76862
76863 2000-11-26  Jim Meyering  <meyering@lucent.com>
76864
76865         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
76866
76867 2000-11-22  Paul Eggert  <eggert@twinsun.com>
76868
76869         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
76870         size of (size_t) -1; it's not portable.
76871
76872 2000-11-17  Jim Meyering  <meyering@lucent.com>
76873
76874         * lib/strstr.c: Update from GNU libc.
76875
76876 2000-11-17  Akim Demaille  <akim@epita.fr>
76877
76878         * lib/obstack.h: Formatting changes.
76879         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
76880         prevent type checking.
76881         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
76882         cast the value to (void *): assigning a `foo *' to a `void *'
76883         variable is valid.
76884         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
76885
76886 2000-11-16  Jim Meyering  <meyering@lucent.com>
76887
76888         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
76889
76890 2000-11-11  Jim Meyering  <meyering@lucent.com>
76891
76892         * lib/error.c: Add a couple #includes, merging from GNU libc version.
76893
76894 2000-11-10  Jim Meyering  <meyering@lucent.com>
76895
76896         * lib/obstack.h: Update from GNU libc.
76897         * lib/obstack.c: Likewise.
76898
76899 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
76900
76901         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
76902
76903 2000-11-06  Paul Eggert  <eggert@twinsun.com>
76904
76905         * lib/getusershell.c (setusershell): Use rewind rather than
76906         fseek/fseeko, to avoid configuration hassles with fseeko.
76907         Don't bother opening SHELLS_FILE if shellstream is NULL;
76908         it's not necessary.
76909
76910 2000-11-05  Jim Meyering  <meyering@lucent.com>
76911
76912         * lib/makepath.h (make_dir): Declare.
76913         * lib/makepath.c (make_dir): Remove `static' attribute.
76914         Tweak a comment.
76915
76916 2000-11-04  Jim Meyering  <meyering@lucent.com>
76917
76918         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
76919
76920 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
76921
76922         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
76923         last one in a bucket, advance to the next bucket.
76924
76925 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
76926
76927         * lib/fnmatch.c: Do not comment out all the code if we are using
76928         the GNU C library, because in some cases we are replacing buggy
76929         code in the GNU C library itself.
76930
76931 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
76932
76933         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
76934         (regex_compile): Catch bogus \(\1\).
76935
76936 2000-10-30  Paul Eggert  <eggert@twinsun.com>
76937
76938         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
76939         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
76940         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
76941
76942 2000-10-30  Paul Eggert  <eggert@twinsun.com>
76943
76944         * lib/error.h, getline.h, modechange.h:
76945         Remove "2000" from Copyright line, as the file hasn't been
76946         changed this year other than in the copyright notice.
76947
76948         * lib/xalloc.h: Add "2000" to Copyright line, as this file
76949         was changed this year.
76950
76951 2000-10-29  Jim Meyering  <meyering@lucent.com>
76952
76953         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
76954         renaming.
76955         * m4/ls-mntd-fs.m4: Likewise
76956
76957 2000-10-29  Jim Meyering  <meyering@lucent.com>
76958
76959         * lib/xstat.in: Fix grammar in comment.
76960
76961 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
76962
76963         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
76964         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
76965         doesn't define __restrict_arr.
76966
76967 2000-10-28  Jim Meyering  <meyering@lucent.com>
76968
76969         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
76970         (jm_PREREQ_MEMCHR): New function.
76971
76972 2000-10-28  Jim Meyering  <meyering@lucent.com>
76973
76974         * lib/memchr.c: Update from libc.
76975         Adjust for portability:
76976         [HAVE_STDLIB_H]: Include stdlib.h.
76977         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
76978         Undef __memchr, too.
76979         [!weak_alias]: Define __memchr to memchr.
76980
76981         * lib/regex.c: Update from libc.
76982         * lib/regex.h: Likewise.
76983         * lib/getopt1.c: Likewise.
76984         * lib/memcmp.c: Likewise.
76985
76986         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
76987         Avoid using fseek, when possible -- it's broken by design.
76988         Patch by Ulrich Drepper.
76989
76990 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
76991
76992         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
76993         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
76994         Giving in to popular pressure to shut up the compiler with casts.
76995
76996 2000-10-26  Jim Meyering  <meyering@lucent.com>
76997
76998         * lib/strftime.c: Update from libc.
76999
77000 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
77001
77002         * regex.c: More `unsigned char' -> `re_char' changes.
77003         Also change several `int' into `re_wchar_t'.
77004         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
77005         (PUSH_FAILURE_POINTER): Don't cast any more.
77006         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
77007         We want GCC to complain, since this piece of code makes
77008         re_match non-reentrant, which *should* be fixed.
77009         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
77010         (EXTEND_BUFFER): Use RETALLOC.
77011         (SET_LIST_BIT): Don't cast.
77012         (re_wchar_t): New type.
77013         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
77014         that those two functions will always properly return.
77015         (IMMEDIATE_QUIT_CHECK): Cast to void.
77016         (analyse_first): Use recursion rather than an explicit stack.
77017         (re_compile_fastmap): Can't fail anymore.
77018         (re_search_2): Don't check re_compile_fastmap for failure.
77019         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
77020         Now also sets the new value (passed in a new argument).
77021         (re_match_2_internal): Use it.
77022         Also, use a new var `reg' of type size_t when looping through regs
77023         rather than reuse the inappropriate `mcnt'.
77024
77025 2000-10-25  Jim Meyering  <meyering@lucent.com>
77026
77027         * lib/obstack.c: Update from libc.
77028
77029 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
77030
77031         * regex.c (regex_compile): Change the way of handling a range from
77032         a char less than 256 to a char not less than 256.
77033
77034 2000-10-24  Andrew Innes  <andrewi@gnu.org>
77035
77036         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
77037         NT-Emacs only.
77038         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
77039         so that re_search functions only quit when callers expect them to.
77040
77041 2000-10-23  Jim Meyering  <meyering@lucent.com>
77042
77043         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
77044         wrong.  That set_locale call must not have any side effects.
77045         From Paul Eggert.
77046
77047 2000-10-22  Jim Meyering  <meyering@lucent.com>
77048
77049         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
77050         [CYCLIC]: Remove now-unused definition.
77051
77052         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
77053         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
77054         Suggestion from Ulrich Drepper.
77055
77056 2000-10-21  Jim Meyering  <meyering@lucent.com>
77057
77058         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
77059         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
77060         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
77061
77062 2000-10-21  Jim Meyering  <meyering@lucent.com>
77063
77064         * lib/dirname.c (memrchr): Declare if necessary.
77065         (dir_name): Remove the restriction that there be no
77066         trailing slashes.  Now, this code skips past them, effectively
77067         ignoring them.
77068         [TEST_DIRNAME] (main): New unit tests.
77069
77070         * lib/memrchr.c: New file from GNU libc.
77071         Undef __memrchr, too.
77072         [!weak_alias]: Define __memrchr to memrchr.
77073         Guard weak_alias use with `#ifdef weak_alias'.
77074
77075 2000-10-21  Jim Meyering  <meyering@lucent.com>
77076
77077         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
77078         (dir_name): Use dir_name_r.
77079         * lib/dirname.h (dir_name_r): Declare it.
77080
77081 2000-10-17  Jim Meyering  <meyering@lucent.com>
77082
77083         * lib/quote.h (PARAMS): Define and use.
77084         Reported by Akim Demaille.
77085
77086         * lib/getopt.c: Update from libc.
77087
77088 2000-10-16  Jim Meyering  <meyering@lucent.com>
77089
77090         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
77091         setlocale.
77092         From Jan Fedak.
77093
77094 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
77095
77096         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
77097
77098 2000-09-25  Jim Meyering  <meyering@lucent.com>
77099
77100         * lib/md5.h (rol): Define (from GnuPG).
77101
77102         * lib/sha.c: Give credit (GnuPG) where due.
77103         (M): Use rol rather than open-coding it.
77104         Add a FIXME comment.
77105
77106 2000-09-21  Jim Meyering  <meyering@lucent.com>
77107
77108         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
77109         Reported by Michael Stone.
77110
77111 2000-09-20  Jim Meyering  <meyering@lucent.com>
77112
77113         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
77114         (noinst_HEADERS): Add sha.h.
77115         Based on code from Scott G. Miller and from GnuPG.
77116
77117 2000-09-18  Jim Meyering  <meyering@lucent.com>
77118
77119         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
77120         LIBS. Otherwise, everyone ends up linking with -lelf for some
77121         configurations.
77122         Reported by Mike Stone.
77123
77124 2000-09-15  Jim Meyering  <meyering@lucent.com>
77125
77126         * lib/regex.c: Update from libc.
77127
77128 2000-09-10  Jim Meyering  <meyering@lucent.com>
77129
77130         * lib/getopt.c (_getopt_internal): Update from glibc.
77131
77132 2000-09-09  Jim Meyering  <meyering@lucent.com>
77133
77134         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
77135         think it should be used as a general replacement for isascii.
77136         * lib/fnmatch.c: Likewise.
77137         * lib/mbswidth.c: Likewise
77138         * lib/regex.c: Likewise.
77139
77140         Don't use atoi.
77141         * lib/userspec.c: Include sys/param.h and limits.h.
77142         Include xstrtol.h.
77143         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
77144         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
77145         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
77146         UID, GID.  Check range.
77147
77148 2000-09-06  Jim Meyering  <meyering@lucent.com>
77149
77150         * lib/getopt.c (_getopt_internal): Update from glibc.
77151
77152 2000-08-30  Jim Meyering  <meyering@lucent.com>
77153
77154         * lib/strftime.c: Merge in changes from GNU libc.
77155
77156 2000-08-26  Jim Meyering  <meyering@lucent.com>
77157
77158         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
77159         * m4/fpending.m4: New file.
77160
77161 2000-08-26  Jim Meyering  <meyering@lucent.com>
77162
77163         * lib/closeout.c: Include "__fpending.h".
77164         (close_stdout_status): Return right away if there's nothing to flush.
77165
77166         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
77167         * lib/__fpending.c: New file.
77168         * lib/__fpending.h: New file.
77169
77170 2000-08-20  Jim Meyering  <meyering@lucent.com>
77171
77172         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
77173         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
77174         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
77175
77176 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
77177
77178         Improve fileutils installation on systems where running
77179         programs (like install) can't be unlinked.
77180         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
77181         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
77182
77183 2000-08-07  Paul Eggert  <eggert@twinsun.com>
77184
77185         Standardize on "memory exhausted" instead of "Memory exhausted"
77186         or "virtual memory exhausted".
77187         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
77188         "virtual memory exhausted".
77189         * lib/same.c (same_name): Invoke xalloc_die instead of printing
77190         our own message.
77191         * lib/userspec.c (parse_user_spec): Likewise.
77192         * lib/bumpalloc.h: comment fix
77193         * lib/same.c, userspec.c: Include xalloc.h.
77194
77195         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
77196         not char *const and pointing to a constant array.
77197         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
77198         (xrealloc): Comment fix.
77199
77200         * lib/userspec.c (parse_user_spec):
77201         Don't translate a message until just before returning,
77202         to avoid unnecessary translation.
77203
77204 2000-08-07  Jim Meyering  <meyering@lucent.com>
77205
77206         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
77207         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
77208         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
77209         getgroups.c, gethostname.c, getopt.h, group-member.c,
77210         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
77211         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
77212         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
77213         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
77214         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
77215         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
77216         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
77217         yesno.c: Back out Copyright date changes for each file with no change
77218         this year.  This eases coordination with other programs using the same
77219         source code modules.  From Paul Eggert.
77220
77221 2000-08-06  Paul Eggert  <eggert@twinsun.com>
77222
77223         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
77224         not char, for compatibility with glibc 2.1.3 strftime.c.
77225
77226 2000-08-03  Greg McGary  <greg@mcgary.org>
77227
77228         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
77229         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
77230         (EXTEND_BUFFER): Use them.
77231
77232 2000-08-01  Jim Meyering  <meyering@lucent.com>
77233
77234         * lib/dirname.c (ISSLASH): Define.
77235         (BACKSLASH_IS_PATH_SEPARATOR): Define.
77236         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
77237         both `\' and `/' may be use as path separators.
77238         Based on a patch from Prashant TR.
77239
77240 2000-07-31  Paul Eggert  <eggert@twinsun.com>
77241
77242         * lib/quotearg.c (quotearg_n_options): Don't make the initial
77243         slot vector a constant, since it might get modified.
77244
77245 2000-07-31  Jim Meyering  <meyering@lucent.com>
77246
77247         * lib/xmalloc.c: Use `virtual memory exhausted', not
77248         `Memory exhausted'.
77249         * lib/obstack.c (print_and_abort): Likewise.
77250
77251 2000-07-30  Paul Eggert  <eggert@twinsun.com>
77252
77253         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
77254         buffer, so that the caller can always quote one small
77255         component of a "memory exhausted" message in slot 0.
77256         From a suggestion by Jim Meyering.
77257
77258 2000-07-30  Jim Meyering  <meyering@lucent.com>
77259
77260         * lib/makepath.c (make_path): Quote the other instance, too.
77261
77262         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
77263         (STATIC_BUF_SIZE): Define.
77264         (quotearg_n_options): Use only statically allocated storage when
77265         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
77266         than STATIC_BUF_SIZE.
77267
77268 2000-07-29  Jim Meyering  <meyering@lucent.com>
77269
77270         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
77271         * lib/dirname.c (dir_name): Likewise.
77272
77273         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
77274         `/'.
77275
77276         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
77277         (dir_name): Assert that there are no trailing slashes.
77278
77279 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
77280
77281         * lib/mbswidth.h (mbswidth): Add a flags argument.
77282         (mbswidth): New declaration.
77283         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
77284         * lib/mbswidth.c (mbswidth): Add a flags argument.
77285         (mbsnwidth): New function.
77286
77287 2000-07-24  Jim Meyering  <meyering@lucent.com>
77288
77289         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
77290
77291 2000-07-23  Paul Eggert  <eggert@twinsun.com>
77292
77293         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
77294
77295 2000-07-23  Paul Eggert  <eggert@twinsun.com>
77296
77297         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
77298         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
77299         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
77300         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
77301         invoke multibyte primitives.
77302
77303 2000-07-23  Paul Eggert  <eggert@twinsun.com>
77304
77305         * lib/quotearg.c:
77306         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
77307         so that mbstate_t is always defined.
77308
77309         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
77310         be 1 in at least one GCC installation, and this configuration
77311         error is likely to be common.  Ignoring MB_LEN_MAX hurts
77312         performance on hosts that have mbrtowc but have only unibyte
77313         locales, but I assume these hosts are rare.
77314
77315 2000-07-23  Paul Eggert  <eggert@twinsun.com>
77316
77317         * lib/mbswidth.c (_XOPEN_SOURCE):
77318         Don't define; this causes problems on Solaris 7.
77319         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
77320
77321 2000-07-23  Jim Meyering  <meyering@lucent.com>
77322
77323         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
77324         too: getgrgid, getpwuid, getuid.
77325
77326 2000-07-23  Jim Meyering  <meyering@lucent.com>
77327
77328         * lib/basename.c (base_name): Add an assertion.
77329
77330 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
77331
77332         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
77333         shadow its mbsinit function.
77334
77335 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
77336
77337         * lib/mbswidth.h: New file.
77338         * lib/mbswidth.c: New file.
77339         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
77340         (noinst_HEADERS): Add mbswidth.h.
77341
77342 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
77343
77344         * lib/config.charset: Add support for FreeBSD. Improve support for
77345         HP-UX and IRIX 6.
77346
77347 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
77348
77349         * m4/mbswidth.m4: New file.
77350         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
77351
77352 2000-07-15  Jim Meyering  <meyering@lucent.com>
77353
77354         * lib/makepath.c: Include quote.h.
77355         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
77356         corresponding argument in a `quote (...)' call.
77357         Give better diagnostics.
77358
77359         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
77360         (noinst_HEADERS): Add quote.h.
77361
77362         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
77363         from tar's src/misc.c.
77364         * lib/quote.h: New file.  Prototypes for same.
77365
77366 2000-07-14  Paul Eggert  <eggert@twinsun.com>
77367
77368         From a suggestion by Bruno Haible.
77369         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
77370         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
77371         to decide whether to define the BeOS workaround macro;
77372         this adjusts to the change to AC_MBSTATE_T.
77373
77374 2000-07-14  Jim Meyering  <meyering@lucent.com>
77375
77376         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
77377         jm_AC_TYPE_UINTMAX_T.
77378
77379 2000-07-13  Paul Eggert  <eggert@twinsun.com>
77380
77381         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
77382
77383         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
77384         quotearg_buffer_restyled): Add support for
77385         clocale_quoting_style.  Undo previous change to
77386         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
77387         and "{RIGHT QUOTATION MARK}" msgids.
77388
77389 2000-07-10  Paul Eggert  <eggert@twinsun.com>
77390
77391         From a suggestion by Bruno Haible.
77392         * m4/mbstate_t.m4 (AC_MBSTATE_T):
77393         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
77394         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
77395         and mbstate_t, to a single-part test that simply defines mbstate_t.
77396         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
77397         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
77398
77399 2000-07-10  Jim Meyering  <meyering@lucent.com>
77400
77401         * m4/strerror_r.m4: Mirror the correction made in autoconf.
77402
77403         * m4/gnu-source.m4: Output to confdefs.h directly.
77404         Suggestion from Akim Demaille.
77405
77406 2000-07-09  Paul Eggert  <eggert@twinsun.com>
77407
77408         The old behavior of quoting `like this' doesn't look good with
77409         newer, ISO-style fonts.  See:
77410         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
77411
77412         Instead, quote "like this" by default.  Let the translator
77413         tailor the locale-specific quoting behavior by providing
77414         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
77415
77416         * lib/quotearg.c (N_): New macro.
77417         (gettext_default): New function.
77418         (quotearg_buffer_restyled): Use
77419         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
77420         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
77421
77422 2000-07-09  Jim Meyering  <meyering@lucent.com>
77423
77424         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
77425         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
77426
77427         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
77428         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
77429
77430 2000-07-09  Jim Meyering  <meyering@lucent.com>
77431
77432         * lib/Most files: Update copyright dates to include 2000.
77433
77434 2000-07-08  Jim Meyering  <meyering@lucent.com>
77435
77436         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
77437         if not defined.
77438         (xgethostname): Remove now-unnecessary #ifdef.
77439         Move declaration of `err' into loop where it's used.
77440
77441 2000-07-05  Paul Eggert  <eggert@twinsun.com>
77442         and Bruno Haible  <haible@clisp.cons.org>
77443
77444         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
77445         only if the test for an object-type mbstate_t fails.  This
77446         prevents us from mistakenly reporting that mbstate_t is a
77447         system object type after we "#define mbstate_t int" to work
77448         around its lack.
77449
77450 2000-07-05  Paul Eggert  <eggert@twinsun.com>
77451         and Bruno Haible  <haible@clisp.cons.org>
77452
77453         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
77454
77455 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
77456
77457         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
77458         to strerror_r.
77459         Include <ctype.h> for use of isalpha.
77460
77461 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
77462
77463         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
77464         by allocating a larger buffer. Test the gethostname return value for
77465         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
77466         returns an error and ENAMETOOLONG isn't defined.
77467
77468 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
77469
77470         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
77471         dimension.
77472
77473 2000-07-04  Jim Meyering  <meyering@lucent.com>
77474
77475         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
77476         of the deprecated AC_CHECKING.
77477
77478 2000-07-04  Jim Meyering  <meyering@lucent.com>
77479
77480         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
77481         Reported by Bruno Haible.
77482
77483 2000-07-04  Jim Meyering  <meyering@lucent.com>
77484
77485         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
77486         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
77487         lacks mbrtowc.
77488
77489 2000-07-03  Paul Eggert  <eggert@twinsun.com>
77490
77491         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
77492         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
77493
77494 2000-07-03  Paul Eggert  <eggert@twinsun.com>
77495         and Bruno Haible  <haible@clisp.cons.org>
77496
77497         * lib/quotearg.c (mbrtowc):
77498         Assign to *pwc, and return 1 only if result is nonzero.
77499         (iswprint): Use ISPRINT when substituting our own mbrtowc.
77500
77501 2000-07-03  Jim Meyering  <meyering@lucent.com>
77502
77503         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
77504
77505 2000-07-03  Jim Meyering  <meyering@lucent.com>
77506
77507         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
77508         This is necessary to get a definition of e.g., UTMP_FILE on
77509         HP-UX 10.20.
77510         From Bob Proulx.
77511
77512 2000-07-02  Jim Meyering  <meyering@lucent.com>
77513
77514         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
77515
77516         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
77517         AC_LIBOBJ(function_name).
77518         * m4/chown.m4: Likewise.
77519         * m4/fnmatch.m4: Likewise.
77520         * m4/ftruncate.m4: Likewise.
77521         * m4/getgroups.m4: Likewise.
77522         * m4/getline.m4: Likewise.
77523         * m4/group-member.m4: Likewise.
77524         * m4/jm-macros.m4: Likewise.
77525         * m4/lstat.m4: Likewise.
77526         * m4/malloc.m4: Likewise.
77527         * m4/memcmp.m4: Likewise.
77528         * m4/nanosleep.m4: Likewise.
77529         * m4/putenv.m4: Likewise.
77530         * m4/realloc.m4: Likewise.
77531         * m4/regex.m4: Likewise.
77532         * m4/stat.m4: Likewise.
77533         * m4/strftime.m4: Likewise.
77534
77535 2000-07-02  Jim Meyering  <meyering@lucent.com>
77536
77537         * lib/quotearg.c (mbstate_t): Don't define here.
77538
77539 2000-07-02  Jim Meyering  <meyering@lucent.com>
77540
77541         * lib/nanosleep.c (SIGCONT): Define if not already defined.
77542
77543 2000-07-01  Jim Meyering  <meyering@lucent.com>
77544
77545         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
77546
77547 2000-07-01  Jim Meyering  <meyering@lucent.com>
77548
77549         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
77550         problem.
77551
77552 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
77553
77554         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
77555         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
77556
77557 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
77558
77559         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
77560         per change in ../m4/ls-mntd-fs.m4.
77561         (read_filesystem_list): Ignore symbolic links.
77562
77563 2000-06-29  Jim Meyering  <meyering@lucent.com>
77564
77565         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
77566         for declaration of strcmp.
77567
77568         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
77569
77570         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
77571         Avoid warning by casting result to `char *' to remove `const'.
77572
77573 2000-06-28  Jim Meyering  <meyering@lucent.com>
77574
77575         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
77576         included by quotearg.c, for which we perform this test.  From
77577         Bruno Haible.
77578
77579 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
77580
77581         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
77582         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
77583         <utmpx.h> exists, put readutmp.o into LIBOBJS.
77584
77585 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
77586
77587         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
77588
77589 2000-06-26  Paul Eggert  <eggert@twinsun.com>
77590
77591         savedir now sets errno on failure and invokes xmalloc to get memory.
77592         Fix a couple of other minor bugs while we're at it.
77593
77594         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
77595         (NAMLEN): Remove macro.
77596         (malloc, realloc): Remove decls.
77597         (stpcpy): Likewise.
77598         ("xalloc.h"): Include.
77599         (NAME_SIZE_DEFAULT): New macro.
77600         (savedir): Use xmalloc / xrealloc to allocate memory.
77601         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
77602         Skip "" directory entries.
77603         Use strlen to calculate directory entry length, since the old method
77604         is rarely used these days and isn't worth supporting.
77605         Don't use a pointer after freeing it.
77606         Check for integer overflow when calculating allocation size.
77607         Use memcpy to copy entries, instead of stpcpy.
77608         Set errno properly when returning NULL.
77609         Check for readdir error.
77610
77611 2000-06-26  Jim Meyering  <meyering@lucent.com>
77612
77613         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
77614
77615 2000-06-25  Jim Meyering  <meyering@lucent.com>
77616
77617         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
77618         Linux header bug when _XOPEN_SOURCE is defined to 500.
77619
77620 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
77621
77622         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
77623         deficiency.
77624
77625 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
77626
77627         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
77628         Include xalloc.h.
77629         Don't include <stdlib.h>.  Don't declare malloc, realloc.
77630
77631 2000-06-24  Jim Meyering  <meyering@lucent.com>
77632
77633         * m4/strerror_r.m4: Revive this file -- to try out an experimental
77634         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
77635         for which strerror does return char*, but which lacks a conveniently
77636         accessible declaration of the function.  If the compile-test says
77637         strerror_r doesn't work, then resort to a `run'-test that works on
77638         BeOS and segfaults on DEC Unix.
77639
77640 2000-06-24  Jim Meyering  <meyering@lucent.com>
77641
77642         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
77643
77644 2000-06-23  Paul Eggert  <eggert@twinsun.com>
77645
77646         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
77647         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
77648
77649 2000-06-23  Paul Eggert  <eggert@twinsun.com>
77650
77651         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
77652         (mbrtowc, mbstate_t): Define substitutes if
77653         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
77654         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
77655         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
77656
77657 2000-06-23  Jim Meyering  <meyering@lucent.com>
77658
77659         * m4/afs.m4: Add missing AC_MSG_RESULT.
77660         Reported by Bruno Haible.
77661
77662         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
77663         Suggestion from Bruno Haible.
77664
77665 2000-06-23  Jim Meyering  <meyering@lucent.com>
77666
77667         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
77668
77669 2000-06-21  Jim Meyering  <meyering@lucent.com>
77670
77671         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
77672
77673 2000-06-21  Jim Meyering  <meyering@lucent.com>
77674
77675         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
77676         (noinst_HEADERS): Add getstr.h.
77677
77678         * lib/getline.c (getstr): Move into a separate file.
77679         * lib/getstr.c (getstr): New file, extracted from getline.c, with
77680         the following changes: new parameter, delim2; both delim[12]
77681         parameters have type `int', not `char'.  The latter would lose
77682         with 8-bit delimiters.
77683         * lib/getstr.h: New file.
77684
77685 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
77686
77687         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
77688         than 1024, return a memory chunk of least possible size, instead
77689         of size PATH_MAX + 2. In the loop, increment the size proportionally.
77690         Use free/xmalloc instead of xrealloc to avoid copying for very long
77691         paths.
77692
77693 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
77694
77695         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
77696         the empty string.
77697
77698 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
77699
77700         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
77701         address, not strdup.  Include <stdlib.h> and don't declare free().
77702
77703 2000-06-19  Jim Meyering  <meyering@lucent.com>
77704
77705         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
77706
77707 2000-06-18  Jim Meyering  <meyering@lucent.com>
77708
77709         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
77710
77711         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
77712         `checking whether...' message to be consistent with that of the
77713         lstat test.
77714
77715 2000-06-18  Jim Meyering  <meyering@lucent.com>
77716
77717         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
77718         Besides, these days every porting target provides a mkdir function.
77719
77720         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
77721         needed. (this snippet comes from src/system.h).
77722
77723 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
77724
77725         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
77726
77727 2000-06-15  Paul Eggert  <eggert@twinsun.com>
77728
77729         * lib/human.c (adjust_value): New function.
77730         (human_readable_inexact): Apply rounding style even when
77731         printing approximate values.
77732
77733 2000-06-14  Paul Eggert  <eggert@twinsun.com>
77734
77735         * lib/human.c (human_readable_inexact): Allow an input block
77736         size that is not a multiple of the output block size, and vice versa.
77737         Reported by Piergiorgio Sartor.
77738
77739 2000-06-14  Paul Eggert  <eggert@twinsun.com>
77740
77741         * lib/getdate.y (get_date): Apply relative times after time
77742         zone indicator, not before.  Reported by Todd A. Jacobs.
77743
77744 2000-06-13  Jim Meyering  <meyering@lucent.com>
77745
77746         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
77747
77748         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
77749
77750 2000-06-12  Paul Eggert  <eggert@twinsun.com>
77751
77752         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
77753
77754 2000-06-12  Jim Meyering  <meyering@lucent.com>
77755
77756         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
77757         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
77758         optional argument.
77759         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
77760         the optional argument, `lib'.
77761
77762 2000-06-08  Jim Meyering  <meyering@lucent.com>
77763
77764         * m4/largefile.m4: Remove file (now that it's part of autoconf).
77765
77766 2000-06-04  Paul Eggert  <eggert@twinsun.com>
77767
77768         Rewrite largefile configuration so that we don't need to run
77769         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
77770         AC_CANONICAL_HOST in configure.in -- jmm]
77771
77772         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
77773         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
77774         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
77775         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
77776         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
77777         All uses changed.
77778         Instead of inspecting the output of getconf, try to compile the
77779         test program without and with the macro definition.
77780         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
77781         for getconf.  Instead, check for the needed flags by compiling
77782         test programs.
77783
77784 2000-06-04  Paul Eggert  <eggert@twinsun.com>
77785
77786         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
77787
77788 2000-06-04  Jim Meyering  <meyering@lucent.com>
77789
77790         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
77791         SunOS 4.1.4 for which gid_t is an unsigned type.
77792
77793 2000-06-03  Jim Meyering  <meyering@lucent.com>
77794
77795         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
77796         now that autoconf requires that.
77797
77798         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
77799         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
77800         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
77801
77802 2000-06-03  Jim Meyering  <meyering@lucent.com>
77803
77804         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
77805
77806 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
77807
77808         * m4/glibc21.m4: New file.
77809         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
77810
77811 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
77812
77813         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
77814         newer, don't install charset.alias.
77815         * lib/config.charset: Change the Linux/glibc rules so they become empty
77816         on glibc-2.1 or newer.
77817
77818 2000-06-02  Jim Meyering  <meyering@lucent.com>
77819
77820         * lib/mountlist.c: Back out last change.  Instead, do this...
77821         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
77822         me_dummy member using the same `ignore'-testing code.
77823         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
77824         fs_type strings.
77825         From Mark D. Roth.
77826
77827 2000-05-29  Jim Meyering  <meyering@lucent.com>
77828
77829         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
77830         mounts with the `ignore' attribute.  Based on a patch from
77831         Mark D. Roth.
77832
77833 2000-05-28  Jim Meyering  <meyering@lucent.com>
77834
77835         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
77836         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
77837         * m4/stat.m4: Likewise.
77838         * m4/lstat.m4: Likewise.
77839         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
77840
77841         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
77842         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
77843
77844 2000-05-26  Jim Meyering  <meyering@lucent.com>
77845
77846         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
77847
77848 2000-05-24  Jim Meyering  <meyering@lucent.com>
77849
77850         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
77851         autoconf requires that.
77852         * m4/lib-check.m4: Likewise.
77853         * m4/jm-macros.m4: Likewise.
77854         * m4/strftime.m4: Likewise.
77855
77856         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
77857         AC_CHECK_DECLS, now that autoconf requires that.
77858
77859 2000-05-22  Jim Meyering  <meyering@lucent.com>
77860
77861         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
77862         * m4/lstat.m4: Likewise.
77863
77864 2000-05-22  Jim Meyering  <meyering@lucent.com>
77865
77866         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
77867
77868 2000-05-20  Jim Meyering  <meyering@lucent.com>
77869
77870         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
77871         (jm_PREREQ): Use it.
77872
77873 2000-05-18  Jim Meyering  <meyering@lucent.com>
77874
77875         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
77876         back, too, since it may have been modified by allocate_entry.
77877         (hash_delete): Rewrite to use neither the assignment operator
77878         nor the comma operator in an if-expression.
77879
77880 2000-05-15  Paul Eggert  <eggert@twinsun.com>
77881
77882         * lib/closeout.c:
77883         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
77884         Remove; no longer needed.
77885         "quotearg.h": Add include.
77886         (file_name): Do not bother to explicitly initialize to NULL; it's less
77887         efficient on some hosts.
77888         (close_stdout_status): Remove test as to whether stdout was already
77889         closed; it breaks for the case "echo x | sort >&-".
77890         Quote file name colons.
77891         Do not assume that _("write error") lacks format strings.
77892
77893 2000-05-15  Jim Meyering  <meyering@lucent.com>
77894
77895         * lib/version-etc.c (version_etc_copyright): Update the copyright
77896         string used in all --version output.
77897
77898 2000-05-14  Jim Meyering  <meyering@lucent.com>
77899
77900         * lib/closeout.c (close_stdout_set_file_name): New function.
77901         (close_stdout_status): Use new file-scoped global.
77902         Return right away if fstat says the stdout file descriptor is invalid.
77903         * lib/closeout.h (close_stdout_set_file_name): Declare.
77904
77905 2000-05-10  Jim Meyering  <meyering@lucent.com>
77906
77907         * lib/closeout.c [default_exit_status]: New file-scoped variable.
77908         (close_stdout_set_status): New function.
77909         * lib/closeout.h (close_stdout_set_status): Declare.
77910
77911 2000-05-09  Jim Meyering  <meyering@lucent.com>
77912
77913         * m4/gettext.m4: Rename this...
77914         * m4/libintl.m4: ...to this.
77915
77916 2000-05-08  Jim Meyering  <meyering@lucent.com>
77917
77918         * lib/long-options.c: Don't include closeout.h.
77919         (parse_long_options): Don't call close_stdout for --version.
77920
77921 2000-05-06  Paul Eggert  <eggert@twinsun.com>
77922
77923         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
77924         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
77925         2.1.3 bug.  This avoids a clash when files like regex.c define
77926         _GNU_SOURCE.
77927
77928 2000-05-06  Jim Meyering  <meyering@lucent.com>
77929
77930         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
77931         (AC_REPLACE_FUNCS): Add strnlen.
77932
77933         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
77934         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
77935
77936         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
77937         AC_SEARCH_LIBS call for nanosleep.
77938         (LIB_NANOSLEEP): Set and AC_SUBST.
77939
77940 2000-05-06  Jim Meyering  <meyering@lucent.com>
77941
77942         * lib/strnlen.c: Undefine __strnlen and strnlen.
77943         [!weak_alias]: Define __strnlen to strnlen.
77944
77945         * lib/atexit.c: New file, from libiberty.
77946
77947 2000-05-06  Jim Meyering  <meyering@lucent.com>
77948
77949         * lib/closeout.c (close_stdout_status): Also check for errors on the
77950         stderr stream.
77951
77952 2000-05-05  Jim Meyering  <meyering@lucent.com>
77953
77954         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
77955         AC_SEARCH_LIBS call for clock_gettime.
77956         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
77957
77958         * m4/search-libs.m4: Update from autoconf.
77959
77960         su doesn't work on Solaris 2.6.
77961         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
77962         <shadow.h>.  Reported by Dragos Harabor.
77963
77964 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
77965
77966         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
77967         memcpy instead of xmalloc, xrealloc, path_concat.
77968         (locale_charset): Treat empty environment variables as absent.
77969         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
77970
77971 2000-05-04  Jim Meyering  <meyering@lucent.com>
77972
77973         * lib/getopt.c: Update from glibc.
77974         * lib/obstack.c: Likewise.
77975         * lib/obstack.h: Likewise.
77976         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
77977         file
77978
77979         * lib/regex.h: Likewise.
77980         * lib/strndup.c: Likewise.
77981         * lib/strnlen.c: New file, from glibc.
77982
77983 2000-05-03  Jim Meyering  <meyering@lucent.com>
77984
77985         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
77986
77987 2000-05-02  Paul Eggert  <eggert@twinsun.com>
77988
77989         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
77990         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
77991         compile-time test, rather than inspecting host and OS, to
77992         decide whether to define _LARGEFILE_SOURCE.
77993
77994 2000-05-01  Jim Meyering  <meyering@lucent.com>
77995
77996         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
77997
77998         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
77999         Based on a patch from Bruno Haible.
78000
78001 2000-05-01  Jim Meyering  <meyering@lucent.com>
78002
78003         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
78004
78005 2000-04-29  Jim Meyering  <meyering@lucent.com>
78006
78007         * lib/path-concat.c: Declare strdup only if it's not defined.
78008         * lib/canon-host.c: Likewise.
78009
78010 2000-04-28  Jim Meyering  <meyering@lucent.com>
78011
78012         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
78013         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
78014         is included first, then limits.h is included by locale.h by libintl.h.
78015         From John David Anglin.
78016
78017 2000-04-25  Jim Meyering  <meyering@lucent.com>
78018
78019         * lib/makepath.c (S_IRWXUGO): Define.
78020         (make_path): Always perform explicit chmod if MODE specifies any
78021         of the `special' permission bits.  Prompted by a bug report against
78022         install from Mate Wierdl and Joost van Baal.
78023
78024 2000-04-18  Jim Meyering  <meyering@lucent.com>
78025
78026         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
78027         (jm_PREREQ): Use it.
78028
78029 2000-04-18  Jim Meyering  <meyering@lucent.com>
78030
78031         * lib/README: New file.
78032
78033         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
78034         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
78035
78036 2000-04-17  Jim Meyering  <meyering@lucent.com>
78037
78038         Get it right :-)
78039         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
78040         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
78041         Suggestion from Akim Demaille.
78042
78043 2000-04-17  Jim Meyering  <meyering@lucent.com>
78044
78045         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
78046         the definition of it to rpl_strftime also defined-away the system's
78047         declaration.
78048
78049 2000-04-15  Jim Meyering  <meyering@lucent.com>
78050
78051         Use `C' to denote so-called `contiguous' files, the same way
78052         that tar does.
78053         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
78054         (ftypelet): Use S_ISCTG.
78055         From Michael Deutschmann.
78056
78057 2000-04-14  Jim Meyering  <meyering@lucent.com>
78058
78059         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
78060         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
78061         clobbered.
78062
78063 2000-04-14  Jim Meyering  <meyering@lucent.com>
78064
78065         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
78066
78067 2000-04-13  Jim Meyering  <meyering@lucent.com>
78068
78069         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
78070         AH_VERBATIM to insert required #ifndef into config.h.in.
78071         Suggestion from Akim Demaille.
78072
78073 2000-04-12  Jim Meyering  <meyering@lucent.com>
78074
78075         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
78076         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
78077         Christian Krackowizer.
78078
78079         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
78080         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
78081         (AC_SYS_LARGEFILE): Require.
78082         (AM_C_PROTOTYPES): Require.
78083
78084 2000-04-08  Jim Meyering  <meyering@lucent.com>
78085
78086         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
78087         names don't conflict.  Reported by Eli Zaretskii.
78088
78089 2000-04-07  Jim Meyering  <meyering@lucent.com>
78090
78091         * lib/putenv.c: Move inclusion of errno.h so it follows that of
78092         sys/types.h, to work around system header problems on AIX 3.2.5.
78093         From Bruno Haible.
78094
78095 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
78096
78097         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
78098         bug.  Deal with the different error behavior of Irix iconv.
78099
78100 2000-04-05  Paul Eggert  <eggert@twinsun.com>
78101
78102         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
78103         IRIX if the installer said otherwise.
78104
78105 2000-04-05  Jim Meyering  <meyering@lucent.com>
78106
78107         Portability tweaks required for ultrix4.3.
78108         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
78109         (jm_CHECK_DECLS): Add getutent to the list of functions.
78110         (_jm_DECL_HEADERS): Add utmpx.h.
78111         From John David Anglin.
78112
78113         * m4/strftime.m4: Back out the 2000-04-02 change.
78114         Instead of that change, simply undefine putenv in the test program.
78115
78116 2000-04-05  Jim Meyering  <meyering@lucent.com>
78117
78118         Portability tweaks required for ultrix4.3.
78119         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
78120         getutent.
78121         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
78122         * lib/canon-host.c: Declare strdup.
78123         * lib/path-concat.c: Likewise.
78124         From John David Anglin.
78125
78126 2000-04-04  Jim Meyering  <meyering@lucent.com>
78127
78128         Be more DOS 8.3-friendly.
78129         * lib/ref-add.sin: Renamed from ref-add.sed.in.
78130         * lib/ref-del.sin: Renamed from ref-del.sed.in.
78131         * lib/Makefile.am: Reflect renaming.
78132         Reported by Eli Zaretskii.
78133
78134         Use a temporary file name that won't clash with `charset.alias'
78135         in the DOS 8.3 name space.
78136         * lib/Makefile.am (charset_tmp): Define.
78137         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
78138         (uninstall-local): Likewise.
78139         Reported by Eli Zaretskii.
78140
78141 2000-04-03  Jim Meyering  <meyering@lucent.com>
78142
78143         * m4/gettext.m4: Fix typo in comment.
78144
78145         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
78146         textutils/configure.in).  Suggestion from Paul Eggert.
78147         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
78148
78149 2000-04-02  Paul Eggert  <eggert@twinsun.com>
78150
78151         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
78152         variable in the shell rather than using putenv, which isn't
78153         portable.  This avoids the configure-time inter-test dependency
78154         on the potentially-renamed putenv function.
78155
78156 2000-03-30  Paul Eggert  <eggert@twinsun.com>
78157
78158         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
78159         before checking struct stat.st_blksize, so that
78160         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
78161
78162 2000-03-29  Paul Eggert  <eggert@twinsun.com>
78163
78164         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
78165         since strftime.c uses HAVE_STRFTIME to decide whether to use
78166         the underlying strftime.
78167
78168 2000-03-29  Paul Eggert  <eggert@twinsun.com>
78169
78170         * lib/time/strftime.c (my_strftime): Make sure we call the system
78171         strftime, not ourselves, when invoking the underlying strftime.
78172
78173 2000-03-24  Jim Meyering  <meyering@lucent.com>
78174
78175         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
78176         (charset_alias): Define.
78177         (install-exec-local): Factor out common code.
78178         (uninstall-local): Split lines longer than 80.
78179         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
78180         (SUFFIXES): Define.
78181         (.sed.in.sed): New rule.  Don't redirect directly to $@.
78182         (CLEANFILES): Add ref-add.sed and ref-del.sed.
78183
78184 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
78185
78186         * lib/config.charset: Output a line containing "Packages using this
78187         file".
78188         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
78189         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
78190         ref-del.sed): New rules.
78191
78192 2000-03-17  Jim Meyering  <meyering@lucent.com>
78193
78194         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
78195         Otherwise, include <strings.h>
78196
78197 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
78198
78199         * lib/unicodeio.c (utf8_wctomb): New function.
78200         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
78201         format instead of in UCS-4 with platform dependent endianness.
78202
78203 2000-03-10  Jim Meyering  <meyering@lucent.com>
78204
78205         * m4/lib-check.m4: Look for getspnam in -lgen, too.
78206         From Marco Franzen.
78207
78208 2000-03-07  Paul Eggert  <eggert@twinsun.com>
78209
78210         * lib/savedir.c (savedir): Work even if directory size is
78211         negative; this can happen with some screwy NFS configurations.
78212
78213 2000-03-06  Jim Meyering  <meyering@lucent.com>
78214
78215         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
78216         if it's NULL (because we ran out of memory).  From Bruno Haible.
78217
78218 2000-03-05  Jim Meyering  <meyering@lucent.com>
78219
78220         * lib/localcharset.c ("path-concat.h"): Include.
78221         (get_charset_aliases): Use path_concat instead of ANSI string
78222         concatenation.
78223
78224         * lib/unicodeio.h (PARAMS): Define.
78225         Use it to guard prototype.
78226
78227 2000-03-04  Jim Meyering  <meyering@lucent.com>
78228
78229         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
78230         for lib/localcharset.c.
78231
78232 2000-03-04  Jim Meyering  <meyering@lucent.com>
78233
78234         * lib/Makefile.am (install-exec-local): Create $(libdir) before
78235         installing into it.
78236         (uninstall-local): Uncomment this rule so `make distcheck' works
78237         once again.
78238
78239         * lib/unicodeio.c (<errno.h>): Include it.
78240         (errno): Declare if not defined.
78241
78242         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
78243
78244         * lib/config.charset: New version, incorporating remarks from a linux
78245         i18n mailing list.  From Bruno Haible.
78246
78247 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
78248
78249         * m4/codeset.m4: New file.
78250         * m4/iconv.m4: New file.
78251         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
78252
78253 2000-03-03  Jim Meyering  <meyering@lucent.com>
78254
78255         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
78256
78257 2000-03-02  Jim Meyering  <meyering@lucent.com>
78258
78259         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
78260         the messages come out on separate lines.
78261
78262         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
78263         rather than jm_CHECK_DECLARATIONS.
78264         * m4/decl.m4: Remove now-unused file.
78265
78266         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
78267         geteuid.
78268
78269 2000-03-02  Jim Meyering  <meyering@lucent.com>
78270
78271         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
78272
78273 2000-03-01  Jim Meyering  <meyering@lucent.com>
78274
78275         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
78276         * lib/unicodeio.c: Likewise.
78277
78278 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
78279
78280         * lib/config.charset: New file.
78281         * lib/localcharset.c: New file.
78282         * lib/unicodeio.h, lib/unicodeio.c: New files.
78283         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
78284         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
78285         (noinst_HEADERS): Add unicodeio.h.
78286         (all-local, install-exec-local, charset.alias): New targets.
78287
78288 2000-02-28  Paul Eggert  <eggert@twinsun.com>
78289
78290         * lib/quotearg.c (ALERT_CHAR): New macro.
78291         (quotearg_buffer_restyled): Use it.
78292
78293 2000-02-27  Jim Meyering  <meyering@lucent.com>
78294
78295         * m4/check-decl.m4: Add getenv to the list.
78296
78297 2000-02-27  Jim Meyering  <meyering@lucent.com>
78298
78299         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
78300         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
78301
78302         * lib/backupfile.c: Guard inclusion of stdlib.h with
78303         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
78304         Declare malloc if needed.
78305
78306         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
78307         `#ifndef HAVE_DECL..'
78308         now that autoconf always defines the HAVE_DECL_ symbols.
78309         * lib/human.c: Likewise.
78310         * lib/same.c: Likewise.
78311         * lib/strtoumax.c: Likewise.
78312
78313         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
78314         declaration check was not run.
78315         * lib/hash.c: Likewise.
78316         * lib/human.c: Likewise.
78317         * lib/same.c: Likewise.
78318         * lib/strtoumax.c: Likewise.
78319
78320         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
78321         `.', then first look up the entire `.'-containing string as a login
78322         name.
78323
78324 2000-02-23  Jim Meyering  <meyering@lucent.com>
78325
78326         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
78327         in place of my hack.
78328
78329 2000-02-18  Paul Eggert  <eggert@twinsun.com>
78330
78331         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
78332         (textint): New typedef.
78333         (parser_control): Member year changed from int to textint.
78334         All uses changed.
78335         (YYSTYPE): Removed; replaced by %union with int and textint members.
78336         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
78337         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
78338         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
78339         (tSNUMBER, tUNUMBER): Now of type <textintval>.
78340         (date, number, to_year): Use width of number in digits, not its value,
78341         to determine whether it's a 2-digit year, or a 2-digit time.
78342         (yylex): Store number of digits of numeric tokens.
78343         Reported by John Kendall.
78344
78345         (parser_control): Changed from struct parser_control to typedef (for
78346         consistency).  All uses changed.
78347
78348         (tID): Removed; not used.
78349         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
78350
78351 2000-02-14  Paul Eggert  <eggert@twinsun.com>
78352
78353         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
78354         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
78355
78356 2000-02-12  Jim Meyering  <meyering@lucent.com>
78357
78358         * lib/userspec.c (ISDIGIT): Define it.
78359         (isdigit): Remove definition.
78360         (is_number): Use ISDIGIT, not isdigit.
78361         <libintl.h>: Include.
78362         (_ and N_): Define.
78363         (parse_user_spec): Mark translatable strings.
78364
78365 2000-02-10  Jim Meyering  <meyering@lucent.com>
78366
78367         With these changes, nanosleep.[ch] are finally enough like the other
78368         lib/* replacement files to compile on a few more losing systems.
78369
78370         * lib/nanosleep.h: Don't include config.h.
78371         Remove prototype from declaration of nanosleep.
78372         (PARAMS): Remove now-unneeded definition.
78373         * lib/nanosleep.c: #undef nanosleep.
78374         (rpl_nanosleep): Rename from nanosleep.
78375
78376 2000-02-10  Jim Meyering  <meyering@lucent.com>
78377
78378         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
78379         gnu_nanosleep to rpl_nanosleep.
78380
78381 2000-02-09  Jim Meyering  <meyering@lucent.com>
78382
78383         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
78384         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
78385
78386 2000-02-08  Akim Demaille  <akim@epita.fr>
78387
78388         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
78389         `[' and `]' and remove uses of `changequote'.
78390         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
78391         (AC_SYS_LARGEFILE): Likewise.
78392         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
78393         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
78394         of changequote.
78395         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
78396         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
78397         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
78398         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
78399
78400 2000-02-05  Jim Meyering  <meyering@lucent.com>
78401
78402         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
78403         Remove explicit use of AC_HEADER_TIME.  It is required by
78404         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
78405         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
78406         in autoconf whereby the expansion of the latter ended up preceding
78407         the expansion of its prerequisite, AC_HEADER_TIME.
78408         Reported by Volker Borchert.
78409
78410 2000-02-03  Jim Meyering  <meyering@lucent.com>
78411
78412         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
78413
78414 2000-02-03  Jim Meyering  <meyering@lucent.com>
78415
78416         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
78417         rather than with `#if HAVE_UTMPNAME'.
78418
78419 2000-02-02  Jim Meyering  <meyering@lucent.com>
78420
78421         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
78422         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
78423         Reported by Eli Zaretskii.
78424
78425 2000-02-01  Jim Meyering  <meyering@lucent.com>
78426
78427         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
78428
78429 2000-01-31  Jim Meyering  <meyering@lucent.com>
78430
78431         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
78432         functions.  Add the time.h and sys/time.h headers along with the
78433         AC_REQUIRE'ment of AC_HEADER_TIME.
78434
78435 2000-01-31  Jim Meyering  <meyering@lucent.com>
78436
78437         * lib/nanosleep.h (nanosleep): Guard declaration with
78438         `#if ! HAVE_DECL_NANOSLEEP'.
78439         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
78440         the declaration in that vendor's sys/timers.h.
78441         Reported by Christian Krackowizer.
78442
78443         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
78444         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
78445         (ISPRINT): Likewise.
78446         Reported by Tom Tromey.
78447
78448 2000-01-30  Jim Meyering  <meyering@lucent.com>
78449
78450         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
78451
78452         * m4/prereq.m4 (utmp_includes): Define.
78453         Check for ut_user and ut_name members in both struct utmpx
78454         and struct utmp.
78455
78456 2000-01-30  Jim Meyering  <meyering@lucent.com>
78457
78458         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
78459         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
78460         header files where only utmpx.ut_user is declared.
78461
78462         * lib/readutmp.h (UT_USER): Define.
78463
78464 2000-01-29  Jim Meyering  <meyering@lucent.com>
78465
78466         * m4/lib-check.m4: New file containing library-related checks from
78467         fileutils and sh-utils (textutils had none).
78468
78469 2000-01-28  Jim Meyering  <meyering@lucent.com>
78470
78471         * m4/perl.m4: Change format of warning message to look more like that
78472         from the missing script.  Suggestion from François Pinard.
78473
78474 2000-01-25  Jim Meyering  <meyering@lucent.com>
78475
78476         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
78477         well as time.h in the compile check.
78478         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
78479         Fix typo in cross-compiling case: s/yes/no/.
78480
78481 2000-01-23  Jim Meyering  <meyering@lucent.com>
78482
78483         * m4/jm-macros.m4: Move df-related tests here from
78484         fileutils/configure.in
78485
78486         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
78487         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
78488
78489         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
78490         s/space/ac_fsusage_space/.
78491         (jm_FILE_SYSTEM_USAGE): Take two parameters.
78492
78493         * m4/ftruncate.m4: New file (derived from part of
78494         fileutils/configure.in).
78495         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
78496         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
78497
78498         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
78499         AC_SUBST these here, rather than just in sh-util/configure.in, so
78500         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
78501         all the same.
78502         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
78503         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
78504         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
78505         (AC_SUBST(POW_LIBM)): Likewise.
78506         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
78507
78508 2000-01-23  Jim Meyering  <meyering@lucent.com>
78509
78510         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
78511         obstack.c.
78512
78513 2000-01-22  Jim Meyering  <meyering@lucent.com>
78514
78515         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
78516
78517         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
78518
78519         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
78520         configure.in
78521         (AC_CHECK_HEADERS): Likewise for sh-utils.
78522         (AC_CHECK_HEADERS): Likewise for textutils.
78523         Merge the three lists of headers.
78524
78525         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
78526         from fileutils' configure.in.
78527
78528         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
78529         code. Moved tests into their own function (_jm_DECL_HEADERS) in
78530         check-decl.m4.
78531
78532         * m4/check-decl.m4: Use #if rather than #ifdef.
78533         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
78534         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
78535         (_jm_DECL_HEADERS): Define new function.
78536         (jm_CHECK_DECLARATIONS): Require it.
78537
78538 2000-01-22  Jim Meyering  <meyering@lucent.com>
78539
78540         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
78541         [! HAVE_DECL_STRTOULL]: Declare strtoull.
78542         Required for some AIX systems.  Reported by Christian Krackowizer.
78543         [TESTING] (main): New function.
78544
78545         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
78546         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
78547         letters.
78548
78549         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
78550         iswprint.
78551
78552         * lib/strverscmp.c (ISDIGIT): Define.
78553         (strverscmp): Use ISDIGIT, not isdigit.
78554
78555 2000-01-19  Jim Meyering  <meyering@lucent.com>
78556
78557         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
78558         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
78559         defines `struct timespec' in <sys/time.h>
78560
78561         * m4/c-bs-a.m4: Remove uses of changequote altogether.
78562         Thanks to Akim for explaining.
78563
78564 2000-01-17  Paul Eggert  <eggert@twinsun.com>
78565
78566         * lib/nanosleep.c (nanosleep):
78567         Don't use SA_INTERRUPT to decide whether to call sigaction, as
78568         POSIX.1 doesn't require SA_INTERRUPT and some systems
78569         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
78570         it's been part of POSIX.1 since day 1 (in 1988).
78571
78572 2000-01-17  Jim Meyering  <meyering@lucent.com>
78573
78574         * lib/interlock: Remove unused file.  Reported by François Pinard.
78575
78576 2000-01-16  Paul Eggert  <eggert@twinsun.com>
78577
78578         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
78579         alert, backslash, formfeed, and vertical tab unnecessarily in
78580         shell quoting style.
78581
78582 2000-01-16  Jim Meyering  <meyering@lucent.com>
78583
78584         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
78585         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
78586         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
78587         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
78588
78589 2000-01-16  Jim Meyering  <meyering@lucent.com>
78590
78591         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
78592         because the latter didn't work.
78593
78594 2000-01-15  Jim Meyering  <meyering@lucent.com>
78595
78596         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
78597         (AC_REPLACE_FUNCS): Add memcpy and memset.
78598         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
78599         Add strpbrk.
78600         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
78601
78602 2000-01-12  Jim Meyering  <meyering@lucent.com>
78603
78604         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
78605         (jm_PREREQ): Use it.
78606         (jm_PREREQ_READUTMP): New macro.
78607         (jm_PREREQ): Use it.
78608
78609 2000-01-11  Paul Eggert  <eggert@twinsun.com>
78610
78611         Quote multibyte characters correctly.
78612         * m4/c-bs-a.m4: New file.
78613         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
78614         (jm_PREREQ): Use it.
78615
78616 2000-01-11  Paul Eggert  <eggert@twinsun.com>
78617
78618         * m4/uintmax_t.m4: Port to autoconf 2.13.
78619
78620 2000-01-08  Jim Meyering  <meyering@ascend.com>
78621
78622         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
78623         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
78624
78625 2000-01-04  Jim Meyering  <meyering@ascend.com>
78626
78627         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
78628         jm_STRUCT_DIRENT_D_TYPE.
78629         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
78630         jm_STRUCT_DIRENT_D_INO.
78631         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
78632         jm_STRUCT_UTIMBUF.
78633         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
78634         renamings.
78635         * m4/utime.m4: Likewise.
78636
78637         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
78638         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
78639
78640 2000-01-03  Paul Eggert  <eggert@twinsun.com>
78641
78642         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
78643         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
78644
78645 2000-01-02  Jim Meyering  <meyering@ascend.com>
78646
78647         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
78648         remember if this is necessary.
78649
78650 1999-12-26  Jim Meyering  <meyering@ascend.com>
78651
78652         * m4/jm-macros.m4: Use it here.
78653         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
78654
78655 1999-12-23  Jim Meyering  <meyering@ascend.com>
78656
78657         * m4/jm-macros.m4: Check for clock_gettime (moved from
78658         fileutils/configure.in)
78659         Check for gettimeofday.
78660
78661 1999-12-20  Jim Meyering  <meyering@ascend.com>
78662
78663         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
78664         autoconf-2.14a-1999-12-20.
78665
78666 1999-12-19  Jim Meyering  <meyering@ascend.com>
78667
78668         * m4/lstat-slash.m4: New file.
78669         * m4/jm-macros.m4: Use the new macro:
78670         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
78671
78672 1999-12-07  Jim Meyering  <meyering@ascend.com>
78673
78674         * m4/perl.m4: Require that File::Compare be available, too.
78675         Too many systems seem to lack it.
78676
78677         * m4/strftime.m4: Add checks for most of the cpp macros tested in
78678         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
78679
78680 1999-11-18  Paul Eggert  <eggert@twinsun.com>
78681
78682         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
78683         problem with the QNX 4.25 shell, which doesn't propagate exit
78684         status of failed commands inside shell assignments.
78685
78686 1999-11-17  Jim Meyering  <meyering@ascend.com>
78687
78688         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
78689
78690 1999-11-07  Jim Meyering  <meyering@ascend.com>
78691
78692         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
78693
78694 1999-11-06  Jim Meyering  <meyering@ascend.com>
78695
78696         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
78697         * m4/jm-macros.m4 (jm_MACROS): Use it here.
78698
78699 1999-11-05  Jim Meyering  <meyering@ascend.com>
78700
78701         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
78702         configure.in of textutils, fileutils, and sh-utils into this one
78703         (shared between those packages) file.
78704         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
78705         AC_STRUCT_ST_BLKSIZE.
78706
78707 1999-11-03  Jim Meyering  <meyering@ascend.com>
78708
78709         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
78710         of AC_CHECK_TYPE checks includes unistd.h.
78711         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
78712         Suggestion from Akim Demaille.
78713
78714 1999-10-30  Jim Meyering  <meyering@ascend.com>
78715
78716         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
78717         m4-quoted string.
78718         * m4/ls-mntd-fs.m4: Likewise.
78719         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
78720         * m4/jm-winsz1.m4: Likewise.
78721
78722         * m4/const.m4: Remove file, since the fix made it into the experimental
78723         version of autoconf.
78724         * m4/mktime.m4: Likewise.
78725
78726         * m4/check-type.m4: Remove file, now that the latest version of
78727         AC_CHECK_TYPE takes a third arg to specify additional #includes.
78728
78729         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
78730         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
78731         AC_CHECK_TYPE.
78732
78733 1999-10-04  Jim Meyering  <meyering@ascend.com>
78734
78735         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
78736
78737 1999-09-22  Paul Eggert  <eggert@twinsun.com>
78738
78739         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
78740         2.95.1 bug with HP-UX 10.20.
78741
78742 1999-09-17  Jim Meyering  <meyering@ascend.com>
78743
78744         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
78745         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
78746         due to missing strdup (against sh-utils-2.0).
78747
78748 1999-08-29  Jim Meyering  <meyering@ascend.com>
78749
78750         * m4/jm-macros.m4: Require jm_BISON.
78751         * m4/bison.m4: New file.
78752
78753 1999-08-17  Paul Eggert  <eggert@twinsun.com>
78754
78755         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
78756         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
78757
78758 1999-08-05  Jim Meyering  <meyering@ascend.com>
78759
78760         * m4/getline.m4: Rename test file from conftestdata to conftest.data
78761         to avoid conflicts with `conftest' on 8+3 filesystems.
78762         Suggestion from Eli Zaretskii.
78763
78764 1999-08-04  Jim Meyering  <meyering@ascend.com>
78765
78766         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
78767         fileutils and sh-utils (textutils's getline test was inadequate).
78768         (AM_FUNC_GETLINE): Run this test.
78769         (AC_CHECK_FUNCS): Check for getdelim.
78770         Reported by Bob Proulx.
78771
78772 1999-08-02  Jim Meyering  <meyering@ascend.com>
78773
78774         * m4/jm-macros.m4: Add a comment.
78775
78776 1999-08-01  Paul Eggert  <eggert@twinsun.com>
78777
78778         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
78779         <inttypes.h> defines strtoumax as a macro (and not as a
78780         function).
78781
78782 1999-08-01  Paul Eggert  <eggert@twinsun.com>
78783
78784         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
78785         that we can shift, multiply and divide unsigned long long
78786         values; Ultrix cc can't do it.
78787
78788 1999-08-01  Paul Eggert  <eggert@twinsun.com>
78789
78790         * m4/mktime.m4: New file, which is a preview of what should appear
78791         in the next public autoconf release.
78792
78793 1999-08-01  Paul Eggert  <eggert@twinsun.com>
78794
78795         * m4/lfs.m4: Remove this file.
78796         * m4/largefile.m4: New file.  It contains the old contents of
78797         lfs.m4, except that all names with prefix AC_LFS have been
78798         changed to use the prefix AC_SYS_LARGEFILE instead, to be
78799         compatible with future autoconf versions.  Also, some minor m4
78800         quoting problems have been fixed.
78801
78802 1999-08-01  Paul Eggert  <eggert@twinsun.com>
78803
78804         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
78805         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
78806         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
78807         and simplify the shell code.
78808
78809 1999-08-01  Jim Meyering  <meyering@ascend.com>
78810
78811         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
78812         m4.
78813
78814 1999-07-20  Jim Meyering  <meyering@ascend.com>
78815
78816         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
78817
78818 1999-07-15  Jim Meyering  <meyering@ascend.com>
78819
78820         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
78821
78822 1999-05-22  Jim Meyering  <meyering@ascend.com>
78823
78824         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
78825
78826 1999-05-20  Jim Meyering  <meyering@ascend.com>
78827
78828         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
78829         Add a colon after each `then' in case $4 is empty.
78830
78831 1999-05-16  Jim Meyering  <meyering@ascend.com>
78832
78833         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
78834
78835 1999-05-10  Jim Meyering  <meyering@ascend.com>
78836
78837         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
78838
78839         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
78840         AC_FUNC_MKTIME.
78841
78842 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
78843
78844         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
78845
78846 1999-05-04  Paul Eggert  <eggert@twinsun.com>
78847
78848         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
78849         not CPPFLAGS, so that linking works correctly in IRIX.
78850
78851 1999-04-30  Paul Eggert  <eggert@twinsun.com>
78852
78853         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
78854
78855 1999-04-20  Paul Eggert  <eggert@twinsun.com>
78856
78857         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
78858         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
78859         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
78860         jm_AC_TYPE_UNSIGNED_LONG_LONG.
78861         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
78862
78863         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
78864
78865 1999-04-20  Jim Meyering  <meyering@ascend.com>
78866
78867         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
78868         AC_REPLACE xstroull if necessary.  From Paul Eggert.
78869         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
78870
78871 1999-04-18  Jim Meyering  <meyering@ascend.com>
78872
78873         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
78874         * m4/jm-macros.m4: Use it.
78875
78876 1999-04-06  Jim Meyering  <meyering@ascend.com>
78877
78878         * m4/strftime.m4: Remove test for %f.
78879
78880 1999-03-29  Jim Meyering  <meyering@ascend.com>
78881
78882         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
78883         superset of the AC_TYPE_* checks in the textutils, fileutils,
78884         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
78885         AC_TYPE_PID_T.
78886
78887 1999-03-28  Jim Meyering  <meyering@ascend.com>
78888
78889         * m4/jm-macros.m4: Define GNU_PACKAGE here.
78890         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
78891         replaced e.g., in the *.sh files of the sh-utils.
78892
78893 1999-03-20  Jim Meyering  <meyering@ascend.com>
78894
78895         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
78896         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
78897         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
78898
78899 1999-03-19  Jim Meyering  <meyering@ascend.com>
78900
78901         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
78902
78903 1999-03-12  Jim Meyering  <meyering@ascend.com>
78904
78905         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
78906
78907 1999-03-07  Jim Meyering  <meyering@ascend.com>
78908
78909         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
78910         declared.
78911
78912 1999-02-17  Jim Meyering  <meyering@ascend.com>
78913
78914         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
78915         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
78916
78917 1999-02-07  Jim Meyering  <meyering@ascend.com>
78918
78919         * m4/group-member.m4: New file -- extracted from sh-utils'
78920         configure.in.
78921
78922         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
78923         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
78924
78925 1999-02-06  Jim Meyering  <meyering@ascend.com>
78926
78927         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
78928         * m4/fnmatch.m4: Likewise.
78929         * m4/getgroups.m4: Likewise.
78930         * m4/lstat.m4: Likewise.
78931         * m4/malloc.m4: Likewise.
78932         * m4/putenv.m4: Likewise.
78933         * m4/realloc.m4: Likewise.
78934         * m4/regex.m4: Likewise.
78935         * m4/stat.m4: Likewise.
78936         * m4/strftime.m4: Likewise.
78937         Suggestion from Alain Magloire.
78938
78939         * m4/chown.m4: Use `.$ac_objext', not `.o'.
78940         * m4/fnmatch.m4: Likewise.
78941         * m4/getgroups.m4: Likewise.
78942         * m4/getline.m4: Likewise.
78943         * m4/lstat.m4: Likewise.
78944         * m4/malloc.m4: Likewise.
78945         * m4/memcmp.m4: Likewise.
78946         * m4/putenv.m4: Likewise.
78947         * m4/realloc.m4: Likewise.
78948         * m4/regex.m4: Likewise.
78949         * m4/stat.m4: Likewise.
78950         * m4/strftime.m4: Likewise.
78951         Suggestion from Alain Magloire.
78952
78953         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
78954         an argument.
78955
78956         * m4/regex.m4: Add a run-time Test for proper operation of
78957         re_compile_pattern.
78958
78959 1999-01-31  Jim Meyering  <meyering@ascend.com>
78960
78961         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
78962
78963 1999-01-30  Jim Meyering  <meyering@ascend.com>
78964
78965         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
78966
78967         * m4/jm-mktime.m4: Make this a wrapper around the official
78968         AM_FUNC_MKTIME rather than my private copy, now that the official one
78969         is up to date.
78970         * m4/mktime.m4: Remove file.
78971
78972         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
78973         * m4/uptime.m4: Likewise.
78974         * m4/uintmax_t.m4: Likewise.
78975
78976 1999-01-28  Jim Meyering  <meyering@ascend.com>
78977
78978         * m4/jm-macros.m4: Use jm_AFS.
78979         * m4/afs.m4: New file (from fileutils' configure.in).
78980
78981         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
78982         * m4/chown.m4: Likewise.
78983         * m4/d-ino.m4: Likewise.
78984         * m4/d-type.m4: Likewise.
78985         * m4/fnmatch.m4: Likewise.
78986         * m4/getgroups.m4: Likewise.
78987         * m4/gettext.m4: Likewise.
78988         * m4/jm-mktime.m4: Likewise.
78989         * m4/jm-winsz2.m4: Likewise.
78990         * m4/lcmessage.m4: Likewise.
78991         * m4/ls-mntd-fs.m4: Likewise.
78992         * m4/malloc.m4: Likewise.
78993         * m4/memcmp.m4: Likewise.
78994         * m4/putenv.m4: Likewise.
78995         * m4/realloc.m4: Likewise.
78996         * m4/st_mtim.m4: Likewise.
78997         * m4/strftime.m4: Likewise.
78998
78999 1999-01-16  Jim Meyering  <meyering@ascend.com>
79000
79001         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
79002         (ARGMATCH_DIE_DECL): Define.
79003
79004 1999-01-12  Jim Meyering  <meyering@ascend.com>
79005
79006         * m4/Makefile.am.in: Rewrite to avoid using fmt.
79007         Reported by Lars Hecking.
79008
79009 1999-01-10  Jim Meyering  <meyering@ascend.com>
79010
79011         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
79012         gross kludge.
79013         * m4/inttypes_h.m4: Likewise.
79014         * m4/lstat.m4: Likewise.
79015         * m4/malloc.m4: Likewise.
79016         * m4/readdir.m4: Likewise.
79017         * m4/realloc.m4: Likewise.
79018         * m4/st_dm_mode.m4: Likewise.
79019         * m4/stat.m4: Likewise.
79020         * m4/utimbuf.m4: Likewise.
79021         * m4/utimes.m4: Likewise.
79022
79023         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
79024         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
79025         comments in config.h.in are meaningful.
79026
79027         * m4/jm-macros.m4: Require autoconf-2.13 here.
79028
79029         * m4/regex.m4: By default, don't use the included regex.c on systems
79030         with glibc 2.  Suggestion from Uli Drepper.
79031
79032 1999-01-02  Jim Meyering  <meyering@ascend.com>
79033
79034         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
79035
79036 1998-12-18  Jim Meyering  <meyering@ascend.com>
79037
79038         * m4/Makefile.am.in (Makefile.am): Simplify rule.
79039         Based on a suggestion from Lars Hecking.
79040
79041 1998-11-16  Paul Eggert  <eggert@twinsun.com>
79042
79043         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
79044
79045 1998-11-16  Jim Meyering  <meyering@ascend.com>
79046
79047         * m4/lfs.m4: Double-quote the `uname...` expression.
79048
79049 1998-11-14  Jim Meyering  <meyering@ascend.com>
79050
79051         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
79052         * m4/stat.m4: Likewise.
79053
79054 1998-11-03  Jim Meyering  <meyering@ascend.com>
79055
79056         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
79057         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
79058
79059 1998-10-18  Jim Meyering  <meyering@ascend.com>
79060
79061         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
79062
79063 1998-10-17  Jim Meyering  <meyering@ascend.com>
79064
79065         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
79066         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
79067         calls for those previously hard-coded headers.  Instead, take a new
79068         parameter.
79069         (jm_CHECK_DECLARATIONS): Reflect interface change.
79070         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
79071         (jm_CHECK_DECL_LOCALTIME_R): New macro.
79072
79073         * m4/mktime.m4: Test for spring-forward gap before long-running test.
79074
79075 1998-10-14  Jim Meyering  <meyering@ascend.com>
79076
79077         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
79078         instead of "TZ=America/Vancouver".  From Paul Eggert.
79079
79080 1998-10-11  Jim Meyering  <meyering@ascend.com>
79081
79082         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
79083         This adds a test for a recently added compatibility fix for mktime.c.
79084         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
79085
79086 1998-09-27  Jim Meyering  <meyering@ascend.com>
79087
79088         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
79089
79090         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
79091         ../configure.in, including a change from Gordon Matzigkeit to allow
79092         cross-compiling for the Hurd.
79093
79094         * m4/glibc.m4: New file/macro to test for the GNU C Library
79095         versions 1 and 2.  From Gordon Matzigkeit.
79096         Indent.
79097
79098 1998-09-21  Jim Meyering  <meyering@ascend.com>
79099
79100         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
79101
79102 1998-08-18  Paul Eggert  <eggert@twinsun.com>
79103
79104         Port nanosecond-resolution times to UnixWare 2.1.2 and
79105         pedantic Solaris 2.6.
79106
79107         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
79108         AC_STRUCT_ST_MTIM.
79109         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
79110         Generate name of ns member, instead of just 1 or undef.
79111         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
79112
79113 1998-08-15  Jim Meyering  <meyering@ascend.com>
79114
79115         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
79116         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
79117         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
79118         instead of jm_TYPE_SSIZE_T.
79119
79120 1998-08-12  Jim Meyering  <meyering@ascend.com>
79121
79122         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
79123
79124 1998-08-02  Jim Meyering  <meyering@ascend.com>
79125
79126         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
79127         in acconfig.h manually.
79128
79129 1998-07-31  Paul Eggert  <eggert@twinsun.com>
79130
79131         * m4/st_mtim.m4: New file.
79132
79133 1998-07-28  Jim Meyering  <meyering@ascend.com>
79134
79135         * m4/utimes.m4: Undef stat.
79136
79137 1998-07-25  Jim Meyering  <meyering@ascend.com>
79138
79139         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
79140         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
79141
79142 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
79143
79144         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
79145         uid and gid actually remain unchanged.
79146
79147 1998-07-07  Jim Meyering  <meyering@ascend.com>
79148
79149         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
79150
79151 1998-07-04  Jim Meyering  <meyering@ascend.com>
79152
79153         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
79154         to prove that this macro can be used in packages without regex.c.
79155
79156 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
79157
79158         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
79159         is to be used.
79160
79161 1998-07-03  Jim Meyering  <meyering@ascend.com>
79162
79163         * m4/gettext.m4: Add -lintl if it's found to be necessary.
79164
79165         * m4/gettext.m4: New file -- from gettext-0.10.35.
79166         * m4/lcmessage.m4: Likewise.
79167         * m4/progtest.m4: Likewise.
79168
79169         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
79170         * m4/jm-macros.m4: Require the new macro.
79171
79172 1998-06-29  Jim Meyering  <meyering@ascend.com>
79173
79174         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
79175         for the definition of NGROUPS (used in a system header included
79176         by sys/mount.h).
79177
79178 1998-06-28  Jim Meyering  <meyering@ascend.com>
79179
79180         * m4/ls-mntd-fs.m4: New file.
79181         * m4/fstypename.m4: New file.
79182
79183         * m4/jm-macros.m4: Require the new macro.
79184         * m4/jm-glibc-io.m4: New file.
79185
79186 1998-05-19  Jim Meyering  <meyering@ascend.com>
79187
79188         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
79189         * m4/lchown.m4: New file.
79190
79191         * m4/Makefile.am.in: New file.
79192         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
79193
79194 1998-05-14  Jim Meyering  <meyering@ascend.com>
79195
79196         * m4/Makefile.am (EXTRA_DIST): Add them.
79197         * m4/jm-macros.m4: New file.
79198         * m4/utimbuf.m4: New file.
79199
79200 1998-05-12  Jim Meyering  <meyering@ascend.com>
79201
79202         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
79203
79204 1998-05-11  Jim Meyering  <meyering@ascend.com>
79205
79206         * m4/isc-posix.m4: New file.
79207
79208 1998-05-10  Jim Meyering  <meyering@ascend.com>
79209
79210         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
79211
79212 1998-05-09  Jim Meyering  <meyering@ascend.com>
79213
79214         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
79215         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
79216         with automake.
79217
79218         * m4/ssize_t.m4: New file.
79219         * m4/mktime.m4: Remove file -- the new automake has this now.
79220
79221 1998-04-26  Jim Meyering  <meyering@ascend.com>
79222
79223         * m4/assert.m4: New file.
79224         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
79225
79226 1998-04-05  Jim Meyering  <meyering@ascend.com>
79227
79228         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
79229         (jm_PREREQ): Use it here.
79230
79231 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
79232
79233         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
79234         in acconfig.h.
79235
79236 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
79237
79238         * m4/prereq.m4: New file.
79239         * m4/error.m4: New file.
79240         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
79241
79242 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
79243
79244         * m4/getline.m4: Don't set am_cv_func_working_getline before the
79245         cache-check for the same variable -- that defeated the purpose of
79246         the test; the test program was never run.  This was a problem only
79247         on systems with losing getline functions -- HP-UX 10.20 is one.
79248         Reported by Bjorn Helgaas.
79249
79250 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
79251
79252         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
79253
79254 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
79255
79256         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
79257
79258         * m4/const.m4: New file.  Use an initializer in this declaration
79259         typedef int charset[2]; const charset x;
79260         Reported by Bob Glickstein.
79261
79262 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
79263
79264         * m4/chown.m4: Fix reversed types on -1 args to chown.
79265         From Kaveh Ghazi.
79266
79267 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
79268
79269         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
79270         Add lseek and memchr.
79271
79272         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
79273         T.E.Dickey <dickey@clark.net> said that some older preprocessors
79274         have a 20-character limit on names.
79275
79276 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
79277
79278         * m4/inttypes_h.m4: New file.
79279         * m4/uintmax_t.m4: New file.
79280         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
79281
79282
79283         -----
79284
79285         Local Variables:
79286         coding: utf-8
79287         End:
79288
79289         Copyright (C) 1997-2011 Free Software Foundation, Inc.
79290
79291         Copying and distribution of this file, with or without
79292         modification, are permitted provided the copyright notice
79293         and this notice are preserved.